diff --git a/common/goos/PrettyPrinter2.cpp b/common/goos/PrettyPrinter2.cpp index 0f790d89fe..a31ab6b844 100644 --- a/common/goos/PrettyPrinter2.cpp +++ b/common/goos/PrettyPrinter2.cpp @@ -215,9 +215,12 @@ void break_list(Node* node) { // things with 5 things in the top line: (defskelgroup jgeo janim node->top_line_count = 5; node->sub_elt_indent += name.size(); + } else if (name == "process-new") { + // things with 3 things in the top line + node->top_line_count = 3; + node->sub_elt_indent += name.size(); } else if (name == "ja" || name == "ja-no-eval") { - // things with 2 things in the top line: (ja <:key value> - node->top_line_count = 2; + node->top_line_count = 3; node->sub_elt_indent += name.size(); } else if (name == "defmethod") { // things with 4 things in the top line: (defmethod @@ -368,6 +371,7 @@ void append_node_to_string(const Node* node, str.pop_back(); } str.push_back('\n'); + bool after_key = false; for (; node_idx < node->child_nodes.size(); node_idx++) { if (node->kind == Node::Kind::IMPROPER_LIST && &node->child_nodes.at(node_idx) == &node->child_nodes.back()) { @@ -376,9 +380,17 @@ void append_node_to_string(const Node* node, } str.append(".\n"); } - append_node_to_string(&node->child_nodes.at(node_idx), str, listing_indent, - listing_indent); - str.push_back('\n'); + append_node_to_string(&node->child_nodes.at(node_idx), str, + after_key ? 0 : listing_indent, listing_indent); + if (node->child_nodes.at(node_idx).kind == Node::Kind::ATOM && + node->child_nodes.at(node_idx).atom_str.at(0) == ':' && + node->child_nodes.at(node_idx).atom_str.find(' ') == std::string::npos) { + str.push_back(' '); + after_key = true; + } else { + str.push_back('\n'); + after_key = false; + } } for (int i = 0; i < listing_indent; i++) { str.push_back(' '); diff --git a/common/util/print_float.cpp b/common/util/print_float.cpp index e7fb4a139f..24646ccc76 100644 --- a/common/util/print_float.cpp +++ b/common/util/print_float.cpp @@ -69,6 +69,13 @@ std::string fixed_point_to_string(s64 value, s64 scale, bool append_trailing_dec ASSERT_MSG(false, fmt::format("fixed_point_to_string failed hard. v: {} s: {}", value, scale)); } +/*! + * Wrapper around fixed_point_to_string, for printing seconds. + */ +std::string seconds_to_string(s64 value, bool append_trailing_decimal) { + return fixed_point_to_string(value, TICKS_PER_SECOND, append_trailing_decimal); +} + int float_to_cstr(float value, char* buffer, bool append_trailing_decimal) { ASSERT(std::isfinite(value)); // dragonbox gives us: diff --git a/common/util/print_float.h b/common/util/print_float.h index a18677dd2e..7445e92e84 100644 --- a/common/util/print_float.h +++ b/common/util/print_float.h @@ -6,4 +6,5 @@ std::string fixed_point_to_string(s64 value, s64 scale, bool append_trailing_decimal = false); std::string float_to_string(float value, bool append_trailing_decimal = true); std::string meters_to_string(float value, bool append_trailing_decimal = false); +std::string seconds_to_string(s64 value, bool append_trailing_decimal = false); int float_to_cstr(float value, char* buffer, bool append_trailing_decimal = true); diff --git a/decompiler/IR2/Form.cpp b/decompiler/IR2/Form.cpp index f6f3b44877..750e0f0735 100644 --- a/decompiler/IR2/Form.cpp +++ b/decompiler/IR2/Form.cpp @@ -2491,6 +2491,10 @@ void LetElement::make_let_star() { m_star = true; } +void LetElement::clear_let_star() { + m_star = false; +} + goos::Object LetElement::to_form_internal(const Env& env) const { std::vector outer = {pretty_print::to_symbol(m_star ? "let*" : "let")}; diff --git a/decompiler/IR2/Form.h b/decompiler/IR2/Form.h index a598013b1b..2687fe4283 100644 --- a/decompiler/IR2/Form.h +++ b/decompiler/IR2/Form.h @@ -420,6 +420,10 @@ class SetFormFormElement : public FormElement { const Form* dst() const { return m_dst; } Form* src() { return m_src; } Form* dst() { return m_dst; } + const std::optional& cast_for_set() const { return m_cast_for_set; } + const std::optional& cast_for_define() const { return m_cast_for_define; } + void set_cast_for_set(const std::optional& ts) { m_cast_for_set = ts; } + void set_cast_for_define(const std::optional& ts) { m_cast_for_define = ts; } private: int m_real_push_count = 0; @@ -1096,6 +1100,7 @@ class CastElement : public FormElement { const Form* source() const { return m_source; } void set_type(const TypeSpec& ts) { m_type = ts; } Form* source() { return m_source; } + bool numeric() const { return m_numeric; } private: TypeSpec m_type; @@ -1379,6 +1384,7 @@ class DecompiledDataElement : public FormElement { void get_modified_regs(RegSet& regs) const override; void do_decomp(const Env& env, const LinkedObjectFile* file); DecompilerLabel label() const { return m_label; } + std::optional label_info() const { return m_label_info; } private: bool m_decompiled = false; @@ -1393,6 +1399,7 @@ class LetElement : public FormElement { void add_def(RegisterAccess dst, Form* value); void make_let_star(); + void clear_let_star(); goos::Object to_form_internal(const Env& env) const override; void apply(const std::function& f) override; void apply_form(const std::function& f) override; @@ -1431,6 +1438,12 @@ class CounterLoopElement : public FormElement { void collect_vars(RegAccessSet& vars, bool recursive) const override; void get_modified_regs(RegSet& regs) const override; bool allow_in_if() const override { return false; } + Kind kind() const { return m_kind; } + Form* counter_value() const { return m_check_value; } + Form* body() const { return m_body; } + RegisterAccess var_init() const { return m_var_init; } + RegisterAccess var_check() const { return m_var_check; } + RegisterAccess var_inc() const { return m_var_inc; } private: RegisterAccess m_var_init, m_var_check, m_var_inc; diff --git a/decompiler/IR2/FormExpressionAnalysis.cpp b/decompiler/IR2/FormExpressionAnalysis.cpp index e83d89d9c3..6f0ecea42f 100644 --- a/decompiler/IR2/FormExpressionAnalysis.cpp +++ b/decompiler/IR2/FormExpressionAnalysis.cpp @@ -1777,10 +1777,7 @@ void SimpleExpressionElement::update_from_stack_logor_or_logand(const Env& env, Matcher::op(GenericOpMatcher::fixed(FixedOperatorKind::LOGAND), {Matcher::any(a_form), lognot_submatchers})}); - Form hack_form; - hack_form.elts().push_back(element); - - auto mr = match(logclear_matcher, &hack_form); + auto mr = match(logclear_matcher, element); if (mr.matched) { result->push_back(pool.alloc_element( GenericOperator::make_fixed(FixedOperatorKind::LOGCLEAR), @@ -1798,7 +1795,7 @@ void SimpleExpressionElement::update_from_stack_logor_or_logand(const Env& env, Matcher::integer(32)}), Matcher::op_fixed(FixedOperatorKind::ASM_SLLV_R0, {Matcher::any_reg(1)})}); - auto handle_mr = match(make_handle_matcher, &hack_form); + auto handle_mr = match(make_handle_matcher, element); if (handle_mr.matched) { auto var_a = handle_mr.maps.regs.at(0).value(); auto var_b = handle_mr.maps.regs.at(1).value(); @@ -2572,10 +2569,7 @@ bool try_to_rewrite_vector_inline_ctor(const Env& env, auto matcher = Matcher::set(Matcher::deref(Matcher::any_reg(0), false, token_matchers), Matcher::cast("uint128", Matcher::integer(0))); - Form hack; - hack.elts().push_back(elt); - auto mr = match(matcher, &hack); - + auto mr = match(matcher, elt); if (mr.matched) { if (var_name != env.get_variable_name(*mr.maps.regs.at(0))) { return false; @@ -2631,10 +2625,7 @@ bool try_to_rewrite_matrix_inline_ctor(const Env& env, FormPool& pool, FormStack DerefTokenMatcher::string("quad")}), Matcher::cast("uint128", Matcher::integer(0))); - Form hack; - hack.elts().push_back(elt); - auto mr = match(matcher, &hack); - + auto mr = match(matcher, elt); if (mr.matched) { if (var_name != env.get_variable_name(*mr.maps.regs.at(0))) { return false; @@ -3489,7 +3480,7 @@ Form* try_rewrite_as_ja_group(CondNoElseElement* value, auto body = value->entries[0].body; // safe to look for a reg directly here. - auto condition_matcher = Matcher::fixed_op( + auto condition_matcher = Matcher::op_fixed( FixedOperatorKind::GT, {Matcher::deref(Matcher::s6(), false, {DerefTokenMatcher::string("skel"), DerefTokenMatcher::string("active-channels")}), @@ -4948,8 +4939,8 @@ void DynamicMethodAccess::update_from_stack(const Env& env, // (+ (* method-id 4) (the-as int child-type)) auto mult_matcher = - Matcher::fixed_op(FixedOperatorKind::MULTIPLICATION, {reg0_matcher, Matcher::integer(4)}); - auto matcher = Matcher::fixed_op(FixedOperatorKind::ADDITION, {mult_matcher, reg1_matcher}); + Matcher::op_fixed(FixedOperatorKind::MULTIPLICATION, {reg0_matcher, Matcher::integer(4)}); + auto matcher = Matcher::op_fixed(FixedOperatorKind::ADDITION, {mult_matcher, reg1_matcher}); auto match_result = match(matcher, new_val); if (!match_result.matched) { throw std::runtime_error("Could not match DynamicMethodAccess values: " + @@ -4989,8 +4980,8 @@ void ArrayFieldAccess::update_with_val(Form* new_val, // (&+ data-ptr ) auto matcher = Matcher::match_or( - {Matcher::fixed_op(FixedOperatorKind::ADDITION, {base_matcher, offset_matcher}), - Matcher::fixed_op(FixedOperatorKind::ADDITION_PTR, {base_matcher, offset_matcher})}); + {Matcher::op_fixed(FixedOperatorKind::ADDITION, {base_matcher, offset_matcher}), + Matcher::op_fixed(FixedOperatorKind::ADDITION_PTR, {base_matcher, offset_matcher})}); auto match_result = match(matcher, new_val); if (!match_result.matched) { @@ -5024,17 +5015,17 @@ void ArrayFieldAccess::update_with_val(Form* new_val, Matcher::cast("uint", Matcher::any(0)), Matcher::any(0)}); auto reg1_matcher = Matcher::match_or({Matcher::cast("uint", Matcher::any(1)), Matcher::any(1)}); - auto mult_matcher = Matcher::fixed_op(FixedOperatorKind::MULTIPLICATION, + auto mult_matcher = Matcher::op_fixed(FixedOperatorKind::MULTIPLICATION, {reg1_matcher, Matcher::integer(m_expected_stride)}); mult_matcher = Matcher::match_or({Matcher::cast("uint", mult_matcher), mult_matcher}); auto matcher = Matcher::match_or( - {Matcher::fixed_op(FixedOperatorKind::ADDITION, {reg0_matcher, mult_matcher}), - Matcher::fixed_op(FixedOperatorKind::ADDITION_PTR, {reg0_matcher, mult_matcher})}); + {Matcher::op_fixed(FixedOperatorKind::ADDITION, {reg0_matcher, mult_matcher}), + Matcher::op_fixed(FixedOperatorKind::ADDITION_PTR, {reg0_matcher, mult_matcher})}); auto match_result = match(matcher, new_val); if (!match_result.matched) { matcher = Matcher::match_or( - {Matcher::fixed_op(FixedOperatorKind::ADDITION, {mult_matcher, reg0_matcher}), - Matcher::fixed_op(FixedOperatorKind::ADDITION_PTR, {mult_matcher, reg0_matcher})}); + {Matcher::op_fixed(FixedOperatorKind::ADDITION, {mult_matcher, reg0_matcher}), + Matcher::op_fixed(FixedOperatorKind::ADDITION_PTR, {mult_matcher, reg0_matcher})}); match_result = match(matcher, new_val); if (!match_result.matched) { result->push_back(this); @@ -5107,7 +5098,7 @@ void ArrayFieldAccess::update_with_val(Form* new_val, auto reg1_matcher = Matcher::match_or({Matcher::cast("int", Matcher::any(1)), Matcher::cast("uint", Matcher::any(1)), Matcher::any(1)}); - auto matcher = Matcher::fixed_op(FixedOperatorKind::ADDITION, {reg0_matcher, reg1_matcher}); + auto matcher = Matcher::op_fixed(FixedOperatorKind::ADDITION, {reg0_matcher, reg1_matcher}); auto match_result = match(matcher, new_val); if (!match_result.matched) { throw std::runtime_error("Could not match ArrayFieldAccess (stride 1) values: " + @@ -5135,18 +5126,18 @@ void ArrayFieldAccess::update_with_val(Form* new_val, auto reg1_matcher = Matcher::match_or({Matcher::cast("uint", Matcher::any(1)), Matcher::cast("int", Matcher::any(1)), Matcher::any(1)}); - auto mult_matcher = Matcher::fixed_op(FixedOperatorKind::MULTIPLICATION, + auto mult_matcher = Matcher::op_fixed(FixedOperatorKind::MULTIPLICATION, {reg0_matcher, Matcher::integer(m_expected_stride)}); mult_matcher = Matcher::match_or({Matcher::cast("uint", mult_matcher), mult_matcher}); - auto matcher = Matcher::fixed_op(FixedOperatorKind::ADDITION, {mult_matcher, reg1_matcher}); - matcher = Matcher::match_or({matcher, Matcher::fixed_op(FixedOperatorKind::ADDITION_PTR, + auto matcher = Matcher::op_fixed(FixedOperatorKind::ADDITION, {mult_matcher, reg1_matcher}); + matcher = Matcher::match_or({matcher, Matcher::op_fixed(FixedOperatorKind::ADDITION_PTR, {reg1_matcher, mult_matcher})}); auto match_result = match(matcher, new_val); Form* idx = nullptr; Form* base = nullptr; // TODO - figure out why it sometimes happens the other way. if (!match_result.matched) { - matcher = Matcher::fixed_op(FixedOperatorKind::ADDITION, {reg1_matcher, mult_matcher}); + matcher = Matcher::op_fixed(FixedOperatorKind::ADDITION, {reg1_matcher, mult_matcher}); match_result = match(matcher, new_val); if (!match_result.matched) { throw std::runtime_error("Could not match ArrayFieldAccess (stride power of 2) values: " + diff --git a/decompiler/IR2/GenericElementMatcher.cpp b/decompiler/IR2/GenericElementMatcher.cpp index 139bdc3e96..7ee43c656b 100644 --- a/decompiler/IR2/GenericElementMatcher.cpp +++ b/decompiler/IR2/GenericElementMatcher.cpp @@ -30,6 +30,14 @@ Matcher Matcher::op(const GenericOpMatcher& op, const std::vector& args return m; } +Matcher Matcher::func(const Matcher& matcher, const std::vector& args) { + return Matcher::op(GenericOpMatcher::func(matcher), args); +} + +Matcher Matcher::func(const std::string& name, const std::vector& args) { + return Matcher::op(GenericOpMatcher::func(Matcher::constant_token(name)), args); +} + Matcher Matcher::op_fixed(FixedOperatorKind op, const std::vector& args) { return Matcher::op(GenericOpMatcher::fixed(op), args); } @@ -42,12 +50,12 @@ Matcher Matcher::op_with_rest(const GenericOpMatcher& op, const std::vector& args) { - Matcher m; - m.m_kind = Kind::GENERIC_OP; - m.m_gen_op_matcher = std::make_shared(GenericOpMatcher::fixed(op)); - m.m_sub_matchers = args; - return m; +Matcher Matcher::func_with_rest(const Matcher& matcher, const std::vector& args) { + return Matcher::op_with_rest(GenericOpMatcher::func(matcher), args); +} + +Matcher Matcher::func_with_rest(const std::string& name, const std::vector& args) { + return Matcher::op_with_rest(GenericOpMatcher::func(Matcher::constant_token(name)), args); } Matcher Matcher::match_or(const std::vector& args) { @@ -86,6 +94,13 @@ Matcher Matcher::any_integer(int match_id) { return m; } +Matcher Matcher::single(std::optional value) { + Matcher m; + m.m_kind = Kind::FLOAT; + m.m_float_match = value; + return m; +} + Matcher Matcher::any_quoted_symbol(int match_id) { Matcher m; m.m_kind = Kind::ANY_QUOTED_SYMBOL; @@ -257,27 +272,7 @@ bool Matcher::do_match(Form* input, MatchResult::Maps* maps_out) const { } } break; - case Kind::GENERIC_OP: { - auto as_generic = dynamic_cast(input->try_as_single_active_element()); - if (as_generic) { - if (!m_gen_op_matcher->do_match(as_generic->op(), maps_out)) { - return false; - } - - if (as_generic->elts().size() != m_sub_matchers.size()) { - return false; - } - - for (size_t i = 0; i < m_sub_matchers.size(); i++) { - if (!m_sub_matchers.at(i).do_match(as_generic->elts().at(i), maps_out)) { - return false; - } - } - return true; - } - return false; - } break; - + case Kind::GENERIC_OP: case Kind::GENERIC_OP_WITH_REST: { auto as_generic = dynamic_cast(input->try_as_single_active_element()); if (as_generic) { @@ -285,7 +280,9 @@ bool Matcher::do_match(Form* input, MatchResult::Maps* maps_out) const { return false; } - if (as_generic->elts().size() < m_sub_matchers.size()) { + if ((m_kind == Kind::GENERIC_OP && as_generic->elts().size() != m_sub_matchers.size()) || + (m_kind == Kind::GENERIC_OP_WITH_REST && + as_generic->elts().size() < m_sub_matchers.size())) { return false; } @@ -351,7 +348,7 @@ bool Matcher::do_match(Form* input, MatchResult::Maps* maps_out) const { auto as_expr = dynamic_cast(input->try_as_single_active_element()); if (as_expr && as_expr->expr().is_identity()) { - auto atom = as_expr->expr().get_arg(0); + const auto& atom = as_expr->expr().get_arg(0); if (atom.is_int()) { if (!m_int_match.has_value()) { return true; @@ -363,6 +360,19 @@ bool Matcher::do_match(Form* input, MatchResult::Maps* maps_out) const { return false; } break; + case Kind::FLOAT: { + auto as_const_float = + dynamic_cast(input->try_as_single_active_element()); + if (as_const_float) { + if (!m_float_match.has_value()) { + return true; + } + return as_const_float->value() == *m_float_match; + } + + return false; + } break; + case Kind::ANY_INT: { auto as_simple_atom = dynamic_cast(input->try_as_single_active_element()); if (as_simple_atom) { @@ -376,7 +386,7 @@ bool Matcher::do_match(Form* input, MatchResult::Maps* maps_out) const { auto as_expr = dynamic_cast(input->try_as_single_active_element()); if (as_expr && as_expr->expr().is_identity()) { - auto atom = as_expr->expr().get_arg(0); + const auto& atom = as_expr->expr().get_arg(0); if (atom.is_int()) { if (m_int_out_id != -1) { maps_out->ints[m_int_out_id] = atom.get_int(); @@ -401,7 +411,7 @@ bool Matcher::do_match(Form* input, MatchResult::Maps* maps_out) const { auto as_expr = dynamic_cast(input->try_as_single_active_element()); if (as_expr && as_expr->expr().is_identity()) { - auto atom = as_expr->expr().get_arg(0); + const auto& atom = as_expr->expr().get_arg(0); if (atom.is_sym_ptr()) { if (m_string_out_id != -1) { maps_out->strings[m_string_out_id] = atom.get_str(); @@ -425,7 +435,7 @@ bool Matcher::do_match(Form* input, MatchResult::Maps* maps_out) const { auto as_expr = dynamic_cast(input->try_as_single_active_element()); if (as_expr && as_expr->expr().is_identity()) { - auto atom = as_expr->expr().get_arg(0); + const auto& atom = as_expr->expr().get_arg(0); if (atom.is_sym_val()) { if (m_string_out_id != -1) { maps_out->strings[m_string_out_id] = atom.get_str(); @@ -446,7 +456,7 @@ bool Matcher::do_match(Form* input, MatchResult::Maps* maps_out) const { auto as_expr = dynamic_cast(input->try_as_single_active_element()); if (as_expr && as_expr->expr().is_identity()) { - auto atom = as_expr->expr().get_arg(0); + const auto& atom = as_expr->expr().get_arg(0); if (atom.is_sym_val()) { return atom.get_str() == m_str; } diff --git a/decompiler/IR2/GenericElementMatcher.h b/decompiler/IR2/GenericElementMatcher.h index 4aeb19a577..3f3df55456 100644 --- a/decompiler/IR2/GenericElementMatcher.h +++ b/decompiler/IR2/GenericElementMatcher.h @@ -37,16 +37,20 @@ class Matcher { static Matcher reg(Register reg); static inline Matcher s6() { return Matcher::reg(Register(Reg::GPR, Reg::S6)); } static Matcher op(const GenericOpMatcher& op, const std::vector& args); + static Matcher func(const Matcher& match, const std::vector& args); + static Matcher func(const std::string& name, const std::vector& args); static Matcher op_fixed(FixedOperatorKind op, const std::vector& args); static Matcher op_with_rest(const GenericOpMatcher& op, const std::vector& args); + static Matcher func_with_rest(const Matcher& match, const std::vector& args); + static Matcher func_with_rest(const std::string& name, const std::vector& args); static Matcher set(const Matcher& dst, const Matcher& src); // form-form static Matcher set_var(const Matcher& src, int dst_match_id); // var-form - static Matcher fixed_op(FixedOperatorKind op, const std::vector& args); static Matcher match_or(const std::vector& args); static Matcher cast(const std::string& type, Matcher value); static Matcher any(int match_id = -1); static Matcher integer(std::optional value); static Matcher any_integer(int match_id = -1); + static Matcher single(std::optional value); static Matcher any_reg_cast_to_int_or_uint(int match_id = -1); static Matcher any_quoted_symbol(int match_id = -1); static Matcher any_symbol(int match_id = -1); @@ -73,6 +77,7 @@ class Matcher { ANY, INT, ANY_INT, + FLOAT, ANY_QUOTED_SYMBOL, ANY_SYMBOL, DEREF_OP, @@ -105,6 +110,7 @@ class Matcher { int m_label_out_id = -1; int m_int_out_id = -1; std::optional m_int_match; + std::optional m_float_match; std::optional m_reg; std::string m_str; }; diff --git a/decompiler/IR2/bitfields.cpp b/decompiler/IR2/bitfields.cpp index 4af6d6a0e1..0cd7b97522 100644 --- a/decompiler/IR2/bitfields.cpp +++ b/decompiler/IR2/bitfields.cpp @@ -547,8 +547,7 @@ FormElement* BitfieldAccessElement::push_step(const BitfieldManip step, BitFieldDef def; def.field_name = field->name(); - def.value = pool.alloc_single_element_form( - nullptr, SimpleAtom::make_int_constant(set_value)); + def.value = pool.form(SimpleAtom::make_int_constant(set_value)); return pool.alloc_element(m_type, m_base, m_got_pcpyud, std::vector{def}); } @@ -580,8 +579,7 @@ FormElement* BitfieldAccessElement::push_step(const BitfieldManip step, BitFieldDef def; def.field_name = field->name(); - def.value = pool.alloc_single_element_form( - nullptr, SimpleAtom::make_int_constant(set_value)); + def.value = pool.form(SimpleAtom::make_int_constant(set_value)); return pool.alloc_element(m_type, m_base, m_got_pcpyud, std::vector{def}); } @@ -711,14 +709,11 @@ BitFieldDef BitFieldDef::from_constant(const BitFieldConstantDef& constant, Form for (auto& x : constant.nested_field->fields) { defs.push_back(BitFieldDef::from_constant(x, pool)); } - bfd.value = pool.alloc_single_element_form( - nullptr, constant.nested_field->field_type, defs); + bfd.value = pool.form(constant.nested_field->field_type, defs); } else if (constant.enum_constant) { - bfd.value = - pool.alloc_single_element_form(nullptr, *constant.enum_constant); + bfd.value = pool.form(*constant.enum_constant); } else { - bfd.value = pool.alloc_single_element_form( - nullptr, SimpleAtom::make_int_constant(constant.value)); + bfd.value = pool.form(SimpleAtom::make_int_constant(constant.value)); } return bfd; @@ -758,8 +753,7 @@ Form* cast_sound_name(FormPool& pool, const Env& env, Form* in) { } } - return pool.alloc_single_element_form( - nullptr, fmt::format("(static-sound-name \"{}\")", name)); + return pool.form(fmt::format("(static-sound-name \"{}\")", name)); } std::optional> get_field_defs_from_expr(const BitFieldType* type_info, @@ -821,8 +815,7 @@ std::optional> get_field_defs_from_expr(const BitFieldT float value_f; u32 value_i = *integer; memcpy(&value_f, &value_i, 4); - maybe_field->value = - pool.alloc_single_element_form(nullptr, value_f); + maybe_field->value = pool.form(value_f); } } @@ -859,7 +852,7 @@ Form* cast_to_bitfield(const BitFieldType* type_info, return as_sound_name; } // just do a normal cast if that failed. - return pool.alloc_single_element_form(nullptr, typespec, in); + return pool.form(typespec, in); } // check if it's just a constant: @@ -869,17 +862,16 @@ Form* cast_to_bitfield(const BitFieldType* type_info, auto fields = try_decompile_bitfield_from_int(typespec, env.dts->ts, in_as_atom->get_int(), false, {}); if (!fields) { - return pool.alloc_single_element_form(nullptr, typespec, in); + return pool.form(typespec, in); } - return pool.alloc_single_element_form(nullptr, typespec, *fields, - pool); + return pool.form(typespec, *fields, pool); } bool bitfield_128 = type_info->get_size_in_memory() == 16; if (bitfield_128) { auto in_no_cast = strip_int_or_uint_cast(in); auto pcpyld_matcher = - Matcher::fixed_op(FixedOperatorKind::PCPYLD, {Matcher::any(0), Matcher::any(1)}); + Matcher::op_fixed(FixedOperatorKind::PCPYLD, {Matcher::any(0), Matcher::any(1)}); auto mr = match(pcpyld_matcher, in_no_cast); if (mr.matched) { auto upper = mr.maps.forms.at(0); @@ -890,22 +882,20 @@ Form* cast_to_bitfield(const BitFieldType* type_info, if (upper_defs && lower_defs) { lower_defs->insert(lower_defs->end(), upper_defs->begin(), upper_defs->end()); - return pool.alloc_single_element_form(nullptr, typespec, - *lower_defs); + return pool.form(typespec, *lower_defs); } } - return pool.alloc_single_element_form(nullptr, typespec, in); + return pool.form(typespec, in); } else { // dynamic bitfield def auto field_defs = get_field_defs_from_expr(type_info, in, typespec, pool, env, {}); if (field_defs) { - return pool.alloc_single_element_form(nullptr, typespec, - *field_defs); + return pool.form(typespec, *field_defs); } } // all failed, just return whatever. - return pool.alloc_single_element_form(nullptr, typespec, in); + return pool.form(typespec, in); } Form* cast_to_bitfield_enum(const EnumType* type_info, @@ -919,7 +909,7 @@ Form* cast_to_bitfield_enum(const EnumType* type_info, return cast_to_bitfield_enum(type_info, pool, env, *integer); } else { // all failed, just return whatever. - return pool.alloc_single_element_form(nullptr, typespec, in); + return pool.form(typespec, in); } } @@ -934,29 +924,39 @@ Form* cast_to_int_enum(const EnumType* type_info, return cast_to_int_enum(type_info, pool, env, *integer); } else { // all failed, just return whatever. - return pool.alloc_single_element_form(nullptr, typespec, in); + return pool.form(typespec, in); } } Form* cast_to_int_enum(const EnumType* type_info, FormPool& pool, const Env& env, s64 in) { ASSERT(!type_info->is_bitfield()); auto entry = decompile_int_enum_from_int(TypeSpec(type_info->get_name()), env.dts->ts, in); - auto oper = GenericOperator::make_function( - pool.alloc_single_element_form(nullptr, type_info->get_name())); - return pool.alloc_single_element_form( - nullptr, oper, pool.alloc_single_element_form(nullptr, entry)); + auto oper = + GenericOperator::make_function(pool.form(type_info->get_name())); + return pool.form(oper, pool.form(entry)); } -Form* cast_to_bitfield_enum(const EnumType* type_info, FormPool& pool, const Env& env, s64 in) { +Form* cast_to_bitfield_enum(const EnumType* type_info, + FormPool& pool, + const Env& env, + s64 in, + bool no_head) { ASSERT(type_info->is_bitfield()); auto elts = decompile_bitfield_enum_from_int(TypeSpec(type_info->get_name()), env.dts->ts, in); + if (no_head) { + ASSERT(elts.size() >= 1); + } auto oper = GenericOperator::make_function( - pool.alloc_single_element_form(nullptr, type_info->get_name())); + pool.form(no_head ? elts.at(0) : type_info->get_name())); + if (no_head) { + elts.erase(elts.begin()); + } + std::vector form_elts; for (auto& x : elts) { - form_elts.push_back(pool.alloc_single_element_form(nullptr, x)); + form_elts.push_back(pool.form(x)); } - return pool.alloc_single_element_form(nullptr, oper, form_elts); + return pool.form(oper, form_elts); } } // namespace decompiler diff --git a/decompiler/IR2/bitfields.h b/decompiler/IR2/bitfields.h index 2c92513fce..0f43bf5447 100644 --- a/decompiler/IR2/bitfields.h +++ b/decompiler/IR2/bitfields.h @@ -203,7 +203,11 @@ Form* cast_to_int_enum(const EnumType* type_info, Form* in); Form* cast_to_int_enum(const EnumType* type_info, FormPool& pool, const Env& env, s64 in); -Form* cast_to_bitfield_enum(const EnumType* type_info, FormPool& pool, const Env& env, s64 in); +Form* cast_to_bitfield_enum(const EnumType* type_info, + FormPool& pool, + const Env& env, + s64 in, + bool no_head = false); std::optional get_goal_integer_constant(Form* in, const Env&); diff --git a/decompiler/ObjectFile/ObjectFileDB.h b/decompiler/ObjectFile/ObjectFileDB.h index 7fdccfc0f8..f0daf965eb 100644 --- a/decompiler/ObjectFile/ObjectFileDB.h +++ b/decompiler/ObjectFile/ObjectFileDB.h @@ -62,10 +62,79 @@ struct LetRewriteStats { int set_vector = 0; int set_vector2 = 0; int send_event = 0; + int font_context_meth = 0; + int proc_new = 0; + int attack_info = 0; + int vector_dot = 0; + int rand_float_gen = 0; int total() const { return dotimes + countdown + abs + abs2 + unused + ja + case_no_else + case_with_else + - set_vector + set_vector2 + send_event; + set_vector + set_vector2 + send_event + font_context_meth + proc_new + attack_info + + vector_dot + rand_float_gen; + } + + std::string print() const { + std::string out; + out += fmt::format("LET REWRITE STATS: {} total\n", total()); + out += fmt::format(" dotimes: {}\n", dotimes); + out += fmt::format(" countdown: {}\n", countdown); + out += fmt::format(" abs: {}\n", abs); + out += fmt::format(" abs2: {}\n", abs2); + out += fmt::format(" ja: {}\n", ja); + out += fmt::format(" set_vector: {}\n", set_vector); + out += fmt::format(" set_vector2: {}\n", set_vector2); + out += fmt::format(" case_no_else: {}\n", case_no_else); + out += fmt::format(" case_with_else: {}\n", case_with_else); + out += fmt::format(" unused: {}\n", unused); + out += fmt::format(" send_event: {}\n", send_event); + // out += fmt::format(" font_context_meth: {}\n", font_context_meth); + out += fmt::format(" proc_new: {}\n", proc_new); + out += fmt::format(" attack_info: {}\n", attack_info); + out += fmt::format(" vector_dot: {}\n", vector_dot); + out += fmt::format(" rand_float_gen: {}\n", rand_float_gen); + return out; + } + + LetRewriteStats operator+(const LetRewriteStats& other) { + LetRewriteStats result; + result.dotimes = dotimes + other.dotimes; + result.countdown = countdown + other.countdown; + result.abs = abs + other.abs; + result.abs2 = abs2 + other.abs2; + result.ja = ja + other.ja; + result.set_vector = set_vector + other.set_vector; + result.set_vector2 = set_vector2 + other.set_vector2; + result.case_no_else = case_no_else + other.case_no_else; + result.case_with_else = case_with_else + other.case_with_else; + result.unused = unused + other.unused; + result.send_event = send_event + other.send_event; + result.font_context_meth = font_context_meth + other.font_context_meth; + result.proc_new = proc_new + other.proc_new; + result.attack_info = attack_info + other.attack_info; + result.vector_dot = vector_dot + other.vector_dot; + result.rand_float_gen = rand_float_gen + other.rand_float_gen; + return result; + } + + LetRewriteStats& operator+=(const LetRewriteStats& other) { + dotimes += other.dotimes; + countdown += other.countdown; + abs += other.abs; + abs2 += other.abs2; + ja += other.ja; + set_vector += other.set_vector; + set_vector2 += other.set_vector2; + case_no_else += other.case_no_else; + case_with_else += other.case_with_else; + unused += other.unused; + send_event += other.send_event; + font_context_meth += other.font_context_meth; + proc_new += other.proc_new; + attack_info += other.attack_info; + vector_dot += other.vector_dot; + rand_float_gen += other.rand_float_gen; + return *this; } }; diff --git a/decompiler/ObjectFile/ObjectFileDB_IR2.cpp b/decompiler/ObjectFile/ObjectFileDB_IR2.cpp index 968f64ca82..f9ffd7e7c7 100644 --- a/decompiler/ObjectFile/ObjectFileDB_IR2.cpp +++ b/decompiler/ObjectFile/ObjectFileDB_IR2.cpp @@ -106,19 +106,7 @@ void ObjectFileDB::analyze_functions_ir2( fmt::print("Done in {:.2f}ms\n", file_timer.getMs()); }); - int total = stats.let.total(); - lg::info("LET REWRITE STATS: {} total", total); - lg::info(" dotimes: {}", stats.let.dotimes); - lg::info(" countdown: {}", stats.let.countdown); - lg::info(" abs: {}", stats.let.abs); - lg::info(" abs2: {}", stats.let.abs2); - lg::info(" ja: {}", stats.let.ja); - lg::info(" set_vector: {}", stats.let.set_vector); - lg::info(" set_vector2: {}", stats.let.set_vector2); - lg::info(" case_no_else: {}", stats.let.case_no_else); - lg::info(" case_with_else: {}", stats.let.case_with_else); - lg::info(" unused: {}", stats.let.unused); - lg::info(" send_event: {}", stats.let.send_event); + lg::info("{}", stats.let.print()); if (config.generate_symbol_definition_map) { lg::info("Generating symbol definition map..."); diff --git a/decompiler/analysis/insert_lets.cpp b/decompiler/analysis/insert_lets.cpp index 3b2de1336a..6416efc266 100644 --- a/decompiler/analysis/insert_lets.cpp +++ b/decompiler/analysis/insert_lets.cpp @@ -1,8 +1,12 @@ #include #include #include +#include +#include "common/util/Assert.h" +#include "common/util/print_float.h" #include "decompiler/IR2/GenericElementMatcher.h" +#include "decompiler/IR2/bitfields.h" #include "decompiler/util/DecompilerTypeSystem.h" #include "insert_lets.h" @@ -36,6 +40,8 @@ If the previous let variables appear in the definition of new one, make the let */ namespace { +FormElement* rewrite_let(LetElement* in, const Env& env, FormPool& pool, LetRewriteStats& stats); + std::vector path_up_tree(Form* in, const Env&) { std::vector path; @@ -121,10 +127,9 @@ FormElement* rewrite_as_dotimes(LetElement* in, const Env& env, FormPool& pool) // still have to check body for the increment and have to check that the lt operates on the right // thing. - Matcher while_matcher = - Matcher::while_loop(Matcher::op(GenericOpMatcher::fixed(FixedOperatorKind::LT), - {Matcher::any_reg(0), Matcher::any(1)}), - Matcher::any(2)); + Matcher while_matcher = Matcher::while_loop( + Matcher::op_fixed(FixedOperatorKind::LT, {Matcher::any_reg(0), Matcher::any(1)}), + Matcher::any(2)); auto mr = match(while_matcher, in->body()); if (!mr.matched) { @@ -142,14 +147,10 @@ FormElement* rewrite_as_dotimes(LetElement* in, const Env& env, FormPool& pool) auto body = mr.maps.forms.at(2); auto last_in_body = body->elts().back(); - // kind hacky - Form fake_form; - fake_form.elts().push_back(last_in_body); - Matcher increment_matcher = - Matcher::op(GenericOpMatcher::fixed(FixedOperatorKind::ADDITION_IN_PLACE), - {Matcher::any_reg(0), Matcher::integer(1)}); + Matcher increment_matcher = Matcher::op_fixed(FixedOperatorKind::ADDITION_IN_PLACE, + {Matcher::any_reg(0), Matcher::integer(1)}); - auto int_mr = match(increment_matcher, &fake_form); + auto int_mr = match(increment_matcher, last_in_body); if (!int_mr.matched) { return nullptr; } @@ -170,13 +171,151 @@ FormElement* rewrite_as_dotimes(LetElement* in, const Env& env, FormPool& pool) mr.maps.forms.at(1), body); } -FormElement* rewrite_as_send_event(LetElement* in, const Env& env, FormPool& pool) { +std::tuple rewrite_shelled_return_form( + const Matcher& matcher, + FormElement* in, + const Env& env, + FormPool& pool, + std::function func, + const TypeSpec* const strip_cast) { + auto mr = match(matcher, in); + + // TODO check forbidden form + if (!mr.matched) { + auto as_set = dynamic_cast(in); + if (as_set) { + auto sub_res = rewrite_shelled_return_form(matcher, as_set->src()->try_as_single_element(), + env, pool, func, strip_cast); + + if (std::get<0>(sub_res).matched) { + if (std::get<2>(sub_res) && strip_cast) { + // strip lowest-level (pointer ) cast. + if (as_set->cast_for_set() && env.dts->ts.tc(*as_set->cast_for_set(), *strip_cast)) { + as_set->set_cast_for_set({}); + } + if (as_set->cast_for_define() && + env.dts->ts.tc(*as_set->cast_for_define(), *strip_cast)) { + as_set->set_cast_for_define({}); + } + } + return {std::get<0>(sub_res), + pool.form(as_set->dst(), std::get<1>(sub_res), + as_set->cast_for_set(), as_set->cast_for_define()), + false}; + } + } + + auto as_cast = dynamic_cast(in); + if (as_cast) { + auto sub_res = rewrite_shelled_return_form( + matcher, as_cast->source()->try_as_single_element(), env, pool, func, strip_cast); + + if (std::get<0>(sub_res).matched) { + if (std::get<2>(sub_res) && strip_cast && env.dts->ts.tc(as_cast->type(), *strip_cast)) { + // strip lowest-level (pointer ) cast instead. + return {std::get<0>(sub_res), std::get<1>(sub_res), false}; + } + return {std::get<0>(sub_res), + pool.form(as_cast->type(), std::get<1>(sub_res), as_cast->numeric()), + false}; + } + } + + auto as_gen = dynamic_cast(in); + if (as_gen) { + int i = 0; + int m = as_gen->elts().size(); + for (; i < m; ++i) { + auto sub_res = rewrite_shelled_return_form( + matcher, as_gen->elts().at(i)->try_as_single_element(), env, pool, func, strip_cast); + + if (std::get<0>(sub_res).matched) { + std::vector shell_args; + for (int ii = 0; ii < m; ++ii) { + if (ii == i) { + shell_args.push_back(std::get<1>(sub_res)); + } else { + shell_args.push_back(as_gen->elts().at(ii)); + } + } + + return {std::get<0>(sub_res), pool.form(as_gen->op(), shell_args), false}; + } + } + } + + auto as_cond_ne = dynamic_cast(in); + if (as_cond_ne) { + auto sub_res = rewrite_shelled_return_form( + matcher, as_cond_ne->entries.at(0).condition->try_as_single_element(), env, pool, func, + strip_cast); + + if (std::get<0>(sub_res).matched) { + as_cond_ne->entries.at(0).condition = std::get<1>(sub_res); + return {std::get<0>(sub_res), pool.form(as_cond_ne->entries), false}; + } + } + + auto as_cond_e = dynamic_cast(in); + if (as_cond_e) { + auto sub_res = rewrite_shelled_return_form( + matcher, as_cond_e->entries.at(0).condition->try_as_single_element(), env, pool, func, + strip_cast); + + if (std::get<0>(sub_res).matched) { + as_cond_e->entries.at(0).condition = std::get<1>(sub_res); + return {std::get<0>(sub_res), + pool.form(as_cond_e->entries, as_cond_e->else_ir), false}; + } + } + + auto as_while = dynamic_cast(in); + if (as_while) { + auto sub_res = rewrite_shelled_return_form( + matcher, as_while->condition->try_as_single_element(), env, pool, func, strip_cast); + + if (std::get<0>(sub_res).matched) { + return {std::get<0>(sub_res), pool.form(std::get<1>(sub_res), as_while->body), + false}; + } + } + + auto as_counter = dynamic_cast(in); + if (as_counter) { + auto sub_res = + rewrite_shelled_return_form(matcher, as_counter->counter_value()->try_as_single_element(), + env, pool, func, strip_cast); + + if (std::get<0>(sub_res).matched) { + return {std::get<0>(sub_res), + pool.form(as_counter->kind(), as_counter->var_init(), + as_counter->var_check(), as_counter->var_inc(), + std::get<1>(sub_res), as_counter->body()), + false}; + } + } + + return {mr, nullptr, false}; + } + + auto new_f = func(in, mr, env, pool); + if (!new_f) { + mr.matched = false; + } + return {mr, new_f, true}; +} + +FormElement* rewrite_as_send_event(LetElement* in, + const Env& env, + FormPool& pool, + LetRewriteStats& stats) { if (in->entries().size() != 1) { return nullptr; } // (let ((block-var (new 'stack-no-clear 'event-message-block)) auto block_var = in->entries().at(0).dest; + const auto& block_var_reg = block_var.reg(); auto block_var_name = env.get_variable_name(block_var); auto block_src = in->entries().at(0).src->try_as_element(); if (!block_src) { @@ -201,29 +340,22 @@ FormElement* rewrite_as_send_event(LetElement* in, const Env& env, FormPool& poo //////////////////////////////////////////////////////// // (set! (-> block-var from) ) bool not_proc = false; - Matcher set_from_matcher = - Matcher::set(Matcher::deref(Matcher::any_reg(0), false, {DerefTokenMatcher::string("from")}), - Matcher::any_reg(1)); - Form set_from_hack_body; - set_from_hack_body.elts().push_back(body->at(0)); - auto from_mr = match(set_from_matcher, &set_from_hack_body); + Matcher set_from_matcher = Matcher::set( + Matcher::deref(Matcher::reg(block_var_reg), false, {DerefTokenMatcher::string("from")}), + Matcher::any_reg(1)); + auto from_mr = match(set_from_matcher, body->at(0)); if (!from_mr.matched) { // initial matcher failed. try more advanced "from" matcher now. Matcher set_from_form_matcher = Matcher::set( Matcher::deref(Matcher::any_reg(0), false, {DerefTokenMatcher::string("from")}), Matcher::any(1)); - from_mr = match(set_from_form_matcher, &set_from_hack_body); + from_mr = match(set_from_form_matcher, body->at(0)); if (!from_mr.matched) { return nullptr; } not_proc = true; } - if (env.get_variable_name(*from_mr.maps.regs.at(0)) != block_var_name) { - // fmt::print(" fail: from2\n"); - return nullptr; - } - // if we couldnt match with simple reg matching that means it's a more complex form. if (!not_proc) { auto from_var = *from_mr.maps.regs.at(1); @@ -236,19 +368,13 @@ FormElement* rewrite_as_send_event(LetElement* in, const Env& env, FormPool& poo //////////////////////////////////////////////////////// // (set! (-> a1-14 num-params) param-count) where param-count is a constant integer Matcher set_num_params_matcher = Matcher::set( - Matcher::deref(Matcher::any_reg(0), false, {DerefTokenMatcher::string("num-params")}), + Matcher::deref(Matcher::reg(block_var_reg), false, {DerefTokenMatcher::string("num-params")}), Matcher::any_integer(1)); - Form set_num_params_hack_body; - set_num_params_hack_body.elts().push_back(body->at(1)); - auto num_params_mr = match(set_num_params_matcher, &set_num_params_hack_body); + auto num_params_mr = match(set_num_params_matcher, body->at(1)); if (!num_params_mr.matched) { // fmt::print(" fail: pc1\n"); return nullptr; } - if (env.get_variable_name(*num_params_mr.maps.regs.at(0)) != block_var_name) { - // fmt::print(" fail: pc2\n"); - return nullptr; - } int param_count = num_params_mr.maps.ints.at(1); ASSERT(param_count >= 0 && param_count < 7); if (body->size() != 4 + param_count) { @@ -259,41 +385,37 @@ FormElement* rewrite_as_send_event(LetElement* in, const Env& env, FormPool& poo //////////////////////////////////////////////////////// // (set! (-> a1-14 message) the-message-name) Matcher set_message_matcher = Matcher::set( - Matcher::deref(Matcher::any_reg(0), false, {DerefTokenMatcher::string("message")}), + Matcher::deref(Matcher::reg(block_var_reg), false, {DerefTokenMatcher::string("message")}), Matcher::any(1)); - Form set_message_hack_body; - set_message_hack_body.elts().push_back(body->at(2)); - auto set_message_mr = match(set_message_matcher, &set_message_hack_body); + auto set_message_mr = match(set_message_matcher, body->at(2)); if (!set_message_mr.matched) { // fmt::print(" fail: msg1\n"); return nullptr; } - if (env.get_variable_name(*set_message_mr.maps.regs.at(0)) != block_var_name) { - // fmt::print(" fail: msg2\n"); - return nullptr; - } Form* message_name = set_message_mr.maps.forms.at(1); //////////////////////////////////////////////////////// // (set! (-> a1-14 param X) the-param-value) std::vector param_values; for (int param_idx = 0; param_idx < param_count; param_idx++) { + auto as_let = dynamic_cast(body->at(3 + param_idx)); + if (as_let) { + auto rewritten = rewrite_let(as_let, env, pool, stats); + if (rewritten) { + body->at(3 + param_idx) = rewritten; + rewritten->parent_form = body; + } + } auto set_form = body->at(3 + param_idx); Matcher set_param_matcher = Matcher::set( - Matcher::deref(Matcher::any_reg(0), false, + Matcher::deref(Matcher::reg(block_var_reg), false, {DerefTokenMatcher::string("param"), DerefTokenMatcher::integer(param_idx)}), Matcher::any(1)); - Form set_param_hack_body; - set_param_hack_body.elts().push_back(set_form); - auto set_param_mr = match(set_param_matcher, &set_param_hack_body); + auto set_param_mr = match(set_param_matcher, set_form); if (!set_param_mr.matched) { // fmt::print(" fail: pv {} 1: {}\n", param_idx, set_form->to_string(env)); return nullptr; } - if (env.get_variable_name(*set_param_mr.maps.regs.at(0)) != block_var_name) { - // fmt::print(" fail: pv {} 2\n", param_idx); - return nullptr; - } auto param_val = set_param_mr.maps.forms.at(1); auto param_val_cast = param_val->try_as_element(); @@ -301,50 +423,73 @@ FormElement* rewrite_as_send_event(LetElement* in, const Env& env, FormPool& poo if (param_val_cast && param_val_cast->type() == TypeSpec("uint")) { param_val = param_val_cast->source(); } + + // fancy casting if necessary + if (param_val->to_form(env).is_int()) { + auto msg_str = message_name->to_string(env); + auto val = param_val->to_form(env).as_int(); + if (val && + ((param_idx == 1 && (msg_str == "'change-state" || msg_str == "'change-state-no-go" || + msg_str == "'art-joint-anim")) || + (param_idx == 0 && (msg_str == "'no-look-around" || msg_str == "'no-load-wait" || + msg_str == "'force-blend")))) { + param_val = pool.form( + GenericOperator::make_function(pool.form("seconds")), + pool.form(seconds_to_string(param_val->to_form(env).as_int()))); + } else if (param_idx == 1) { + auto parm0_str = param_values.at(0)->to_string(env); + if (parm0_str == "'powerup" || parm0_str == "'pickup") { + auto enum_ts = env.dts->ts.try_enum_lookup("pickup-type"); + if (enum_ts) { + param_val = cast_to_int_enum(enum_ts, pool, env, param_val->to_form(env).as_int()); + } + } + } + } + param_values.push_back(param_val); } //////////////////////////////////////////////////////// // (send-event-function ) Matcher call_matcher = Matcher::op(GenericOpMatcher::func(Matcher::symbol("send-event-function")), - {Matcher::any(0), Matcher::any_reg(1)}); - Form call_hack_body; - call_hack_body.elts().push_back(body->at(3 + param_count)); - auto call_mr = match(call_matcher, &call_hack_body); - if (!call_mr.matched) { - // fmt::print(" fail: call1: {}\n", body->at(3 + param_count)->to_string(env)); + {Matcher::any(0), Matcher::reg(block_var_reg)}); + auto mr_with_shell = rewrite_shelled_return_form( + call_matcher, body->at(3 + param_count), env, pool, + [&](FormElement* s_in, const MatchResult& mr, const Env& env, FormPool& pool) { + Form* send_destination = mr.maps.forms.at(0); + + // time to build the macro! + std::vector macro_args = {send_destination, message_name}; + if (not_proc) { + // something was going on with from. build :from key. + macro_args.push_back(pool.form(":from")); + // fill in the value for it + if (from_mr.maps.forms.find(1) != from_mr.maps.forms.end()) { + // matched some form. we can just copy it. + macro_args.push_back(from_mr.maps.forms.at(1)); + } else { + // matched reg but it wasnt s6 + macro_args.push_back(alloc_var_form(*from_mr.maps.regs.at(1), pool)); + } + } + for (int i = 0; i < param_count; i++) { + macro_args.push_back(param_values.at(i)); + } + + auto oper = GenericOperator::make_fixed(FixedOperatorKind::SEND_EVENT); + return pool.form(oper, macro_args); + }, + nullptr); + + if (!std::get<0>(mr_with_shell).matched) { + lg::error("shell match failed, dont know this form: {}", + body->at(3 + param_count)->to_string(env)); return nullptr; } - if (env.get_variable_name(*call_mr.maps.regs.at(1)) != block_var_name) { - // fmt::print(" fail: call2\n"); - return nullptr; - } - - Form* send_destination = call_mr.maps.forms.at(0); - - // time to build the macro! - std::vector macro_args = {send_destination, message_name}; - if (not_proc) { - // something was going on with from. build :from key. - macro_args.push_back(pool.form(":from")); - // fill in the value for it - if (from_mr.maps.forms.find(1) != from_mr.maps.forms.end()) { - // matched some form. we can just copy it. - macro_args.push_back(from_mr.maps.forms.at(1)); - } else { - // matched reg but it wasnt s6 - macro_args.push_back(alloc_var_form(*from_mr.maps.regs.at(1), pool)); - } - } - for (int i = 0; i < param_count; i++) { - macro_args.push_back(param_values.at(i)); - } - - auto oper = GenericOperator::make_fixed(FixedOperatorKind::SEND_EVENT); - return pool.alloc_element(oper, macro_args); - - return nullptr; + auto elt = std::get<1>(mr_with_shell)->try_as_single_element(); + return elt; } FormElement* rewrite_as_countdown(LetElement* in, const Env& env, FormPool& pool) { @@ -392,14 +537,10 @@ FormElement* rewrite_as_countdown(LetElement* in, const Env& env, FormPool& pool auto body = mr.maps.forms.at(2); auto first_in_body = body->elts().front(); - // kind hacky - Form fake_form; - fake_form.elts().push_back(first_in_body); - Matcher increment_matcher = - Matcher::op(GenericOpMatcher::fixed(FixedOperatorKind::ADDITION_IN_PLACE), - {Matcher::any_reg(0), Matcher::integer(-1)}); + Matcher increment_matcher = Matcher::op_fixed(FixedOperatorKind::ADDITION_IN_PLACE, + {Matcher::any_reg(0), Matcher::integer(-1)}); - auto int_mr = match(increment_matcher, &fake_form); + auto int_mr = match(increment_matcher, first_in_body); if (!int_mr.matched) { return nullptr; } @@ -438,8 +579,7 @@ FormElement* fix_up_abs(LetElement* in, const Env& env, FormPool& pool) { Form* src = in->entries().at(0).src; - auto body_matcher = - Matcher::op(GenericOpMatcher::fixed(FixedOperatorKind::ABS), {Matcher::any_reg(0)}); + auto body_matcher = Matcher::op_fixed(FixedOperatorKind::ABS, {Matcher::any_reg(0)}); auto mr = match(body_matcher, in->body()); if (!mr.matched) { return nullptr; @@ -492,8 +632,7 @@ FormElement* fix_up_abs_2(LetElement* in, const Env& env, FormPool& pool) { return nullptr; } - auto matcher = - Matcher::op(GenericOpMatcher::fixed(FixedOperatorKind::ABS), {Matcher::any_reg(0)}); + auto matcher = Matcher::op_fixed(FixedOperatorKind::ABS, {Matcher::any_reg(0)}); auto mr = match(matcher, first_as_set->src()); if (!mr.matched) { @@ -664,8 +803,8 @@ FormElement* rewrite_as_case_no_else(LetElement* in, const Env& env, FormPool& p for (auto& e : cond->entries) { // first, lets see if its just (= case_var ) - auto single_matcher = Matcher::op(GenericOpMatcher::fixed(FixedOperatorKind::EQ), - {Matcher::any_reg(0), Matcher::any(1)}); + auto single_matcher = + Matcher::op_fixed(FixedOperatorKind::EQ, {Matcher::any_reg(0), Matcher::any(1)}); auto single_matcher_result = match(single_matcher, e.condition); @@ -739,8 +878,8 @@ FormElement* rewrite_as_case_with_else(LetElement* in, const Env& env, FormPool& for (auto& e : cond->entries) { // first, lets see if its just (= case_var ) - auto single_matcher = Matcher::op(GenericOpMatcher::fixed(FixedOperatorKind::EQ), - {Matcher::any_reg(0), Matcher::any(1)}); + auto single_matcher = + Matcher::op_fixed(FixedOperatorKind::EQ, {Matcher::any_reg(0), Matcher::any(1)}); auto single_matcher_result = match(single_matcher, e.condition); @@ -834,19 +973,13 @@ Form* match_ja_set(const Env& env, return mr.maps.forms.at(1); } -void ja_push_form_to_args(const Env& env, - FormPool& pool, +void ja_push_form_to_args(FormPool& pool, std::vector& args, Form* form, const std::string& key_name) { if (form) { - auto text = form->to_form(env).print(); - if (text.length() > 50) { - args.push_back(pool.form(fmt::format(":{}", key_name))); - args.push_back(form); - } else { - args.push_back(pool.form(fmt::format(":{} {}", key_name, text))); - } + args.push_back(pool.form(fmt::format(":{}", key_name))); + args.push_back(form); } } @@ -874,8 +1007,6 @@ FormElement* rewrite_joint_macro(LetElement* in, const Env& env, FormPool& pool) return nullptr; } - auto test = in->to_form(env).print(); - // look for setting a var to (-> self skel root-channel ,channel). // yes, channel is actually not always just 0! auto ra = in->entries().at(0).dest; @@ -974,7 +1105,7 @@ FormElement* rewrite_joint_macro(LetElement* in, const Env& env, FormPool& pool) auto form_fg = set_fg ? set_fg : arg_group; auto matcher_max_num = Matcher::cast( "float", - Matcher::fixed_op( + Matcher::op_fixed( FixedOperatorKind::ADDITION, {form_fg ? Matcher::deref(Matcher::any(1), false, @@ -992,13 +1123,13 @@ FormElement* rewrite_joint_macro(LetElement* in, const Env& env, FormPool& pool) // check the channel arg auto channel_arg = channel_form->to_form(env); if (!channel_arg.is_int(0)) { - ja_push_form_to_args(env, pool, args, channel_form, "chan"); + ja_push_form_to_args(pool, args, channel_form, "chan"); } if (func_status != NO_FUNC) { // check the group! arg if (form_fg) { - ja_push_form_to_args(env, pool, args, strip_cast("art-joint-anim", form_fg), "group!"); + ja_push_form_to_args(pool, args, strip_cast("art-joint-anim", form_fg), "group!"); } const std::string prelim_num = @@ -1094,9 +1225,9 @@ FormElement* rewrite_joint_macro(LetElement* in, const Env& env, FormPool& pool) num_form = pool.form(prelim_num); } - ja_push_form_to_args(env, pool, args, num_form, "num!"); + ja_push_form_to_args(pool, args, num_form, "num!"); } else if (form_fg) { - ja_push_form_to_args(env, pool, args, strip_cast("art-joint-anim", form_fg), "group!"); + ja_push_form_to_args(pool, args, strip_cast("art-joint-anim", form_fg), "group!"); } if (set_fn) { @@ -1108,13 +1239,13 @@ FormElement* rewrite_joint_macro(LetElement* in, const Env& env, FormPool& pool) } // other generic args - ja_push_form_to_args(env, pool, args, set_fi, "frame-interp"); - ja_push_form_to_args(env, pool, args, set_dist, "dist"); - // ja_push_form_to_args(env, pool, args, form_fg, "frame-group"); - ja_push_form_to_args(env, pool, args, set_p0, "param0"); - ja_push_form_to_args(env, pool, args, set_p1, "param1"); - ja_push_form_to_args(env, pool, args, set_nf, "num-func"); - ja_push_form_to_args(env, pool, args, set_fn, "frame-num"); + ja_push_form_to_args(pool, args, set_fi, "frame-interp"); + ja_push_form_to_args(pool, args, set_dist, "dist"); + // ja_push_form_to_args(pool, args, form_fg, "frame-group"); + ja_push_form_to_args(pool, args, set_p0, "param0"); + ja_push_form_to_args(pool, args, set_p1, "param1"); + ja_push_form_to_args(pool, args, set_nf, "num-func"); + ja_push_form_to_args(pool, args, set_fn, "frame-num"); // TODO if (set_fn2) { @@ -1124,7 +1255,8 @@ FormElement* rewrite_joint_macro(LetElement* in, const Env& env, FormPool& pool) return nullptr; } if (set_p0 || set_p1) { - lg::error("[{}] JA MACRO ERROR something still using params: {}", env.func->name(), test); + lg::error("[{}] JA MACRO ERROR something still using params: {}", env.func->name(), + in->to_form(env).print()); ASSERT(false); return nullptr; } @@ -1135,6 +1267,320 @@ FormElement* rewrite_joint_macro(LetElement* in, const Env& env, FormPool& pool) args); } +FormElement* rewrite_proc_new(LetElement* in, const Env& env, FormPool& pool) { + // this function checks for the process-spawn macros. + // it uses recursive form scanning to wrap the macro inside a potential "shell" + // which means this is probably slow and bad + + auto is_full_let = in->entries().size() == 1 && in->body()->size() == 1; + if (!(is_full_let || (in->entries().size() == 2))) { + return nullptr; + } + + auto test = in->to_form(env).print(); + + // look for setting a var to (get-process *default-dead-pool* logo-slave #x4000) + auto ra = in->entries().at(0).dest; + auto var = env.get_variable_name(ra); + auto mr_get_proc = match( + Matcher::func("get-process", {Matcher::any(0), Matcher::any_symbol(1), Matcher::any(2)}), + in->entries().at(0).src); + if (!mr_get_proc.matched) { + return nullptr; + } + + const auto& proc_type = mr_get_proc.maps.strings.at(1); + auto macro_form = + is_full_let ? in->body()->at(0) : in->entries().at(1).src->try_as_single_element(); + + auto cast_type = TypeSpec("pointer", {TypeSpec(proc_type)}); + auto mr_with_shell = rewrite_shelled_return_form( + Matcher::if_no_else( + Matcher::op(GenericOpMatcher::condition(IR2_Condition::Kind::TRUTHY), + {Matcher::reg(ra.reg())}), + Matcher::begin( + {Matcher::any(0), + Matcher::func_with_rest( + Matcher::match_or({Matcher::constant_token("run-now-in-process"), + Matcher::constant_token("run-next-time-in-process")}), + {Matcher::reg(ra.reg()), Matcher::any(1)}), + Matcher::any(2)})), + macro_form, env, pool, + [&](FormElement* s_in, const MatchResult& mr, const Env& env, FormPool& pool) { + auto as_when = dynamic_cast(s_in); + const auto& when_body = as_when->entries.front().body->elts(); + + // there's a let with an activate inside it that we want to check first + auto as_let = dynamic_cast(when_body.at(0)); + if (!as_let || as_let->entries().size() != 1 || as_let->body()->size() != 1) { + return (Form*)nullptr; + } + + auto as_func = dynamic_cast(when_body.at(1)); + if (!as_func) { + return (Form*)nullptr; + } + bool is_next_time = + as_func->op().func()->to_form(env).is_symbol("run-next-time-in-process"); + + auto has_unused_let = dynamic_cast(when_body.at(2)); + auto matcher_unused_let = + Matcher::deref(Matcher::reg(ra.reg()), false, {DerefTokenMatcher::string("ppointer")}); + if (has_unused_let) { + auto new_pptr = rewrite_empty_let(has_unused_let, env, pool); + if (!new_pptr || !match(matcher_unused_let, new_pptr).matched) { + return (Form*)nullptr; + } + } else if (!match(matcher_unused_let, when_body.at(2)).matched) { + return (Form*)nullptr; + } + + auto mr_activate_func = match( + Matcher::op_fixed(FixedOperatorKind::METHOD_OF_TYPE, + {Matcher::symbol(proc_type), Matcher::constant_token("activate")}), + as_let->entries().at(0).src); + + if (!mr_activate_func.matched) { + return (Form*)nullptr; + } + + auto activate_func_ra = as_let->entries().at(0).dest; + + auto mr_ac_call = + match(Matcher::func( + Matcher::reg(activate_func_ra.reg()), + {proc_type == "process" ? Matcher::reg(ra.reg()) + : Matcher::cast(proc_type, Matcher::reg(ra.reg())), + Matcher::any(0), Matcher::any(1), Matcher::any(2)}), + as_let->body()->at(0)); + + if (!mr_ac_call.matched) { + return (Form*)nullptr; + } + + // ok done checking that stuff, now make the macro! + // once again, I should just make a new element for it. but... so lazy... + + std::string head = is_next_time ? "process-spawn-function" : "process-spawn"; + std::vector args; + + // type and init func + if (is_next_time) { + args.push_back(pool.form(proc_type)); + args.push_back(as_func->elts().at(1)); + } else { + auto init_func = as_func->elts().at(1)->to_form(env); + if (init_func.is_symbol("manipy-init") && proc_type == "manipy") { + head = "manipy-spawn"; + } else { + args.push_back(pool.form(proc_type)); + if (!init_func.is_symbol(fmt::format("{}-init-by-other", proc_type))) { + ja_push_form_to_args(pool, args, as_func->elts().at(1), "init"); + } + } + } + + // args + // this would be a great place to do some hacky stuff! hmm, maybe i will... + for (int i = 2; i < as_func->elts().size(); ++i) { + args.push_back(as_func->elts().at(i)); + } + + if (mr_ac_call.maps.forms.at(1)->to_string(env) != fmt::format("'{}", proc_type)) { + ja_push_form_to_args(pool, args, mr_ac_call.maps.forms.at(1), "name"); + } + if (!mr_get_proc.maps.forms.at(0)->to_form(env).is_symbol("*default-dead-pool*")) { + args.push_back(pool.form(":from")); + args.push_back(mr_get_proc.maps.forms.at(0)); + } + if (!mr_ac_call.maps.forms.at(0)->to_form(env).is_symbol("*default-pool*")) { + args.push_back(pool.form(":to")); + args.push_back(mr_ac_call.maps.forms.at(0)); + } + auto stack_arg = mr_ac_call.maps.forms.at(2)->to_string(env); + if (stack_arg == "(&-> *dram-stack* 14336)") { + // special case! + ja_push_form_to_args(pool, args, pool.form("*kernel-dram-stack*"), + "stack"); + } else if (stack_arg != "(the-as pointer #x70004000)") { + ja_push_form_to_args(pool, args, mr_ac_call.maps.forms.at(2), "stack"); + } + if (!mr_get_proc.maps.forms.at(2)->to_form(env).is_int(0x4000)) { + ja_push_form_to_args(pool, args, mr_get_proc.maps.forms.at(2), "stack-size"); + } + + return pool.form( + GenericOperator::make_function(pool.form(head)), args); + }, + &cast_type); + + if (!std::get<0>(mr_with_shell).matched) { + lg::error("shell match failed, dont know this form: {}", macro_form->to_string(env)); + return nullptr; + } + + if (!is_full_let) { + // we're actually just editing entries in a let here. + + // delete us. + in->entries().erase(in->entries().begin()); + // set the value of the new first entry to the macro + in->entries().at(0).src = std::get<1>(mr_with_shell); + in->entries().at(0).src->parent_element = in; + + // return us but modified? + return in; + } + + auto elt = std::get<1>(mr_with_shell)->try_as_single_element(); + ASSERT(elt); + return elt; +} + +FormElement* rewrite_attack_info(LetElement* in, const Env& env, FormPool& pool) { + // this function checks for the static-attack-info macro. + + if (in->entries().size() != 1) { + return nullptr; + } + + auto test = in->to_form(env).print(); + + // (let ((block-var (new 'static 'attack-info)) + auto block_src = in->entries().at(0).src->try_as_element(); + if (!block_src) { + return nullptr; + } + + auto e = block_src->label_info(); + if (e && (*e).result_type != TypeSpec("attack-info")) { + return nullptr; + } + + const auto& label = block_src->label(); + const auto& words = env.file->words_by_seg.at(label.target_segment); + u32 mask = words.at((label.offset + 64) / 4).data; + u32 mask_implicit = 0; + + auto block_var = in->entries().at(0).dest; + const auto& block_var_reg = block_var.reg(); + auto block_var_name = env.get_variable_name(block_var); + + const static std::map> possible_args = { + {"vector", {1, true}}, {"mode", {5, false}}, {"shove-back", {6, false}}, + {"shove-up", {7, false}}, {"control", {10, false}}, {"angle", {11, false}}}; + + std::vector> args_in_info; + for (int i = 0; i < in->body()->size() - 1; ++i) { + auto s_elt = dynamic_cast(in->body()->at(i)); + if (!s_elt) { + lg::error("attack info err elt {} not a set!: {}", i, in->body()->at(i)->to_string(env)); + return nullptr; + } + + auto d_elt = s_elt->dst()->try_as_element(); + if (!d_elt) { + lg::error("attack info err elt {} dst not a deref: {}", i, s_elt->dst()->to_string(env)); + return nullptr; + } + if (d_elt->tokens().size() != 1 && d_elt->tokens().size() != 2) { + lg::error("attack info err elt {} invalid token len: {}", i, d_elt->to_string(env)); + return nullptr; + } + if (d_elt->tokens().at(0).kind() != DerefToken::Kind::FIELD_NAME) { + lg::error("attack info err elt {} invalid token kind: {}", i, d_elt->to_string(env)); + return nullptr; + } + const auto& field_name = d_elt->tokens().at(0).field_name(); + auto arg_it = possible_args.find(field_name); + if (arg_it == possible_args.end()) { + lg::error("attack info unknown field {}", field_name); + return nullptr; + } + if (arg_it->second.second && + (d_elt->tokens().size() != 2 || d_elt->tokens().at(1).field_name() != "quad")) { + lg::error("attack info err elt {} invalid vector field: {}", i, d_elt->to_string(env)); + return nullptr; + } else if (!arg_it->second.second && d_elt->tokens().size() != 1) { + lg::error("attack info err elt {} invalid field: {}", i, d_elt->to_string(env)); + break; + } + + if (arg_it->second.second) { + auto d_src = s_elt->src()->try_as_element(); + if (d_src) { + if (d_src->tokens().size() == 1 && d_src->tokens().at(0).is_field_name("quad")) { + args_in_info.push_back({field_name, d_src->base()}); + } else { + d_src->tokens().pop_back(); + args_in_info.push_back({field_name, s_elt->src()}); + } + } + } else { + if ((field_name == "shove-back" || field_name == "shove-up") && + s_elt->src()->to_form(env).is_float()) { + args_in_info.push_back( + {field_name, pool.form(GenericOperator::make_function( + pool.form("meters")), + pool.form(meters_to_string( + s_elt->src()->to_form(env).as_float())))}); + } else { + args_in_info.push_back({field_name, s_elt->src()}); + } + } + mask_implicit |= 1 << arg_it->second.first; + } + + if ((mask & mask_implicit) != mask_implicit) { + lg::error("attack info bad mask: #x{:x} but needed #x{:x}", mask, mask_implicit); + ASSERT(false); + return nullptr; + } + mask ^= mask_implicit; + + // (static-attack-info :mask etc) + auto mr_with_shell = rewrite_shelled_return_form( + Matcher::reg(block_var_reg), in->body()->at(in->body()->size() - 1), env, pool, + [&](FormElement* s_in, const MatchResult& mr, const Env& env, FormPool& pool) { + // time to build the macro! + std::vector macro_args; + + if (mask) { + ja_push_form_to_args( + pool, macro_args, + decompiler::cast_to_bitfield_enum(env.dts->ts.try_enum_lookup("attack-mask"), pool, + env, mask, true), + "mask"); + } + + if (args_in_info.size() > 0) { + std::vector info_args; + for (auto& [name, val] : args_in_info) { + info_args.push_back(pool.form( + GenericOperator::make_function(pool.form(name)), val)); + } + auto head = GenericOperator::make_function(info_args.at(0)); + info_args.erase(info_args.begin()); + macro_args.push_back(pool.form(head, info_args)); + } + + return pool.form( + GenericOperator::make_function(pool.form("static-attack-info")), + macro_args); + }, + nullptr); + + if (!std::get<0>(mr_with_shell).matched) { + lg::error("shell match failed, dont know this form: {}", + in->body()->at(in->body()->size() - 1)->to_string(env)); + return nullptr; + } + + auto elt = std::get<1>(mr_with_shell)->try_as_single_element(); + ASSERT(elt); + return elt; +} + /*! * Attempt to rewrite a let as another form. If it cannot be rewritten, this will return nullptr. */ @@ -1163,7 +1609,7 @@ FormElement* rewrite_let(LetElement* in, const Env& env, FormPool& pool, LetRewr return as_dotimes; } - auto as_send_event = rewrite_as_send_event(in, env, pool); + auto as_send_event = rewrite_as_send_event(in, env, pool, stats); if (as_send_event) { stats.send_event++; return as_send_event; @@ -1205,10 +1651,106 @@ FormElement* rewrite_let(LetElement* in, const Env& env, FormPool& pool, LetRewr return as_abs; } + auto as_proc_new = rewrite_proc_new(in, env, pool); + if (as_proc_new) { + stats.proc_new++; + return as_proc_new; + } + + auto as_attack_info = rewrite_attack_info(in, env, pool); + if (as_attack_info) { + stats.attack_info++; + return as_attack_info; + } + // nothing matched. return nullptr; } +FormElement* rewrite_rand_float_gen(LetElement* in, const Env& env, FormPool& pool) { + // this function checks for the (rand-float-gen) macro + + bool ret_in_body = in->entries().size() == 2; + + if (ret_in_body && in->body()->size() != 1) { + return nullptr; + } + + auto test = in->to_string(env); + + auto mr_div = match( + Matcher::op_fixed(FixedOperatorKind::DIVISION, + {Matcher::cast("int", Matcher::func(Matcher::symbol("rand-uint31-gen"), + {Matcher::any(0)})), + Matcher::integer(256)}), + in->entries().at(0).src); + if (!mr_div.matched) { + return nullptr; + } + + const auto& reg1 = in->entries().at(0).dest.reg(); + auto gen = mr_div.maps.forms.at(0); + if (gen->to_form(env).is_symbol("*random-generator*")) { + gen = nullptr; + } + + auto mr_or = + match(Matcher::cast("number", + Matcher::op_fixed(FixedOperatorKind::LOGIOR, + {Matcher::integer(0x3f800000), Matcher::reg(reg1)})), + in->entries().at(1).src); + if (!mr_or.matched) { + return nullptr; + } + + const auto& reg2 = in->entries().at(1).dest.reg(); + + auto matcher_res = + Matcher::op_fixed(FixedOperatorKind::ADDITION, {Matcher::single(-1.f), Matcher::reg(reg2)}); + + if (!ret_in_body) { + // simpler case + + auto mr_res = match(matcher_res, in->entries().at(2).src); + + if (!mr_res.matched) { + return nullptr; + } + + // delete us. + in->entries().erase(in->entries().begin()); + in->entries().erase(in->entries().begin()); + + auto head = GenericOperator::make_function(pool.form("rand-float-gen")); + + // set the value of the new first entry to the macro + in->entries().at(0).src = + gen ? pool.form(head, gen) : pool.form(head); + + // return us but modified? + in->clear_let_star(); + return in; + } else { + auto mr_res = rewrite_shelled_return_form( + matcher_res, in->body()->at(0), env, pool, + [&](FormElement* s_in, const MatchResult& mr, const Env& env, FormPool& pool) { + auto head = + GenericOperator::make_function(pool.form("rand-float-gen")); + return gen ? pool.form(head, gen) : pool.form(head); + }, + nullptr); + + if (!std::get<0>(mr_res).matched) { + lg::error("shell match failed, dont know this form: {}", in->body()->at(0)->to_string(env)); + return nullptr; + } + + auto elt = std::get<1>(mr_res)->try_as_single_element(); + elt->parent_form = in->parent_form; + return elt; + } +} + FormElement* rewrite_multi_let_as_vector_dot(LetElement* in, const Env& env, FormPool& pool) { if (in->body()->size() != 3) { return nullptr; @@ -1297,10 +1839,28 @@ FormElement* rewrite_multi_let_as_vector_dot(LetElement* in, const Env& env, For return in; } -FormElement* rewrite_multi_let(LetElement* in, const Env& env, FormPool& pool) { +FormElement* rewrite_multi_let(LetElement* in, + const Env& env, + FormPool& pool, + LetRewriteStats& stats) { + if (in->entries().size() >= 2) { + auto as_rand_float_gen = rewrite_rand_float_gen(in, env, pool); + if (as_rand_float_gen) { + stats.rand_float_gen++; + return as_rand_float_gen; + } + + auto as_proc_new = rewrite_proc_new(in, env, pool); + if (as_proc_new) { + stats.proc_new++; + return as_proc_new; + } + } + if (in->entries().size() >= 6) { auto as_vector_dot = rewrite_multi_let_as_vector_dot(in, env, pool); if (as_vector_dot) { + stats.vector_dot++; return as_vector_dot; } } @@ -1624,6 +2184,17 @@ LetStats insert_lets(const Function& func, continue; } + for (auto& e : inner_let->entries()) { + as_let->add_entry(e); + } + + as_let->set_body(inner_let->body()); + + // rewrite: + form->at(idx) = rewrite_multi_let(as_let, env, pool, let_rewrite_stats); + ASSERT(form->at(idx)->parent_form == form); + + // check star for (auto& e : inner_let->entries()) { if (!as_let->is_star()) { RegAccessSet used; @@ -1639,14 +2210,8 @@ LetStats insert_lets(const Function& func, } } } - as_let->add_entry(e); } - as_let->set_body(inner_let->body()); - - // rewrite: - form->at(idx) = rewrite_multi_let(as_let, env, pool); - ASSERT(form->at(idx)->parent_form == form); changed = true; } }); diff --git a/decompiler/config/all-types.gc b/decompiler/config/all-types.gc index 573567737b..dc17fed786 100644 --- a/decompiler/config/all-types.gc +++ b/decompiler/config/all-types.gc @@ -1323,6 +1323,8 @@ (ps2-options #x1020) (ps2-load-speed #x1021) (ps2-parts #x1022) + (music-fadeout #x1023) + (music-fadein #x1024) (discord-rpc #x1030) (display-mode #x1031) (windowed #x1032) @@ -10740,13 +10742,32 @@ ) ) +(defenum attack-mask + :bitfield #t + :type uint32 + (trans) + (vector) + (intersection) + (attacker) + (invinc-time) + (mode) + (shove-back) + (shove-up) + (speed) + (dist) + (control) + (angle) + (rotate-to) + (atki13) + ) + (deftype attack-info (structure) ((trans vector :inline :offset-assert 0) (vector vector :inline :offset-assert 16) (intersection vector :inline :offset-assert 32) (attacker handle :offset-assert 48) - (invinc-time time-frame :offset-assert 56) - (mask uint32 :offset-assert 64) + (invinc-time time-frame :offset-assert 56) + (mask attack-mask :offset-assert 64) (mode symbol :offset-assert 68) (shove-back meters :offset-assert 72) (shove-up meters :offset-assert 76) @@ -10760,7 +10781,6 @@ :method-count-assert 10 :size-assert #x68 :flag-assert #xa00000068 - ;; field handle is likely a value type (:methods (combine! (_type_ attack-info) none 9) ) @@ -26451,7 +26471,7 @@ (define-extern robotboss-yellow-eco-off (function entity-perm-status :behavior robotboss)) (define-extern robotboss-greenshot (function vector float int symbol none :behavior robotboss)) (define-extern robotboss-handler (function process int symbol event-message-block object :behavior robotboss)) -(define-extern robotboss-darkecobomb (function vector float (pointer process) :behavior robotboss)) +(define-extern robotboss-darkecobomb (function vector float (pointer part-tracker) :behavior robotboss)) (define-extern robotboss-is-red-hit (function symbol :behavior robotboss)) (define-extern robotboss-redshot-fill-array (function redshot-launch-array none :behavior robotboss)) (define-extern robotboss-redshot (function redshot-launch-info symbol sound-id :behavior robotboss)) ;; run-func-in-process edge-case @@ -28874,8 +28894,8 @@ ;; - Functions (define-extern keg-conveyor-paddle-init-by-other (function keg-conveyor-paddle none :behavior keg-conveyor-paddle)) -(define-extern keg-conveyor-spawn-keg (function keg-conveyor (pointer process))) ;; VERY likely a keg -(define-extern keg-conveyor-spawn-bouncing-keg (function keg-conveyor (pointer process))) ;; VERY likely a keg +(define-extern keg-conveyor-spawn-keg (function keg-conveyor (pointer keg))) +(define-extern keg-conveyor-spawn-bouncing-keg (function keg-conveyor (pointer keg))) (define-extern keg-init-by-other (function keg int none :behavior keg)) (define-extern keg-bounce-set-particle-rotation-callback (function part-tracker none)) (define-extern keg-update-smush (function keg float none)) @@ -29060,7 +29080,7 @@ ;; - Functions (define-extern orient-to-face-target (function quaternion :behavior quicksandlurker)) -(define-extern quicksandlurker-spit (function (pointer process) :behavior quicksandlurker)) +(define-extern quicksandlurker-spit (function (pointer part-tracker) :behavior quicksandlurker)) (define-extern spawn-quicksandlurker-missile (function process vector vector entity none)) (define-extern quicksandlurker-check-hide-transition (function none :behavior quicksandlurker)) (define-extern inc-angle (function (pointer float) float float)) @@ -30241,7 +30261,7 @@ ;; - Functions (define-extern swamp-rat-nest-check-dummy (function none :behavior swamp-rat-nest)) -(define-extern swamp-rat-nest-spawn-rat (function (pointer process) :behavior swamp-rat-nest)) ;; this needs a t2 symbol arg to pass to swamp-rat-init-from-other...but +(define-extern swamp-rat-nest-spawn-rat (function (pointer swamp-rat) :behavior swamp-rat-nest)) ;; this needs a t2 symbol arg to pass to swamp-rat-init-from-other...but (define-extern swamp-rat-nest-dummy-init-by-other (function swamp-rat-nest-dummy none :behavior swamp-rat-nest-dummy)) (define-extern swamp-rat-nest-pick-spawn-joint (function int :behavior swamp-rat-nest)) (define-extern swamp-rat-nest-dummy-take-damage (function int none :behavior swamp-rat-nest-dummy)) diff --git a/decompiler/config/jak1_ntsc_black_label/label_types.jsonc b/decompiler/config/jak1_ntsc_black_label/label_types.jsonc index 4b82c54cf3..63893a209c 100644 --- a/decompiler/config/jak1_ntsc_black_label/label_types.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/label_types.jsonc @@ -157,7 +157,15 @@ ["L276", "vector"], ["L277", "vector"], ["L278", "vector"], - ["L279", "vector"] + ["L279", "vector"], + ["L280", "(array float)"], + ["L281", "(array float)"], + ["L282", "(array float)"], + ["L283", "(array float)"], + ["L284", "(array float)"], + ["L285", "(array float)"], + ["L286", "(array float)"], + ["L287", "(array float)"] ], "mood-tables": [ diff --git a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc b/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc index d71d5d2572..f61fd85974 100644 --- a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc @@ -825,49 +825,49 @@ ], "(top-level-login task-control)": [[165, "v1", "symbol"]], "(anon-function 227 task-control)": [ - [[14, 16], "t9", "(function process event-message-block float)"] + [17, "v1", "float"] ], "(anon-function 286 task-control)": [ - [[14, 16], "t9", "(function process event-message-block float)"] + [17, "v1", "float"] ], "(anon-function 366 task-control)": [ - [[14, 16], "t9", "(function process event-message-block float)"] + [17, "v1", "float"] ], "(anon-function 367 task-control)": [ - [[14, 16], "t9", "(function process event-message-block float)"] + [17, "v1", "float"] ], "(anon-function 368 task-control)": [ - [[14, 16], "t9", "(function process event-message-block float)"] + [17, "v1", "float"] ], "(anon-function 369 task-control)": [ - [[14, 16], "t9", "(function process event-message-block float)"] + [17, "v1", "float"] ], "(anon-function 380 task-control)": [ - [[14, 16], "t9", "(function process event-message-block float)"] + [17, "v1", "float"] ], "(anon-function 383 task-control)": [ - [[14, 16], "t9", "(function process event-message-block float)"] + [17, "v1", "float"] ], "(anon-function 390 task-control)": [ - [[14, 16], "t9", "(function process event-message-block float)"] + [17, "v1", "float"] ], "(anon-function 393 task-control)": [ - [[14, 16], "t9", "(function process event-message-block float)"] + [17, "v1", "float"] ], "(anon-function 400 task-control)": [ - [[14, 16], "t9", "(function process event-message-block float)"] + [17, "v1", "float"] ], "(anon-function 403 task-control)": [ - [[14, 16], "t9", "(function process event-message-block float)"] + [17, "v1", "float"] ], "(anon-function 435 task-control)": [ - [[14, 16], "t9", "(function process event-message-block float)"] + [17, "v1", "float"] ], "(anon-function 445 task-control)": [ - [[14, 16], "t9", "(function process event-message-block float)"] + [17, "v1", "float"] ], "(anon-function 455 task-control)": [ - [[14, 16], "t9", "(function process event-message-block float)"] + [17, "v1", "float"] ], "(method 18 game-info)": [ [4, "v1", "symbol"], diff --git a/decompiler/util/data_decompile.cpp b/decompiler/util/data_decompile.cpp index f120832994..7fb2f16937 100644 --- a/decompiler/util/data_decompile.cpp +++ b/decompiler/util/data_decompile.cpp @@ -1368,14 +1368,15 @@ goos::Object decompile_boxed_array(const DecompilerLabel& label, int array_allocated_length = size_word_2.data; auto content_type_info = ts.lookup_type(content_type); + auto params_obj = array_length == array_allocated_length + ? pretty_print::to_symbol(fmt::format("new 'static 'boxed-array :type {}", + content_type.print())) + : pretty_print::to_symbol(fmt::format( + "new 'static 'boxed-array :type {} :length {} :allocated-length {}", + content_type.print(), array_length, array_allocated_length)); if (content_type_info->is_reference() || content_type == TypeSpec("object")) { // easy, stride of 4. - std::vector result = { - pretty_print::to_symbol("new"), pretty_print::to_symbol("'static"), - pretty_print::to_symbol("'boxed-array"), - pretty_print::to_symbol(fmt::format(":type {} :length {} :allocated-length {}", - content_type.print(), array_length, - array_allocated_length))}; + std::vector result = {params_obj}; for (int elt = 0; elt < array_length; elt++) { auto& word = words.at(label.target_segment).at(first_elt_word_idx + elt); @@ -1406,12 +1407,7 @@ goos::Object decompile_boxed_array(const DecompilerLabel& label, return pretty_print::build_list(result); } else if (content_type.base_type() == "inline-array") { - std::vector result = { - pretty_print::to_symbol("new"), pretty_print::to_symbol("'static"), - pretty_print::to_symbol("'boxed-array"), - pretty_print::to_symbol(fmt::format(":type {} :length {} :allocated-length {}", - content_type.print(), array_length, - array_allocated_length))}; + std::vector result = {params_obj}; for (int elt = 0; elt < array_length; elt++) { auto& word = words.at(label.target_segment).at(first_elt_word_idx + elt); @@ -1424,12 +1420,7 @@ goos::Object decompile_boxed_array(const DecompilerLabel& label, return pretty_print::build_list(result); } else { // value array - std::vector result = { - pretty_print::to_symbol("new"), pretty_print::to_symbol("'static"), - pretty_print::to_symbol("'boxed-array"), - pretty_print::to_symbol(fmt::format(":type {} :length {} :allocated-length {}", - content_type.print(), array_length, - array_allocated_length))}; + std::vector result = {params_obj}; auto stride = content_type_info->get_size_in_memory(); for (int i = 0; i < array_length; i++) { diff --git a/game/assets/game_text.gp b/game/assets/game_text.gp index 7189c84e80..30511466b0 100644 --- a/game/assets/game_text.gp +++ b/game/assets/game_text.gp @@ -7,6 +7,7 @@ (jak1-v1 "assets/game_text.txt") ;; this is the decompiler-generated file! ;; add custom files down here (jak1-v1 "game/assets/jak1/text/game_text_en.gs") + (jak1-v1 "game/assets/jak1/text/game_text_ja.gs") ) diff --git a/game/assets/jak1/text/game_text_en.gs b/game/assets/jak1/text/game_text_en.gs index b7a8013687..dceec5e460 100644 --- a/game/assets/jak1/text/game_text_en.gs +++ b/game/assets/jak1/text/game_text_en.gs @@ -36,6 +36,11 @@ (#x1022 "PARTICLE CULLING" "PARTICLE CULLING") +(#x1023 "MUSIC FADE-OUT" + "MUSIC FADE-OUT") +(#x1024 "MUSIC FADE-IN" + "MUSIC FADE-IN") + (#x1030 "DISCORD RICH-PRESENCE" "DISCORD RICH-PRESENCE") diff --git a/game/assets/jak1/text/game_text_ja.gs b/game/assets/jak1/text/game_text_ja.gs new file mode 100644 index 0000000000..25ae462180 --- /dev/null +++ b/game/assets/jak1/text/game_text_ja.gs @@ -0,0 +1,78 @@ +(group-name "common") +(language-id 5) + +;; ----------------- +;; fixes + + ; 闇の眷者 ゴルとマイアの城 +(#x122 "闇の賢者 ゴルとマイアの城") +(#x801 "闇の賢者 ゴルとマイアの城") + +;; ----------------- +;; progress menu (insanity) + +(#x1078 "じまく") +(#x1079 "ヒントじまく") +(#x107a "じまくのことば") + +(#x107f "ヒントロッグ") +(#x1080 "チート") + +(#x1082 "レベルをセレクトください") +(#x1083 "へんかをセレクトください") +(#x1084 "ラスボス") +(#x1085 "スタッフロール") +(#x1086 "ロック") +(#x1087 "ハイブリッドラーカー クロウ") +(#x1088 "サカナとりゲームのテーマ") +(#x1089 "チャレンジーのテーマ") + +(#x1090 "無限の青のエコ") +(#x1091 "無限の赤のエコ") +(#x1092 "無限の緑のエコ") +(#x1093 "無限の黄のエコ") +(#x1094 "へんかのダックスター") +(#x1095 "インヴィンシブル") +(#x1096 "全てBGMへんかを エネーブルする") + +(#x10c0 "BGMプレイヤー") + +(#x10d0 "デフォールト") +(#x10d1 "みしよう") +(#x10d2 "セイジィ") +(#x10d3 "セイジィの家") + +(#x10df "みしよう") + +(#x10e3 "みしよう1") + +(#x10e5 "みしよう2") + +(#x10e7 "フラフラ鳥") +(#x10e8 "みしよう") + +(#x10ed "みしよう1") + +(#x10ef "みしよう2") + +(#x10f3 "ヤミノ洞くつへ") +(#x10f4 "ガイセツ山へ") +(#x10f5 "宝石堀りたち") + +(#x10f8 "メイン洞くつ") +(#x10f9 "くろい洞くつ") +(#x10fa "みしよう") +(#x10fb "かくされた洞くつ") +(#x10fc "ラーカーのとりで") +(#x10fd "ゆきだま") +(#x10fe "マグマチューブの中かん") +(#x10ff "マグマチューブのさいしゅうかい") +(#x1100 "黄の賢者") +(#x1101 "赤の賢者") +(#x1102 "青の賢者") +(#x1103 "城のハブ") +(#x1104 "ラスボスの中かん") +(#x1105 "ラスボスのさいしゅうかい") + + + diff --git a/game/kernel/ksound.cpp b/game/kernel/ksound.cpp index 77250ec95b..785b7ff429 100644 --- a/game/kernel/ksound.cpp +++ b/game/kernel/ksound.cpp @@ -8,6 +8,7 @@ #include "kscheme.h" #include "kdgo.h" #include "game/sound/989snd/ame_handler.h" +#include "game/overlord/srpc.h" #include "common/common_types.h" /*! @@ -21,12 +22,16 @@ void InitSound() {} void ShutdownSound() {} /*! - * PC port function + * PC port functions */ void set_flava_hack(u64 val) { snd::SoundFlavaHack = val; } +void set_fade_hack(u64 val) { + gMusicFadeHack = val; +} + /*! * Set up some functions which are somewhat related to sound. */ @@ -35,5 +40,8 @@ void InitSoundScheme() { make_function_symbol_from_c("rpc-busy?", (void*)RpcBusy); make_function_symbol_from_c("test-load-dgo-c", (void*)LoadDGOTest); make_stack_arg_function_symbol_from_c("rpc-call", (void*)RpcCall_wrapper); + + // PC port interns make_function_symbol_from_c("pc-sound-set-flava-hack", (void*)set_flava_hack); + make_function_symbol_from_c("pc-sound-set-fade-hack", (void*)set_fade_hack); } diff --git a/game/overlord/srpc.cpp b/game/overlord/srpc.cpp index 462801a2e6..0894de9220 100644 --- a/game/overlord/srpc.cpp +++ b/game/overlord/srpc.cpp @@ -29,6 +29,9 @@ s32 gMusicPause = 0; u32 gFreeMem = 0; u32 gFrameNum = 0; +// added +u32 gMusicFadeHack = 0; + static SoundIopInfo info; s32 gVAG_Id = 0; // TODO probably doesn't belong here. @@ -432,14 +435,14 @@ s32 VBlank_Handler() { return 1; if (gMusicFadeDir > 0) { - gMusicFade += 1024; - if (gMusicFade > 0x10000) { + gMusicFade += (0x10000 / 64); + if (gMusicFade > 0x10000 || (gMusicFadeHack & 1)) { gMusicFade = 0x10000; gMusicFadeDir = 0; } } else if (gMusicFadeDir < 0) { - gMusicFade -= 512; - if (gMusicFade < 0) { + gMusicFade -= (0x10000 / 128); + if (gMusicFade < 0 || (gMusicFadeHack & 2)) { gMusicFade = 0; gMusicFadeDir = 0; } diff --git a/game/overlord/srpc.h b/game/overlord/srpc.h index 15f9d07f7b..ec0fa0f2a9 100644 --- a/game/overlord/srpc.h +++ b/game/overlord/srpc.h @@ -170,3 +170,6 @@ u32 Thread_Loader(); u32 Thread_Player(); s32 VBlank_Handler(); + +// added for PC port +extern u32 gMusicFadeHack; diff --git a/game/sound/989snd/loader.cpp b/game/sound/989snd/loader.cpp index 23024a6f0a..e1be39bb82 100644 --- a/game/sound/989snd/loader.cpp +++ b/game/sound/989snd/loader.cpp @@ -43,6 +43,8 @@ u32 loader::read_music_bank(SoundBankData* data) { bank->bank_name = data->BankID; m_soundbanks.emplace(handle, std::move(bank)); + fmt::print("Loaded music bank {:.4}\n", (char*)&data->BankID); + return handle; } @@ -176,6 +178,7 @@ void loader::load_samples(u32 bank_id, std::unique_ptr samples) { } void loader::unload_bank(u32 id) { + fmt::print("Deleting bank {}\n", id); for (auto it = m_midi_chunks.begin(); it != m_midi_chunks.end();) { bool del = false; // FIXME delete midi diff --git a/goal_src/engine/ambient/ambient.gc b/goal_src/engine/ambient/ambient.gc index 0dd1c982b2..9932523135 100644 --- a/goal_src/engine/ambient/ambient.gc +++ b/goal_src/engine/ambient/ambient.gc @@ -259,15 +259,7 @@ (let ((s3-1 (level-hint-task-process arg2 (the-as uint128 arg0) arg1))) (when (!= s3-1 -1) (kill-current-level-hint '() '() 'exit) - (let ((s2-0 (get-process *default-dead-pool* level-hint #x4000))) - (when s2-0 - (let ((t9-4 (method-of-type level-hint activate))) - (t9-4 (the-as level-hint s2-0) arg3 'level-hint (the-as pointer #x70004000)) - ) - (run-now-in-process s2-0 level-hint-init-by-other s3-1 arg1 arg2) - (-> s2-0 ppointer) - ) - ) + (process-spawn level-hint s3-1 arg1 arg2 :to arg3) ) ) 0 @@ -281,15 +273,7 @@ ) ) (the-as object (and (not *hint-semaphore*) - (let ((s2-0 (get-process *default-dead-pool* level-hint #x4000))) - (when s2-0 - (let ((t9-2 (method-of-type level-hint activate))) - (t9-2 (the-as level-hint s2-0) arg2 'level-hint (the-as pointer #x70004000)) - ) - (run-now-in-process s2-0 ambient-hint-init-by-other arg0 arg1 arg3) - (-> s2-0 ppointer) - ) - ) + (process-spawn level-hint :init ambient-hint-init-by-other arg0 arg1 arg3 :to arg2) ) ) ) @@ -407,8 +391,7 @@ ) (defstate level-hint-normal (level-hint) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'exit) @@ -421,15 +404,13 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (if (= (ppointer->process *hint-semaphore*) self) (set! *hint-semaphore* (the-as (pointer level-hint) #f)) ) (none) ) - :code - (behavior () + :code (behavior () (cond ((= (-> self text-id-to-display) (game-text-id zero)) (if *debug-segment* @@ -469,8 +450,7 @@ ) (defstate level-hint-sidekick (level-hint) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'exit) @@ -488,9 +468,8 @@ ) ) ) - :exit - (behavior () - (#when PC_PORT (set! *level-hint-spool-name* (the string #f))) + :exit (behavior () + (#when PC_PORT (set! *level-hint-spool-name* #f)) (if (nonzero? (-> self sound-id)) (sound-stop (-> self sound-id)) ) @@ -503,8 +482,7 @@ (send-event (handle->process (-> self voicebox)) 'die) (none) ) - :code - (behavior ((arg0 string)) + :code (behavior ((arg0 string)) (#when PC_PORT (set! *level-hint-spool-name* arg0)) (when (and (-> *setting-control* current play-hints) (< 0.0 (-> *setting-control* current dialog-volume))) (case (-> self mode) @@ -553,10 +531,8 @@ ) (defstate level-hint-ambient-sound (level-hint) - :event - (-> level-hint-sidekick event) - :exit - (behavior () + :event (-> level-hint-sidekick event) + :exit (behavior () (if (nonzero? (-> self sound-id)) (sound-stop (-> self sound-id)) ) @@ -567,8 +543,7 @@ ) (none) ) - :code - (behavior ((arg0 string)) + :code (behavior ((arg0 string)) (while (not *sound-player-enable*) (suspend) ) @@ -617,10 +592,8 @@ ) (defstate level-hint-error (level-hint) - :event - (-> level-hint-normal event) - :code - (behavior ((arg0 string) (arg1 string)) + :event (-> level-hint-normal event) + :code (behavior ((arg0 string) (arg1 string)) (clear-pending-settings-from-process *setting-control* self 'hint) (let ((s4-0 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) s4-0) (seconds 1)) @@ -651,8 +624,7 @@ ) (defstate level-hint-exit (level-hint) - :code - (behavior () + :code (behavior () (if (= (ppointer->process *hint-semaphore*) self) (set! *hint-semaphore* (the-as (pointer level-hint) #f)) ) @@ -713,15 +685,7 @@ ) ((!= s5-0 -1) (kill-current-level-hint '() '() 'exit) - (let ((s4-0 (get-process *default-dead-pool* level-hint #x4000))) - (when s4-0 - (let ((t9-8 (method-of-type level-hint activate))) - (t9-8 (the-as level-hint s4-0) pp 'level-hint (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 level-hint-init-by-other s5-0 #f (-> arg0 ambient)) - (-> s4-0 ppointer) - ) - ) + (process-spawn level-hint s5-0 #f (-> arg0 ambient) :to pp) ) ) ) diff --git a/goal_src/engine/ambient/mood-tables.gc b/goal_src/engine/ambient/mood-tables.gc index ab25d73c19..d616bf641b 100644 --- a/goal_src/engine/ambient/mood-tables.gc +++ b/goal_src/engine/ambient/mood-tables.gc @@ -307,8 +307,7 @@ (define *default-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 + :hour (new 'static 'inline-array sky-color-hour 24 (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.2 :morph-end 0.4) (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.4 :morph-end 0.6) (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.6 :morph-end 0.8) @@ -339,8 +338,7 @@ (define *village1-palette-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 + :hour (new 'static 'inline-array sky-color-hour 24 (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.2 :morph-end 0.4) (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.4 :morph-end 0.6) (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.6 :morph-end 0.8) @@ -371,8 +369,7 @@ (define *misty-palette-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 + :hour (new 'static 'inline-array sky-color-hour 24 (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.04 :morph-end 0.08) (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.08 :morph-end 0.12) (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.12 :morph-end 0.16) @@ -403,8 +400,7 @@ (define *firecanyon-palette-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 + :hour (new 'static 'inline-array sky-color-hour 24 (new 'static 'sky-color-hour :snapshot1 3 :morph-end 0.08) (new 'static 'sky-color-hour :snapshot1 3 :morph-start 0.08 :morph-end 0.12) (new 'static 'sky-color-hour :snapshot1 3 :morph-start 0.12 :morph-end 0.16) @@ -435,8 +431,7 @@ (define *rolling-palette-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 + :hour (new 'static 'inline-array sky-color-hour 24 (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-start 0.2 :morph-end 0.4) (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-start 0.4 :morph-end 0.6) (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-start 0.6 :morph-end 0.8) @@ -467,8 +462,7 @@ (define *village2-sky-texture-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 + :hour (new 'static 'inline-array sky-color-hour 24 (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 4 :morph-start 0.2 :morph-end 0.4) (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 4 :morph-start 0.4 :morph-end 0.6) (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 4 :morph-start 0.6 :morph-end 0.8) @@ -499,8 +493,7 @@ (define *finalboss-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 + :hour (new 'static 'inline-array sky-color-hour 24 (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.2 :morph-end 0.4) (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.4 :morph-end 0.6) (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.6 :morph-end 0.8) @@ -532,58 +525,43 @@ (define *village1-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 4984832.0 :z 255.0 :w 51.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 4984832.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 3690496.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 3690496.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -593,91 +571,60 @@ (define *village1-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) - :lgt-color - (new 'static 'vector :x 1.558 :y 1.454 :z 0.228 :w 1.0) + :direction (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) + :lgt-color (new 'static 'vector :x 1.558 :y 1.454 :z 0.228 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.4 :y 0.266 :z 0.6 :w 1.0) - :shadow - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) + :amb-color (new 'static 'vector :x 0.4 :y 0.266 :z 0.6 :w 1.0) + :shadow (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) - :lgt-color - (new 'static 'vector :x 1.632 :y 1.586 :z 1.428 :w 1.0) + :direction (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + :lgt-color (new 'static 'vector :x 1.632 :y 1.586 :z 1.428 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.387 :y 0.387 :z 0.475 :w 1.0) - :shadow - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + :amb-color (new 'static 'vector :x 0.387 :y 0.387 :z 0.475 :w 1.0) + :shadow (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25881904 :y 0.9659258) - :lgt-color - (new 'static 'vector :x 1.644 :y 1.598 :z 1.438 :w 1.0) + :direction (new 'static 'vector :x -0.25881904 :y 0.9659258) + :lgt-color (new 'static 'vector :x 1.644 :y 1.598 :z 1.438 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.362 :y 0.362 :z 0.425 :w 1.0) - :shadow - (new 'static 'vector :x -0.25881904 :y 0.9659258) + :amb-color (new 'static 'vector :x 0.362 :y 0.362 :z 0.425 :w 1.0) + :shadow (new 'static 'vector :x -0.25881904 :y 0.9659258) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z -0.70710677) - :lgt-color - (new 'static 'vector :x 1.632 :y 1.586 :z 1.428 :w 1.0) + :direction (new 'static 'vector :x -0.1830127 :y 0.6830127 :z -0.70710677) + :lgt-color (new 'static 'vector :x 1.632 :y 1.586 :z 1.428 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.387 :y 0.387 :z 0.475 :w 1.0) - :shadow - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z -0.70710677) + :amb-color (new 'static 'vector :x 0.387 :y 0.387 :z 0.475 :w 1.0) + :shadow (new 'static 'vector :x -0.1830127 :y 0.6830127 :z -0.70710677) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) - :lgt-color - (new 'static 'vector :x 1.646 :y 1.118 :w 1.0) + :direction (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) + :lgt-color (new 'static 'vector :x 1.646 :y 1.118 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.32 :y 0.35 :z 0.6 :w 1.0) - :shadow - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) + :amb-color (new 'static 'vector :x 0.32 :y 0.35 :z 0.6 :w 1.0) + :shadow (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) ) (new 'static 'mood-lights :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.25 :y 0.5 :z 1.0 :w 1.0) + :lgt-color (new 'static 'vector :x 0.25 :y 0.5 :z 1.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.31 :y 0.29 :z 0.35 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) + :amb-color (new 'static 'vector :x 0.31 :y 0.29 :z 0.35 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) - :lgt-color - (new 'static 'vector :x 0.192 :y 0.256 :z 0.961 :w 1.0) + :direction (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) + :lgt-color (new 'static 'vector :x 0.192 :y 0.256 :z 0.961 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.383 :y 0.439 :z 0.7 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) + :amb-color (new 'static 'vector :x 0.383 :y 0.439 :z 0.7 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.354 :y 0.866 :z 0.354) - :lgt-color - (new 'static 'vector :x 0.0495 :y 0.62075 :z 0.326 :w 1.0) + :direction (new 'static 'vector :x 0.354 :y 0.866 :z 0.354) + :lgt-color (new 'static 'vector :x 0.0495 :y 0.62075 :z 0.326 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.25 :y 0.439 :z 0.7 :w 1.0) - :shadow - (new 'static 'vector :x 0.5393 :y 0.7652 :z -0.3514) + :amb-color (new 'static 'vector :x 0.25 :y 0.439 :z 0.7 :w 1.0) + :shadow (new 'static 'vector :x 0.5393 :y 0.7652 :z -0.3514) ) ) ) @@ -702,52 +649,36 @@ (define *village1-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 96.0 :y 96.0 :z 196.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 96.0 :y 96.0 :z 196.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 150.0 :z 196.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 64.0 :y 150.0 :z 196.0 :w 255.0) ) ) ) @@ -756,58 +687,43 @@ (define *training-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 51.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -817,59 +733,43 @@ (define *snow-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 210.0 :y 183.0 :z 160.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 210.0 :y 183.0 :z 160.0 :w 128.0) + :fog-dists (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 190.25 :y 198.0 :z 195.25 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 190.25 :y 198.0 :z 195.25 :w 128.0) + :fog-dists (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.5 :y 203.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 180.5 :y 203.0 :z 220.0 :w 128.0) + :fog-dists (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 192.75 :y 190.5 :z 197.75 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 192.75 :y 190.5 :z 197.75 :w 128.0) + :fog-dists (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 205.0 :y 178.0 :z 175.5 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 205.0 :y 178.0 :z 175.5 :w 128.0) + :fog-dists (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 48.0 :y 44.0 :z 64.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 48.0 :y 44.0 :z 64.0 :w 128.0) + :fog-dists (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 8.0 :y 16.0 :z 32.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 8.0 :y 16.0 :z 32.0 :w 128.0) + :fog-dists (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 16.0 :y 64.0 :z 60.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 16.0 :y 64.0 :z 60.0 :w 128.0) + :fog-dists (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -879,47 +779,32 @@ (define *snow-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.067 :y 0.25 :z 0.966) - :lgt-color - (new 'static 'vector :x 0.943 :y 0.88 :z 0.137 :w 1.0) + :direction (new 'static 'vector :x -0.067 :y 0.25 :z 0.966) + :lgt-color (new 'static 'vector :x 0.943 :y 0.88 :z 0.137 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.449 :y 0.35 :z 0.599 :w 1.0) - :shadow - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) + :amb-color (new 'static 'vector :x 0.449 :y 0.35 :z 0.599 :w 1.0) + :shadow (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.259 :y 0.966) - :lgt-color - (new 'static 'vector :x 0.66 :y 0.436 :z 0.291 :w 1.0) + :direction (new 'static 'vector :x -0.259 :y 0.966) + :lgt-color (new 'static 'vector :x 0.66 :y 0.436 :z 0.291 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.358 :y 0.575 :z 0.716 :w 1.0) - :shadow - (new 'static 'vector :x -0.25881904 :y 0.9659258) + :amb-color (new 'static 'vector :x 0.358 :y 0.575 :z 0.716 :w 1.0) + :shadow (new 'static 'vector :x -0.25881904 :y 0.9659258) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.067 :y 0.25 :z -0.966) - :lgt-color - (new 'static 'vector :x 1.056 :y 0.747 :w 1.0) + :direction (new 'static 'vector :x -0.067 :y 0.25 :z -0.966) + :lgt-color (new 'static 'vector :x 1.056 :y 0.747 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.383 :y 0.366 :z 0.599 :w 1.0) - :shadow - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) + :amb-color (new 'static 'vector :x 0.383 :y 0.366 :z 0.599 :w 1.0) + :shadow (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) ) (new 'static 'mood-lights :direction (new 'static 'vector :x 0.866 :y 0.5) - :lgt-color - (new 'static 'vector :x 0.067 :y 0.089 :z 0.333 :w 1.0) + :lgt-color (new 'static 'vector :x 0.067 :y 0.089 :z 0.333 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.304 :y 0.409 :z 0.76 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) + :amb-color (new 'static 'vector :x 0.304 :y 0.409 :z 0.76 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) ) (new 'static 'mood-lights) (new 'static 'mood-lights) @@ -1031,46 +916,36 @@ (define *snow-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 192.0 :y 176.5 :z 96.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color (new 'static 'vector :x 192.0 :y 176.5 :z 96.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 176.0 :z 192.0 :w 255.0) + :env-color (new 'static 'vector :x 128.0 :y 176.0 :z 192.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 180.0 :z 194.0 :w 255.0) + :env-color (new 'static 'vector :x 128.0 :y 180.0 :z 194.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 176.0 :z 192.0 :w 255.0) + :env-color (new 'static 'vector :x 128.0 :y 176.0 :z 192.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 192.0 :y 176.5 :z 96.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color (new 'static 'vector :x 192.0 :y 176.5 :z 96.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 80.0 :y 80.0 :z 173.0 :w 255.0) + :env-color (new 'static 'vector :x 80.0 :y 80.0 :z 173.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) + :env-color (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 107.0 :z 173.0 :w 255.0) + :env-color (new 'static 'vector :x 64.0 :y 107.0 :z 173.0 :w 255.0) ) ) ) @@ -1080,8 +955,7 @@ (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 98304.0 :y 3072000.0 :z 255.0 :w 150.0) + :fog-dists (new 'static 'vector :x 98304.0 :y 3072000.0 :z 255.0 :w 150.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog) @@ -1099,11 +973,9 @@ (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.287 :y 0.283 :z 0.4 :w 1.0) + :lgt-color (new 'static 'vector :x 0.287 :y 0.283 :z 0.4 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.14125 :y 0.1875 :z 0.375 :w 1.0) + :amb-color (new 'static 'vector :x 0.14125 :y 0.1875 :z 0.375 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights) @@ -1120,10 +992,8 @@ (define *jungleb-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 48.0 :y 60.0 :z 96.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 48.0 :y 60.0 :z 96.0 :w 255.0) ) (new 'static 'mood-sun) (new 'static 'mood-sun) @@ -1139,10 +1009,8 @@ (define *maincave-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 96.0 :z 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 434176.0 :y 1048576.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :y 96.0 :z 96.0 :w 128.0) + :fog-dists (new 'static 'vector :x 434176.0 :y 1048576.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog) @@ -1160,11 +1028,9 @@ (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.25 :y 0.6 :z 0.75 :w 1.0) + :lgt-color (new 'static 'vector :x 0.25 :y 0.6 :z 0.75 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.15 :y 0.2 :z 0.25 :w 1.0) + :amb-color (new 'static 'vector :x 0.15 :y 0.2 :z 0.25 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights) @@ -1181,10 +1047,8 @@ (define *maincave-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 255.0 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 128.0 :y 255.0 :z 255.0 :w 255.0) ) (new 'static 'mood-sun) (new 'static 'mood-sun) @@ -1201,8 +1065,7 @@ (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2048000.0 :z 255.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2048000.0 :z 255.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog) @@ -1220,8 +1083,7 @@ (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1024000.0 :z 255.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1024000.0 :z 255.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog) @@ -1239,11 +1101,9 @@ (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 0.3 :y 0.4 :z 0.5 :w 1.0) + :lgt-color (new 'static 'vector :x 0.3 :y 0.4 :z 0.5 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.3 :y 0.4 :z 0.5 :w 1.0) + :amb-color (new 'static 'vector :x 0.3 :y 0.4 :z 0.5 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights) @@ -1260,10 +1120,8 @@ (define *darkcave-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 127.5 :y 255.0 :z 127.5 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 127.5 :y 255.0 :z 127.5 :w 255.0) ) (new 'static 'mood-sun) (new 'static 'mood-sun) @@ -1279,59 +1137,43 @@ (define *misty-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :fog-color (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 128.0) + :fog-dists (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 132.0 :y 140.0 :z 227.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :fog-color (new 'static 'vector :x 132.0 :y 140.0 :z 227.0 :w 128.0) + :fog-dists (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 132.0 :y 140.0 :z 243.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :fog-color (new 'static 'vector :x 132.0 :y 140.0 :z 243.0 :w 128.0) + :fog-dists (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 132.0 :y 140.0 :z 241.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :fog-color (new 'static 'vector :x 132.0 :y 140.0 :z 241.0 :w 128.0) + :fog-dists (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :fog-color (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 128.0) + :fog-dists (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 64.0 :z 152.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :fog-color (new 'static 'vector :y 64.0 :z 152.0 :w 128.0) + :fog-dists (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 32.0 :z 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :fog-color (new 'static 'vector :y 32.0 :z 96.0 :w 128.0) + :fog-dists (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 17.0 :y 119.0 :z 143.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :fog-color (new 'static 'vector :x 17.0 :y 119.0 :z 143.0 :w 128.0) + :fog-dists (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -1341,26 +1183,18 @@ (define *misty-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.877 :y 0.877 :z 0.877 :w 1.0) + :direction (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.877 :y 0.877 :z 0.877 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.375 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.374 :y 0.374 :z 0.375 :w 1.0) + :shadow (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.334 :y 0.348 :z 0.64 :w 1.0) + :direction (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.334 :y 0.348 :z 0.64 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.428 :y 0.44 :z 0.55 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.428 :y 0.44 :z 0.55 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) ) (new 'static 'mood-lights) (new 'static 'mood-lights) @@ -1379,52 +1213,36 @@ (define *misty-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 140.0 :z 227.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 132.0 :y 140.0 :z 227.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 140.0 :z 243.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 132.0 :y 140.0 :z 243.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 140.0 :z 241.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 132.0 :y 140.0 :z 241.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 32.0 :y 48.0 :z 160.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 32.0 :y 48.0 :z 160.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 32.0 :y 48.0 :z 150.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 32.0 :y 48.0 :z 150.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 32.0 :y 100.0 :z 160.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 32.0 :y 100.0 :z 160.0 :w 255.0) ) ) ) @@ -1433,59 +1251,43 @@ (define *village2-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 75.0 :y 82.0 :z 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 75.0 :y 82.0 :z 96.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 100.0 :y 102.0 :z 116.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 102.0) + :fog-color (new 'static 'vector :x 100.0 :y 102.0 :z 116.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 102.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 112.0 :y 114.0 :z 132.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 112.0 :y 114.0 :z 132.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 100.0 :y 102.0 :z 116.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 100.0 :y 102.0 :z 116.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 75.0 :y 82.0 :z 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 75.0 :y 82.0 :z 96.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 27.5 :y 40.0 :z 52.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 27.5 :y 40.0 :z 52.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 10.0 :y 23.0 :z 28.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 10.0 :y 23.0 :z 28.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 5.0 :y 35.0 :z 35.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 5.0 :y 35.0 :z 35.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -1495,46 +1297,32 @@ (define *village2-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) + :direction (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) + :shadow (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) + :direction (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :direction (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + :lgt-color (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + :shadow (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :direction (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + :lgt-color (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + :shadow (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) ) (new 'static 'mood-lights) (new 'static 'mood-lights) @@ -1554,45 +1342,32 @@ (define *village2-mood-sun-table* (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 + :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 133.0 :z 194.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 128.0 :y 133.0 :z 194.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :y 32.0 :z 76.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :y 32.0 :z 76.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 17.0 :y 76.0 :z 96.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 17.0 :y 76.0 :z 96.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 131.0 :z 160.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 132.0 :y 131.0 :z 160.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 126.0 :z 192.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 128.0 :y 126.0 :z 192.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 153.0 :y 141.0 :z 192.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 153.0 :y 141.0 :z 192.0 :w 255.0) ) ) ) @@ -1601,59 +1376,43 @@ (define *swamp-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 22.0 :y 89.0 :z 101.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 22.0 :y 89.0 :z 101.0 :w 128.0) + :fog-dists (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 32.0 :y 105.0 :z 116.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 32.0 :y 105.0 :z 116.0 :w 128.0) + :fog-dists (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 36.0 :y 118.0 :z 130.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 36.0 :y 118.0 :z 130.0 :w 128.0) + :fog-dists (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 32.0 :y 105.0 :z 116.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 32.0 :y 105.0 :z 116.0 :w 128.0) + :fog-dists (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 22.0 :y 89.0 :z 101.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 22.0 :y 89.0 :z 101.0 :w 128.0) + :fog-dists (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 20.0 :y 60.0 :z 70.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 20.0 :y 60.0 :z 70.0 :w 128.0) + :fog-dists (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 12.0 :y 42.0 :z 60.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 12.0 :y 42.0 :z 60.0 :w 128.0) + :fog-dists (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 17.0 :y 76.0 :z 86.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 17.0 :y 76.0 :z 86.0 :w 128.0) + :fog-dists (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -1663,46 +1422,32 @@ (define *swamp-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.825 :y 0.825 :z 0.825 :w 1.0) + :direction (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.825 :y 0.825 :z 0.825 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) + :shadow (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.173 :y 0.259 :z 0.519 :w 1.0) + :direction (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.173 :y 0.259 :z 0.519 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.412 :y 0.463 :z 0.55 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.412 :y 0.463 :z 0.55 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.7094065 :y 0.57357645 :z -0.40957603) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :direction (new 'static 'vector :x 0.7094065 :y 0.57357645 :z -0.40957603) + :lgt-color (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x 0.7094065 :y 0.57357645 :z -0.40957603) + :shadow (new 'static 'vector :x 0.7094065 :y 0.57357645 :z -0.40957603) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.7094065 :y 0.57357645 :z 0.40957603) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :direction (new 'static 'vector :x -0.7094065 :y 0.57357645 :z 0.40957603) + :lgt-color (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x -0.7094065 :y 0.57357645 :z 0.40957603) + :shadow (new 'static 'vector :x -0.7094065 :y 0.57357645 :z 0.40957603) ) (new 'static 'mood-lights) (new 'static 'mood-lights) @@ -1722,45 +1467,32 @@ (define *swamp-mood-sun-table* (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 + :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 24.0 :y 133.0 :z 243.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 24.0 :y 133.0 :z 243.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :y 32.0 :z 96.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :y 32.0 :z 96.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 17.0 :y 119.0 :z 143.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 17.0 :y 119.0 :z 143.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 131.0 :z 200.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 132.0 :y 131.0 :z 200.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 87.0 :y 126.0 :z 227.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 87.0 :y 126.0 :z 227.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 153.0 :y 141.0 :z 240.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 153.0 :y 141.0 :z 240.0 :w 255.0) ) ) ) @@ -1769,20 +1501,14 @@ (define *sunken-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 16.512 :y 26.112 :z 54.912 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1351680.0 :z 255.0) - :erase-color - (new 'static 'vector :x 16.512 :y 26.112 :z 54.912 :w 128.0) + :fog-color (new 'static 'vector :x 16.512 :y 26.112 :z 54.912 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1351680.0 :z 255.0) + :erase-color (new 'static 'vector :x 16.512 :y 26.112 :z 54.912 :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 4.096 :y 15.744 :z 54.912 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1351680.0 :z 255.0) - :erase-color - (new 'static 'vector :x 4.096 :y 15.744 :z 54.912 :w 128.0) + :fog-color (new 'static 'vector :x 4.096 :y 15.744 :z 54.912 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1351680.0 :z 255.0) + :erase-color (new 'static 'vector :x 4.096 :y 15.744 :z 54.912 :w 128.0) ) (new 'static 'mood-fog) (new 'static 'mood-fog) @@ -1798,20 +1524,16 @@ (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.265 :y 0.387 :z 0.509 :w 1.0) + :lgt-color (new 'static 'vector :x 0.265 :y 0.387 :z 0.509 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) + :amb-color (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.172 :y 0.185 :z 0.298 :w 1.0) + :lgt-color (new 'static 'vector :x 0.172 :y 0.185 :z 0.298 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) + :amb-color (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights) @@ -1831,16 +1553,12 @@ (define *sunken-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 127.5 :y 191.25 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 127.5 :y 191.25 :z 255.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 76.5 :y 102.0 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 76.5 :y 102.0 :z 255.0 :w 255.0) ) (new 'static 'mood-sun) (new 'static 'mood-sun) @@ -1855,59 +1573,43 @@ (define *rolling-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 42.0 :y 50.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 42.0 :y 50.0 :z 68.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 94.0 :y 106.0 :z 126.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 94.0 :y 106.0 :z 126.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 104.0 :y 116.0 :z 136.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 104.0 :y 116.0 :z 136.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 94.0 :y 106.0 :z 126.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 94.0 :y 106.0 :z 126.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 42.0 :y 50.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 42.0 :y 50.0 :z 68.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 17.0 :y 26.0 :z 43.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 17.0 :y 26.0 :z 43.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -1917,48 +1619,32 @@ (define *rolling-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) - :lgt-color - (new 'static 'vector :x 0.922 :y 0.905 :z 0.873 :w 1.0) + :direction (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + :lgt-color (new 'static 'vector :x 0.922 :y 0.905 :z 0.873 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) - :shadow - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + :amb-color (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) + :shadow (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) - :lgt-color - (new 'static 'vector :x 0.914 :y 0.898 :z 0.866 :w 1.0) + :direction (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) + :lgt-color (new 'static 'vector :x 0.914 :y 0.898 :z 0.866 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) - :shadow - (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) + :amb-color (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) + :shadow (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.09 :y 0.135 :z 0.225 :w 1.0) + :direction (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.09 :y 0.135 :z 0.225 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) - :lgt-color - (new 'static 'vector :x 0.0464 :y 0.1344 :z 0.1254 :w 1.0) + :direction (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) + :lgt-color (new 'static 'vector :x 0.0464 :y 0.1344 :z 0.1254 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) - :shadow - (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) + :amb-color (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) + :shadow (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) ) (new 'static 'mood-lights) (new 'static 'mood-lights) @@ -1978,45 +1664,32 @@ (define *rolling-mood-sun-table* (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 + :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 133.0 :z 194.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 128.0 :y 133.0 :z 194.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :y 32.0 :z 76.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :y 32.0 :z 76.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 17.0 :y 76.0 :z 96.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 17.0 :y 76.0 :z 96.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 131.0 :z 160.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 132.0 :y 131.0 :z 160.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 126.0 :z 192.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 128.0 :y 126.0 :z 192.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 153.0 :y 141.0 :z 192.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 153.0 :y 141.0 :z 192.0 :w 255.0) ) ) ) @@ -2025,59 +1698,43 @@ (define *firecanyon-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :fog-color (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) + :fog-dists (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :fog-color (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) + :fog-dists (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :fog-color (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) + :fog-dists (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :fog-color (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) + :fog-dists (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :fog-color (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) + :fog-dists (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 140.0 :y 64.5 :z 60.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :fog-color (new 'static 'vector :x 140.0 :y 64.5 :z 60.0 :w 128.0) + :fog-dists (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 128.0 :y 44.0 :z 40.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :fog-color (new 'static 'vector :x 128.0 :y 44.0 :z 40.0 :w 128.0) + :fog-dists (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 140.0 :y 50.0 :z 60.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :fog-color (new 'static 'vector :x 140.0 :y 50.0 :z 60.0 :w 128.0) + :fog-dists (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -2087,53 +1744,36 @@ (define *firecanyon-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.0278 :y 0.6578 :z 0.7526) - :lgt-color - (new 'static 'vector :x 1.0979 :y 1.0567 :z 0.4653 :w 1.0) + :direction (new 'static 'vector :x -0.0278 :y 0.6578 :z 0.7526) + :lgt-color (new 'static 'vector :x 1.0979 :y 1.0567 :z 0.4653 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.574 :y 0.32 :z 0.487 :w 1.0) - :shadow - (new 'static 'vector :x -0.0278 :y 0.6578 :z 0.7526) + :amb-color (new 'static 'vector :x 0.574 :y 0.32 :z 0.487 :w 1.0) + :shadow (new 'static 'vector :x -0.0278 :y 0.6578 :z 0.7526) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25881904 :y 0.9659258) - :lgt-color - (new 'static 'vector :x 1.644 :y 1.598 :z 1.438 :w 128.0) + :direction (new 'static 'vector :x -0.25881904 :y 0.9659258) + :lgt-color (new 'static 'vector :x 1.644 :y 1.598 :z 1.438 :w 128.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.368 :y 0.368 :z 0.4 :w 1.0) - :shadow - (new 'static 'vector :x -0.25881904 :y 0.9659258) + :amb-color (new 'static 'vector :x 0.368 :y 0.368 :z 0.4 :w 1.0) + :shadow (new 'static 'vector :x -0.25881904 :y 0.9659258) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.0353 :y 0.8338 :z -0.5508 :w 1.0) - :lgt-color - (new 'static 'vector :x 1.1419 :y 0.8887 :z 0.3513 :w 1.0) + :direction (new 'static 'vector :x -0.0353 :y 0.8338 :z -0.5508 :w 1.0) + :lgt-color (new 'static 'vector :x 1.1419 :y 0.8887 :z 0.3513 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.347 :y 0.362 :z 0.487 :w 1.0) - :shadow - (new 'static 'vector :x -0.0353 :y 0.8338 :z -0.5508 :w 1.0) + :amb-color (new 'static 'vector :x 0.347 :y 0.362 :z 0.487 :w 1.0) + :shadow (new 'static 'vector :x -0.0353 :y 0.8338 :z -0.5508 :w 1.0) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365 :y 0.4829 :z 0.2588) - :lgt-color - (new 'static 'vector :x 0.1824 :y 0.2574 :z 0.6964 :w 1.0) + :direction (new 'static 'vector :x 0.8365 :y 0.4829 :z 0.2588) + :lgt-color (new 'static 'vector :x 0.1824 :y 0.2574 :z 0.6964 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.434 :y 0.423 :z 0.625 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365 :y 0.4829 :z 0.2588) + :amb-color (new 'static 'vector :x 0.434 :y 0.423 :z 0.625 :w 1.0) + :shadow (new 'static 'vector :x 0.8365 :y 0.4829 :z 0.2588) ) (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :lgt-color (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :shadow (new 'static 'vector :y -1.0) ) @@ -2155,52 +1795,36 @@ (define *firecanyon-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 200.0 :y 200.0 :z 128.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 200.0 :y 200.0 :z 128.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 200.0 :y 200.0 :z 200.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 200.0 :y 200.0 :z 200.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 200.0 :y 200.0 :z 200.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 200.0 :y 200.0 :z 200.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 96.0 :y 96.0 :z 150.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 96.0 :y 96.0 :z 150.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 96.0 :y 200.0 :z 150.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 96.0 :y 200.0 :z 150.0 :w 255.0) ) ) ) @@ -2209,59 +1833,43 @@ (define *ogre-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 18.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 18.0 :z 18.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -2271,68 +1879,46 @@ (define *ogre-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) - :lgt-color - (new 'static 'vector :x 1.154 :y 1.132 :z 1.093 :w 1.0) + :direction (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + :lgt-color (new 'static 'vector :x 1.154 :y 1.132 :z 1.093 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) - :shadow - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + :amb-color (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) + :shadow (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) - :lgt-color - (new 'static 'vector :x 1.144 :y 1.124 :z 0.939 :w 1.0) + :direction (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) + :lgt-color (new 'static 'vector :x 1.144 :y 1.124 :z 0.939 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) - :shadow - (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) + :amb-color (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) + :shadow (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.113 :y 0.169 :z 0.282 :w 1.0) + :direction (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.113 :y 0.169 :z 0.282 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) - :lgt-color - (new 'static 'vector :x 0.058 :y 0.168 :z 0.157 :w 1.0) + :direction (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) + :lgt-color (new 'static 'vector :x 0.058 :y 0.168 :z 0.157 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) - :shadow - (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) + :amb-color (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) + :shadow (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :direction (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + :lgt-color (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + :shadow (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :direction (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + :lgt-color (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + :shadow (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) ) (new 'static 'mood-lights) (new 'static 'mood-lights) @@ -2355,68 +1941,46 @@ (define *ogre2-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) + :direction (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) + :shadow (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) + :direction (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) + :shadow (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) + :direction (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) + :direction (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :direction (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + :lgt-color (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + :shadow (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :direction (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + :lgt-color (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + :shadow (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) ) (new 'static 'mood-lights) (new 'static 'mood-lights) @@ -2439,10 +2003,8 @@ (define *ogre3-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 255.0 :y 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 393216.0 :y 7458816.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 255.0 :y 96.0 :w 128.0) + :fog-dists (new 'static 'vector :x 393216.0 :y 7458816.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog) @@ -2460,13 +2022,10 @@ (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights :direction (new 'static 'vector :y 0.666 :z 0.745) - :lgt-color - (new 'static 'vector :x 0.6 :y 0.51 :z 0.51 :w 1.0) + :lgt-color (new 'static 'vector :x 0.6 :y 0.51 :z 0.51 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.313 :y 0.375 :z 0.375 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.313 :y 0.375 :z 0.375 :w 1.0) + :shadow (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) ) (new 'static 'mood-lights) (new 'static 'mood-lights) @@ -2484,59 +2043,43 @@ (define *village3-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 18.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 18.0 :z 18.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -2546,41 +2089,31 @@ (define *village3-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.067 :y 0.25 :z 0.966) + :direction (new 'static 'vector :x -0.067 :y 0.25 :z 0.966) :lgt-color (new 'static 'vector :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.449 :y 0.35 :z 0.599 :w 1.0) + :amb-color (new 'static 'vector :x 0.449 :y 0.35 :z 0.599 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.259 :y 0.966) - :lgt-color - (new 'static 'vector :x 0.66 :y 0.436 :z 0.291 :w 1.0) + :direction (new 'static 'vector :x -0.259 :y 0.966) + :lgt-color (new 'static 'vector :x 0.66 :y 0.436 :z 0.291 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.358 :y 0.575 :z 0.716 :w 1.0) + :amb-color (new 'static 'vector :x 0.358 :y 0.575 :z 0.716 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.067 :y 0.25 :z -0.966) - :lgt-color - (new 'static 'vector :x 1.056 :y 0.747 :w 1.0) + :direction (new 'static 'vector :x -0.067 :y 0.25 :z -0.966) + :lgt-color (new 'static 'vector :x 1.056 :y 0.747 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.383 :y 0.366 :z 0.599 :w 1.0) + :amb-color (new 'static 'vector :x 0.383 :y 0.366 :z 0.599 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :x 0.866 :y 0.5) - :lgt-color - (new 'static 'vector :x 0.067 :y 0.089 :z 0.333 :w 1.0) + :lgt-color (new 'static 'vector :x 0.067 :y 0.089 :z 0.333 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.304 :y 0.409 :z 0.76 :w 1.0) + :amb-color (new 'static 'vector :x 0.304 :y 0.409 :z 0.76 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights) @@ -2594,10 +2127,8 @@ (define *lavatube-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 255.0 :y 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1851392.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 255.0 :y 96.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1851392.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog) @@ -2615,59 +2146,50 @@ (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.19 :y 0.128 :z 0.128 :w 1.0) + :lgt-color (new 'static 'vector :x 0.19 :y 0.128 :z 0.128 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.31 :y 0.372 :z 0.372 :w 1.0) + :amb-color (new 'static 'vector :x 0.31 :y 0.372 :z 0.372 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :lgt-color (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :lgt-color (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :lgt-color (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :lgt-color (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :lgt-color (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :lgt-color (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :lgt-color (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :shadow (new 'static 'vector :y -1.0) ) @@ -2680,10 +2202,8 @@ (define *lavatube-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 175.0 :z 128.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 175.0 :z 128.0 :w 255.0) ) (new 'static 'mood-sun) (new 'static 'mood-sun) @@ -2699,52 +2219,36 @@ (define *finalboss-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 109.0 :y 64.0 :z 160.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 109.0 :y 64.0 :z 160.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 96.0 :y 96.0 :z 196.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 96.0 :y 96.0 :z 196.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 150.0 :z 196.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 64.0 :y 150.0 :z 196.0 :w 255.0) ) ) ) @@ -2753,58 +2257,43 @@ (define *finalboss-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 45.0 :z 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 909312.0 :y 1912832.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 45.0 :z 96.0 :w 128.0) + :fog-dists (new 'static 'vector :x 909312.0 :y 1912832.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 51.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -2895,8 +2384,7 @@ (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2252800.0 :z 255.0 :w 25.5) + :fog-dists (new 'static 'vector :x 262144.0 :y 2252800.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog) @@ -2914,11 +2402,9 @@ (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.75 :y 0.725 :z 0.5 :w 1.0) + :lgt-color (new 'static 'vector :x 0.75 :y 0.725 :z 0.5 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.3 :y 0.3 :z 0.3 :w 1.0) + :amb-color (new 'static 'vector :x 0.3 :y 0.3 :z 0.3 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights) @@ -2936,8 +2422,7 @@ (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 96.0 :y 96.0 :z 96.0 :w 255.0) + :env-color (new 'static 'vector :x 96.0 :y 96.0 :z 96.0 :w 255.0) ) (new 'static 'mood-sun) (new 'static 'mood-sun) diff --git a/goal_src/engine/ambient/mood.gc b/goal_src/engine/ambient/mood.gc index 19e38cc0bd..e877d5cc16 100644 --- a/goal_src/engine/ambient/mood.gc +++ b/goal_src/engine/ambient/mood.gc @@ -494,168 +494,62 @@ (none) ) -(define *flash0* (the-as (array float) (new - 'static - 'boxed-array - :type float :length 13 :allocated-length 13 - 1.0 - 0.0 - 0.5 - 1.0 - 0.5 - 0.0 - 0.5 - 0.35 - 0.4 - 0.35 - 0.25 - 0.1 - 0.04 - ) - ) - ) - -(define *flash1* - (the-as (array float) - (new 'static 'boxed-array :type float :length 9 :allocated-length 9 1.0 0.8 0.0 1.0 0.5 1.0 0.4 0.2 0.1) - ) +(define *flash0* + (new 'static 'boxed-array :type float 1.0 0.0 0.5 1.0 0.5 0.0 0.5 0.35 0.4 0.35 0.25 0.1 0.04) ) -(define *flash2* - (the-as (array float) - (new 'static 'boxed-array :type float :length 10 :allocated-length 10 1.0 0.9 0.8 0.7 0.0 0.0 1.0 0.0 1.0 0.5) - ) +(define *flash1* (new 'static 'boxed-array :type float 1.0 0.8 0.0 1.0 0.5 1.0 0.4 0.2 0.1)) + +(define *flash2* (new 'static 'boxed-array :type float 1.0 0.9 0.8 0.7 0.0 0.0 1.0 0.0 1.0 0.5)) + +(define *flash3* (new 'static 'boxed-array :type float 0.5 0.0 1.0 0.9 1.0 0.8 0.3 0.0 0.0 0.5 0.1 0.5 0.35)) + +(define *flash4* + (new 'static 'boxed-array :type float 1.0 0.0 1.0 0.0 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.5 0.4 0.3 0.2 0.1) ) -(define *flash3* (the-as (array float) (new - 'static - 'boxed-array - :type float :length 13 :allocated-length 13 - 0.5 - 0.0 - 1.0 - 0.9 - 1.0 - 0.8 - 0.3 - 0.0 - 0.0 - 0.5 - 0.1 - 0.5 - 0.35 - ) - ) +(define *flash5* (new 'static 'boxed-array :type float + 1.0 + 0.0 + 1.0 + 0.0 + 1.0 + 0.95 + 0.9 + 0.85 + 0.8 + 0.75 + 0.7 + 0.65 + 0.6 + 0.55 + 0.5 + 0.45 + 0.4 + 0.35 + 0.3 + 0.25 + 0.2 + 0.5 + 0.45 + 0.4 + 0.35 + 0.3 + 0.25 + 0.2 + 0.15 + 0.1 + 0.05 + ) ) -(define *flash4* (the-as (array float) (new - 'static - 'boxed-array - :type float :length 18 :allocated-length 18 - 1.0 - 0.0 - 1.0 - 0.0 - 1.0 - 0.9 - 0.8 - 0.7 - 0.6 - 0.5 - 0.4 - 0.3 - 0.2 - 0.5 - 0.4 - 0.3 - 0.2 - 0.1 - ) - ) - ) +(define *flash6* + (new 'static 'boxed-array :type float 1.0 0.0 1.0 0.0 0.5 0.0 0.5 0.35 0.0 0.0 1.0 0.0 0.2 0.1) + ) -(define *flash5* (the-as (array float) (new - 'static - 'boxed-array - :type float :length 31 :allocated-length 31 - 1.0 - 0.0 - 1.0 - 0.0 - 1.0 - 0.95 - 0.9 - 0.85 - 0.8 - 0.75 - 0.7 - 0.65 - 0.6 - 0.55 - 0.5 - 0.45 - 0.4 - 0.35 - 0.3 - 0.25 - 0.2 - 0.5 - 0.45 - 0.4 - 0.35 - 0.3 - 0.25 - 0.2 - 0.15 - 0.1 - 0.05 - ) - ) - ) - -(define *flash6* (the-as (array float) (new - 'static - 'boxed-array - :type float :length 14 :allocated-length 14 - 1.0 - 0.0 - 1.0 - 0.0 - 0.5 - 0.0 - 0.5 - 0.35 - 0.0 - 0.0 - 1.0 - 0.0 - 0.2 - 0.1 - ) - ) - ) - -(define *flash7* (the-as (array float) (new - 'static - 'boxed-array - :type float :length 14 :allocated-length 14 - 1.0 - 0.8 - 0.3 - 0.0 - 0.6 - 0.5 - 0.4 - 0.3 - 0.2 - 0.5 - 0.4 - 0.3 - 0.2 - 0.1 - ) - ) - ) +(define *flash7* + (new 'static 'boxed-array :type float 1.0 0.8 0.3 0.0 0.6 0.5 0.4 0.3 0.2 0.5 0.4 0.3 0.2 0.1) + ) (define *lightning-index* 0) @@ -1721,16 +1615,14 @@ (define *rolling-spheres-light2* (new 'static 'light-ellipse - :matrix - (new 'static 'matrix :vector (new 'static 'inline-array vector 4 + :matrix (new 'static 'matrix :vector (new 'static 'inline-array vector 4 (new 'static 'vector :x -581632.0 :y 114688.0 :z -6479872.0 :w 24576.0) (new 'static 'vector :x -737280.0 :y 110592.0 :z -7159808.0 :w 24576.0) (new 'static 'vector :x -733184.0 :y 110592.0 :z -7266304.0 :w 24576.0) (new 'static 'vector :x -1363968.0 :y 110592.0 :z -6578176.0 :w 24576.0) ) ) - :color - (new 'static 'rgbaf :x -1404928.0 :y 110592.0 :z -6541312.0 :w 24576.0) + :color (new 'static 'rgbaf :x -1404928.0 :y 110592.0 :z -6541312.0 :w 24576.0) ) ) @@ -2554,8 +2446,8 @@ (cond ((or (logtest? (get-reminder (get-task-control (game-task finalboss-movies)) 0) 1) (not *time-of-day-effects*)) (when (and *target* (= (-> *target* next-state name) 'target-continue)) - (set! (-> s4-0 start-time) (+ (-> *display* base-frame-counter) (seconds -33.333332))) - (set! (-> s4-0 secret-time) (+ (-> *display* base-frame-counter) (seconds -33.333332))) + (set! (-> s4-0 start-time) (+ (-> *display* base-frame-counter) (seconds -33.335))) + (set! (-> s4-0 secret-time) (+ (-> *display* base-frame-counter) (seconds -33.335))) ) (update-mood-fog arg0 arg1) (update-mood-sky-texture arg0 arg1) diff --git a/goal_src/engine/ambient/weather-part.gc b/goal_src/engine/ambient/weather-part.gc index f0093f91d5..54bcc23c1c 100644 --- a/goal_src/engine/ambient/weather-part.gc +++ b/goal_src/engine/ambient/weather-part.gc @@ -11,8 +11,7 @@ :id 188 :flags (screen-space) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 18 :binding 19) + :parts ((sp-item 18 :binding 19) (sp-item 19 :flags (start-dead launch-asap) :binding 20) (sp-item 19 :flags (start-dead launch-asap) :binding 20) (sp-item 19 :flags (start-dead launch-asap) :binding 20) @@ -84,8 +83,7 @@ (define group-rain-screend-drop (-> *part-group-id-table* 188)) (defpart 21 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -4.5) (meters 9) 1.0) (sp-rnd-flt spt-y (meters -3) (meters 6) 1.0) @@ -105,8 +103,7 @@ ) (defpart 22 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.5)) (sp-copy-from-other spt-scale-y -4) @@ -126,16 +123,14 @@ ) (defpart 24 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.004166667)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.004166667)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.06666667) ) ) (defpart 23 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-int spt-rot-x 12) (sp-flt spt-r 4096.0) (sp-flt spt-g 3276.8) @@ -152,13 +147,11 @@ ) (defpart 25 - :init-specs - ((sp-flt spt-fade-g -5.1200004)) + :init-specs ((sp-flt spt-fade-g -5.1200004)) ) (defpart 18 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -4.5) (meters 9) 1.0) (sp-rnd-flt spt-y (meters -3) (meters 6) 1.0) @@ -178,8 +171,7 @@ ) (defpart 19 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2.6)) (sp-copy-from-other spt-scale-y -4) @@ -199,16 +191,14 @@ ) (defpart 26 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.008333334)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.008333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.06666667) ) ) (defpart 20 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-int spt-rot-x 24) (sp-flt spt-r 12288.0) (sp-flt spt-g 6553.6) @@ -225,21 +215,18 @@ ) (defpart 27 - :init-specs - ((sp-flt spt-fade-g -10.240001)) + :init-specs ((sp-flt spt-fade-g -10.240001)) ) (defpartgroup group-stars :id 34 :flags (always-draw) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 28) (sp-item 29) (sp-item 30)) + :parts ((sp-item 28) (sp-item 29) (sp-item 30)) ) (defpart 28 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 40) (meters 40) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -260,18 +247,15 @@ ) (defpart 31 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 29999700) (sp-launcher-by-id spt-next-launcher 32)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 29999700) (sp-launcher-by-id spt-next-launcher 32)) ) (defpart 32 - :init-specs - ((sp-flt spt-fade-a -0.42666668)) + :init-specs ((sp-flt spt-fade-a -0.42666668)) ) (defpart 29 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 40) (meters 40) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -292,8 +276,7 @@ ) (defpart 30 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 40) (meters 40) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -314,8 +297,7 @@ ) (defpart 33 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters 10) (meters 10) 1.0) (sp-rnd-flt spt-y (meters 2) (meters 14) 1.0) @@ -339,8 +321,7 @@ ) (defpart 34 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.0) (sp-rnd-flt spt-x (meters 0) (meters 20) 1.0) (sp-flt spt-y (meters 16)) @@ -364,13 +345,11 @@ ) (defpart 35 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 1200) (sp-launcher-by-id spt-next-launcher 36)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 1200) (sp-launcher-by-id spt-next-launcher 36)) ) (defpart 36 - :init-specs - ((sp-flt spt-fade-a -0.85333335)) + :init-specs ((sp-flt spt-fade-a -0.85333335)) ) (defun update-snow ((arg0 target)) @@ -404,8 +383,7 @@ ) (defpart 37 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters 0) (meters 20) 1.0) (sp-flt spt-y (meters 16)) @@ -425,8 +403,7 @@ ) (defpart 38 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 4.5) (sp-rnd-flt spt-x (meters 0) (meters 20) 1.0) (sp-flt spt-y (meters 16)) @@ -444,8 +421,7 @@ ) (defpart 39 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-int spt-num 0 1 2.0) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -464,8 +440,7 @@ ) (defpart 40 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.02)) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -608,13 +583,11 @@ :id 35 :flags (always-draw) :bounds (static-bspherem 0 0 0 70) - :parts - ((sp-item 1950) (sp-item 1951) (sp-item 1952)) + :parts ((sp-item 1950) (sp-item 1951) (sp-item 1952)) ) (defpart 1950 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1200)) (sp-copy-from-other spt-scale-y -4) @@ -630,8 +603,7 @@ ) (defpart 1951 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2800)) (sp-flt spt-rot-z (degrees 0.0)) @@ -649,8 +621,7 @@ ) (defpart 1952 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2200)) (sp-flt spt-rot-z (degrees 0.0)) @@ -671,13 +642,11 @@ :id 36 :flags (always-draw) :bounds (static-bspherem 0 0 0 70) - :parts - ((sp-item 1974) (sp-item 1975) (sp-item 1976)) + :parts ((sp-item 1974) (sp-item 1975) (sp-item 1976)) ) (defpart 1974 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 600)) (sp-copy-from-other spt-scale-y -4) @@ -693,8 +662,7 @@ ) (defpart 1975 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1400)) (sp-flt spt-rot-z (degrees 0.0)) @@ -712,8 +680,7 @@ ) (defpart 1976 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1100)) (sp-flt spt-rot-z (degrees 0.0)) diff --git a/goal_src/engine/camera/cam-combiner.gc b/goal_src/engine/camera/cam-combiner.gc index d298d4dd95..5b9506a66e 100644 --- a/goal_src/engine/camera/cam-combiner.gc +++ b/goal_src/engine/camera/cam-combiner.gc @@ -8,8 +8,7 @@ ;; DECOMP BEGINS (defstate cam-combiner-active (camera-combiner) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -175,8 +174,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (local-vars (sv-160 cam-rotation-tracker)) (loop (when (and (zero? (logand (-> *camera* master-options) 2)) (!= (-> self tracking-status) 0)) @@ -318,7 +316,7 @@ ) ) ((and (< 16384.0 f28-1) (< (vector-dot (-> self flip-control-axis) s4-1) 0.0)) - (set! (-> *camera* master-options) (logxor (-> *camera* master-options) 16)) + (logxor! (-> *camera* master-options) 16) ) ) (set! (-> self flip-control-axis quad) (-> s4-1 quad)) diff --git a/goal_src/engine/camera/cam-layout.gc b/goal_src/engine/camera/cam-layout.gc index 5c196389cc..22a08d8617 100644 --- a/goal_src/engine/camera/cam-layout.gc +++ b/goal_src/engine/camera/cam-layout.gc @@ -2534,41 +2534,27 @@ (define *clm-focalpull-attr* (new 'static 'clm :title "---focalpull attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " ok" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) (new 'static 'clm-item :description "adjust" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) + :action (new 'static 'clm-item-action :button #x4000 :func #f) ) (new 'static 'clm-list :tracker #f - :items - (new - 'static - 'boxed-array - :type clm-list-item :length 2 :allocated-length 2 + :items (new 'static 'boxed-array :type clm-list-item (new 'static 'clm-list-item :description "radial " :track-val #f :val-func 'clmf-cam-flag :val-parm0 16 :val-parm1-basic 'focalpull-flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 @@ -2584,15 +2570,14 @@ :val-func 'clmf-cam-flag :val-parm0 8 :val-parm1-basic 'focalpull-flags - :actions - (new 'static 'boxed-array :type clm-item-action :length 1 :allocated-length 1 (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 8 - :parm1-basic 'focalpull-flags - ) - ) + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 8 + :parm1-basic 'focalpull-flags + ) + ) ) ) ) @@ -2603,41 +2588,27 @@ (define *clm-index-attr* (new 'static 'clm :title "---index attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " ok" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) (new 'static 'clm-item :description "adjust" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) + :action (new 'static 'clm-item-action :button #x4000 :func #f) ) (new 'static 'clm-list :tracker #f - :items - (new - 'static - 'boxed-array - :type clm-list-item :length 2 :allocated-length 2 + :items (new 'static 'boxed-array :type clm-list-item (new 'static 'clm-list-item :description "radial " :track-val #f :val-func 'clmf-cam-flag :val-parm0 16 :val-parm1-basic 'campoints-flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 @@ -2653,15 +2624,14 @@ :val-func 'clmf-cam-flag :val-parm0 8 :val-parm1-basic 'campoints-flags - :actions - (new 'static 'boxed-array :type clm-item-action :length 1 :allocated-length 1 (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 8 - :parm1-basic 'campoints-flags - ) - ) + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 8 + :parm1-basic 'campoints-flags + ) + ) ) ) ) @@ -2672,65 +2642,49 @@ (define *clm-intro-attr* (new 'static 'clm :title "---intro attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " ok" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) (new 'static 'clm-item :description "adjust" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) + :action (new 'static 'clm-item-action :button #x4000 :func #f) + ) + (new 'static 'clm-list + :tracker #f + :items (new 'static 'boxed-array :type clm-list-item + (new 'static 'clm-list-item + :description "time " + :track-val #f + :val-func 'clmf-cam-intro-time + :val-parm0-basic 'intro-time + :actions (new 'static 'boxed-array :type clm-item-action + (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'intro-time-offset + :parm1-basic (new 'static 'bfloat :data 0.01) + ) + ) + ) + (new 'static 'clm-list-item + :description "exitValue" + :track-val #f + :val-func 'clmf-cam-float + :val-parm0-basic 'intro-exitValue + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'intro-exitValue-offset + :parm1-basic (new 'static 'bfloat :data 0.001) + ) + ) + ) + ) ) - (new 'static 'clm-list :tracker #f :items (new - 'static - 'boxed-array - :type clm-list-item :length 2 :allocated-length 2 - (new 'static 'clm-list-item - :description "time " - :track-val #f - :val-func 'clmf-cam-intro-time - :val-parm0-basic 'intro-time - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'intro-time-offset - :parm1-basic (new 'static 'bfloat :data 0.01) - ) - ) - ) - (new 'static 'clm-list-item - :description "exitValue" - :track-val #f - :val-func 'clmf-cam-float - :val-parm0-basic 'intro-exitValue - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'intro-exitValue-offset - :parm1-basic (new 'static 'bfloat :data 0.001) - ) - ) - ) - ) - ) ) ) ) @@ -2738,47 +2692,35 @@ (define *clm-spline-attr* (new 'static 'clm :title "---spline attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " ok" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) (new 'static 'clm-item :description "adjust" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) + :action (new 'static 'clm-item-action :button #x4000 :func #f) + ) + (new 'static 'clm-list + :tracker #f + :items (new 'static 'boxed-array :type clm-list-item + (new 'static 'clm-list-item + :description "followDist" + :track-val #f + :val-func 'clmf-cam-meters + :val-parm0-basic 'spline-follow-dist + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'spline-follow-dist-offset + :parm1-basic (new 'static 'bfloat :data 409.6) + ) + ) + ) + ) ) - (new 'static 'clm-list :tracker #f :items (new - 'static - 'boxed-array - :type clm-list-item :length 1 :allocated-length 1 - (new 'static 'clm-list-item - :description "followDist" - :track-val #f - :val-func 'clmf-cam-meters - :val-parm0-basic 'spline-follow-dist - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'spline-follow-dist-offset - :parm1-basic (new 'static 'bfloat :data 409.6) - ) - ) - ) - ) - ) ) ) ) @@ -2786,45 +2728,34 @@ (define *clm-vol-attr* (new 'static 'clm :title "---volume attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " ok" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) (new 'static 'clm-item :description "adjust" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) + :action (new 'static 'clm-item-action :button #x4000 :func #f) ) (new 'static 'clm-list :tracker #f - :items - (new - 'static - 'boxed-array - :type clm-list-item :length 1 :allocated-length 1 + :items (new 'static 'boxed-array :type clm-list-item (new 'static 'clm-list-item :description "airSwitch" :track-val #f :val-func 'clmf-cam-flag :val-parm0 8 :val-parm1-basic 'vol-flags - :actions - (new 'static 'boxed-array :type clm-item-action :length 1 :allocated-length 1 (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 8 - :parm1-basic 'vol-flags - ) - ) + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 8 + :parm1-basic 'vol-flags + ) + ) ) ) ) @@ -2835,41 +2766,27 @@ (define *clm-cam-attr* (new 'static 'clm :title "---camera attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " ok" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) (new 'static 'clm-item :description "adjust" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) + :action (new 'static 'clm-item-action :button #x4000 :func #f) ) (new 'static 'clm-list :tracker #f - :items - (new - 'static - 'boxed-array - :type clm-list-item :length 18 :allocated-length 18 + :items (new 'static 'boxed-array :type clm-list-item (new 'static 'clm-list-item :description "drag " :track-val #f :val-func 'clmf-cam-flag :val-parm0 #x400 :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 @@ -2884,11 +2801,7 @@ :track-val #f :val-func 'clmf-cam-fov :val-parm0-basic 'fov - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -2902,11 +2815,7 @@ :track-val #f :val-func 'clmf-cam-deg :val-parm0-basic 'focalPull - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -2920,11 +2829,7 @@ :track-val #f :val-func 'clmf-cam-interp-time :val-parm0-basic 'interpTime - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -2939,11 +2844,7 @@ :val-func 'clmf-cam-flag :val-parm0 16 :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 @@ -2959,11 +2860,7 @@ :val-func 'clmf-cam-flag :val-parm0 32 :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 @@ -2978,11 +2875,7 @@ :track-val #f :val-func 'clmf-cam-meters :val-parm0-basic 'stringMinLength - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -2996,11 +2889,7 @@ :track-val #f :val-func 'clmf-cam-meters :val-parm0-basic 'stringMaxLength - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -3014,11 +2903,7 @@ :track-val #f :val-func 'clmf-cam-meters :val-parm0-basic 'stringMinHeight - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -3032,11 +2917,7 @@ :track-val #f :val-func 'clmf-cam-meters :val-parm0-basic 'stringMaxHeight - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -3050,11 +2931,7 @@ :track-val #f :val-func 'clmf-cam-meters :val-parm0-basic 'stringCliffHeight - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -3068,19 +2945,14 @@ :track-val #f :val-func 'clmf-cam-string :val-parm0-basic 'alternates - :actions - (new 'static 'boxed-array :type clm-item-action :length 0 :allocated-length 0) + :actions (new 'static 'boxed-array :type clm-item-action) ) (new 'static 'clm-list-item :description "maxAngle " :track-val #f :val-func 'clmf-cam-deg :val-parm0-basic 'maxAngle - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -3095,11 +2967,7 @@ :val-func 'clmf-cam-flag :val-parm0 #x4000 :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 @@ -3115,11 +2983,7 @@ :val-func 'clmf-cam-flag :val-parm0 #x40000 :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 @@ -3134,11 +2998,7 @@ :track-val #f :val-func 'clmf-cam-deg :val-parm0-basic 'tiltAdjust - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -3153,11 +3013,7 @@ :val-func 'clmf-cam-flag :val-parm0 #x80000 :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 @@ -3173,15 +3029,14 @@ :val-func 'clmf-cam-flag :val-parm0 #x100000 :val-parm1-basic 'flags - :actions - (new 'static 'boxed-array :type clm-item-action :length 1 :allocated-length 1 (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 #x100000 - :parm1-basic 'flags - ) - ) + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 #x100000 + :parm1-basic 'flags + ) + ) ) ) ) @@ -3192,28 +3047,21 @@ (define *clm-cam-lookthrough* (new 'static 'clm :title "---cam-lookthrough---" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 5 :allocated-length 5 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " " :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :options #x4 :func 'clmf-look-through) + :action (new 'static 'clm-item-action :button #x4000 :options #x4 :func 'clmf-look-through) ) (new 'static 'clm-item :description " ok" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-to-edit) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-to-edit) ) (new 'static 'clm-item :description "pos/rot" :button-symbol 'x - :action - (new 'static 'clm-item-action + :action (new 'static 'clm-item-action :button #x4000 :options #x8 :func 'clmf-pos-rot @@ -3224,33 +3072,26 @@ (new 'static 'clm-item :description " adjust" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) + :action (new 'static 'clm-item-action :button #x4000 :func #f) + ) + (new 'static 'clm-list + :tracker #f + :items (new 'static 'boxed-array :type clm-list-item + (new 'static 'clm-list-item + :description "fov" + :track-val #f + :val-func 'clmf-cam-fov + :val-parm0-basic 'fov + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'fov-offset + :parm1-basic (new 'static 'bfloat :data 91.022224) + ) + ) + ) + ) ) - (new 'static 'clm-list :tracker #f :items (new - 'static - 'boxed-array - :type clm-list-item :length 1 :allocated-length 1 - (new 'static 'clm-list-item - :description "fov" - :track-val #f - :val-func 'clmf-cam-fov - :val-parm0-basic 'fov - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'fov-offset - :parm1-basic (new 'static 'bfloat :data 91.022224) - ) - ) - ) - ) - ) ) ) ) @@ -3258,57 +3099,40 @@ (define *clm-edit* (new 'static 'clm :title "---edit---" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 6 :allocated-length 6 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " ok" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-to-select) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-to-select) ) (new 'static 'clm-item :description "attributes" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :options #x1 :func #f) + :action (new 'static 'clm-item-action :button #x4000 :options #x1 :func #f) ) (new 'static 'clm-item :description " edit part" :button-symbol 'circle - :action - (new 'static 'clm-item-action :button #x2000 :options #x1 :func #f) + :action (new 'static 'clm-item-action :button #x2000 :options #x1 :func #f) ) (new 'static 'clm-item :description "scale/next" :button-symbol 'r2 - :action - (new 'static 'clm-item-action :button #x200 :func #f) + :action (new 'static 'clm-item-action :button #x200 :func #f) ) (new 'static 'clm-item :description " pos/rot" :button-symbol 'l2 - :action - (new 'static 'clm-item-action :button #x100 :func #f) + :action (new 'static 'clm-item-action :button #x100 :func #f) ) (new 'static 'clm-list :tracker '*camera-layout-blink* - :items - (new - 'static - 'boxed-array - :type clm-list-item :length 9 :allocated-length 9 + :items (new 'static 'boxed-array :type clm-list-item (new 'static 'clm-list-item :description "camera " :track-val 'camera :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 :func '*clm-cam-attr*) (new 'static 'clm-item-action :button #x2000 :func '*clm-cam-lookthrough*) (new 'static 'clm-item-action :button #x200 :func 'clmf-bna) @@ -3324,11 +3148,7 @@ :description "volume " :track-val 'volume :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-to-vol-attr) (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) (new 'static 'clm-item-action :button #x200 :func 'clmf-next-vol-dpad) @@ -3339,11 +3159,7 @@ :description "align " :track-val 'align :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-bna) (new 'static 'clm-item-action :button #x2000 :func 'clmf-bna) (new 'static 'clm-item-action :button #x200 :func 'clmf-bna) @@ -3354,11 +3170,7 @@ :description "pivot " :track-val 'pivot :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-bna) (new 'static 'clm-item-action :button #x2000 :func 'clmf-bna) (new 'static 'clm-item-action :button #x200 :func 'clmf-bna) @@ -3369,11 +3181,7 @@ :description "interesting" :track-val 'interesting :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-bna) (new 'static 'clm-item-action :button #x2000 :func 'clmf-bna) (new 'static 'clm-item-action :button #x200 :func 'clmf-bna) @@ -3389,11 +3197,7 @@ :description "spline " :track-val 'spline :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-to-spline-attr) (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) (new 'static 'clm-item-action :button #x200 :func 'clmf-implement) @@ -3404,11 +3208,7 @@ :description "intro " :track-val 'intro :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-to-intro-attr) (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) (new 'static 'clm-item-action :button #x200 :func 'clmf-implement) @@ -3419,11 +3219,7 @@ :description "index " :track-val 'index :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-to-index-attr) (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) (new 'static 'clm-item-action :button #x200 :func 'clmf-implement) @@ -3434,11 +3230,7 @@ :description "focalpull" :track-val 'focalpull :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-to-focalpull-attr) (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) (new 'static 'clm-item-action :button #x200 :func 'clmf-implement) @@ -3454,28 +3246,21 @@ (define *clm-save-all* (new 'static 'clm :title "---save all?---" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " save all" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-save-all :parm0 16) + :action (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-save-all :parm0 16) ) (new 'static 'clm-item :description "print all" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-save-all :parm0 8) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-save-all :parm0 8) ) (new 'static 'clm-item :description " done" :button-symbol 'triangle - :action - (new 'static 'clm-item-action :button #x1000 :options #x1 :func 'clmf-to-select) + :action (new 'static 'clm-item-action :button #x1000 :options #x1 :func 'clmf-to-select) ) ) ) @@ -3484,28 +3269,21 @@ (define *clm-save-one* (new 'static 'clm :title "---single save?---" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " single save" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-save-one :parm0 16) + :action (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-save-one :parm0 16) ) (new 'static 'clm-item :description "single print" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-save-one :parm0 8) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-save-one :parm0 8) ) (new 'static 'clm-item :description " done" :button-symbol 'triangle - :action - (new 'static 'clm-item-action :button #x1000 :options #x1 :func 'clmf-to-select) + :action (new 'static 'clm-item-action :button #x1000 :options #x1 :func 'clmf-to-select) ) ) ) @@ -3514,46 +3292,36 @@ (define *clm-select* (new 'static 'clm :title "---camera---" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 6 :allocated-length 6 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " edit" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :options #x3 :func 'clmf-to-edit-cam) + :action (new 'static 'clm-item-action :button #x4000 :options #x3 :func 'clmf-to-edit-cam) ) (new 'static 'clm-item :description "save one" :button-symbol 'triangle - :action - (new 'static 'clm-item-action :button #x1000 :options #x3 :func '*clm-save-one*) + :action (new 'static 'clm-item-action :button #x1000 :options #x3 :func '*clm-save-one*) ) (new 'static 'clm-item :description " next" :button-symbol 'down - :action - (new 'static 'clm-item-action :button #x40 :options #x3 :func 'clmf-next-entity :parm0 8) + :action (new 'static 'clm-item-action :button #x40 :options #x3 :func 'clmf-next-entity :parm0 8) ) (new 'static 'clm-item :description " prev" :button-symbol 'up - :action - (new 'static 'clm-item-action :button #x10 :options #x3 :func 'clmf-next-entity :parm0 -8) + :action (new 'static 'clm-item-action :button #x10 :options #x3 :func 'clmf-next-entity :parm0 -8) ) (new 'static 'clm-item :description " next 5" :button-symbol 'right - :action - (new 'static 'clm-item-action :button #x20 :options #x3 :func 'clmf-next-entity :parm0 40) + :action (new 'static 'clm-item-action :button #x20 :options #x3 :func 'clmf-next-entity :parm0 40) ) (new 'static 'clm-item :description " prev 5" :button-symbol 'left - :action - (new 'static 'clm-item-action :button #x80 :options #x3 :func 'clmf-next-entity :parm0 -40) + :action (new 'static 'clm-item-action :button #x80 :options #x3 :func 'clmf-next-entity :parm0 -40) ) ) ) @@ -3759,8 +3527,7 @@ ) (defstate cam-layout-active (cam-layout) - :code - (behavior () + :code (behavior () (loop (cam-layout-entity-info (the-as entity-actor (-> self cam-entity))) (cam-layout-entity-volume-info) @@ -3804,16 +3571,7 @@ ) (cond ((not *cam-layout*) - (let* ((gp-0 (get-process *camera-dead-pool* cam-layout #x4000)) - (v1-4 (when gp-0 - (let ((t9-3 (method-of-type cam-layout activate))) - (t9-3 (the-as cam-layout gp-0) *default-pool* 'cam-layout (the-as pointer #x70004000)) - ) - (run-next-time-in-process gp-0 cam-layout-init) - (-> gp-0 ppointer) - ) - ) - ) + (let ((v1-4 (process-spawn-function cam-layout cam-layout-init :from *camera-dead-pool*))) (cond (v1-4 (logclear! (-> v1-4 0 mask) (process-mask pause menu)) diff --git a/goal_src/engine/camera/cam-master.gc b/goal_src/engine/camera/cam-master.gc index 1648d89d47..601c696150 100644 --- a/goal_src/engine/camera/cam-master.gc +++ b/goal_src/engine/camera/cam-master.gc @@ -575,15 +575,9 @@ (set! (-> self stringCliffHeight) 163840.0) (send-event *camera* 'point-of-interest #f) (set! (-> *camera-combiner* tracking point-of-interest-blend target) 0.0) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'query-state) - (set! (-> a1-1 param 0) (the-as uint *camera-base-mode*)) - (if (not (send-event-function *camera* a1-1)) - (send-event *camera* 'change-state *camera-base-mode* 450) - ) - ) + (if (not (send-event *camera* 'query-state *camera-base-mode*)) + (send-event *camera* 'change-state *camera-base-mode* (seconds 1.5)) + ) (set! (-> *camera-combiner* tracking tilt-adjust target) (-> *CAMERA-bank* default-tilt-adjust)) (send-event *camera* 'clear-slave-option #x10000) ) @@ -612,15 +606,9 @@ (set! (-> self stringMaxLength) (-> *CAMERA-bank* default-string-max-z)) ) (set! (-> self stringCliffHeight) (cam-slave-get-float arg0 'stringCliffHeight 163840.0)) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 1) - (set! (-> a1-7 message) 'query-state) - (set! (-> a1-7 param 0) (the-as uint *camera-base-mode*)) - (if (not (send-event-function *camera* a1-7)) - (send-event *camera* 'change-state *camera-base-mode* 450) - ) - ) + (if (not (send-event *camera* 'query-state *camera-base-mode*)) + (send-event *camera* 'change-state *camera-base-mode* (seconds 1.5)) + ) (if (logtest? #x10000 (cam-slave-get-flags (-> self cam-entity) 'flags)) (send-event *camera* 'set-slave-option #x10000) ) @@ -781,83 +769,76 @@ ) (defbehavior master-check-regions camera-master () - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'query-state) - (set! (-> a1-0 param 0) (the-as uint cam-eye)) - (cond - ((send-event-function *camera* a1-0) - #f - ) - ((or (not *target*) (logtest? (-> self master-options) 1)) - (master-unset-region) - ) - ((and (logtest? (-> self master-options) 4) - (not (-> self on-ground)) - (or (not (-> self cam-entity)) (zero? (logand #x20000 (cam-slave-get-flags (-> self cam-entity) 'flags)))) - ) - #f - ) - ((and (-> self cam-entity) - (not (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 0.0 'cutoutvol)) - (or (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 1024.0 'pvol) - (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 1024.0 'vol) - (and (not ((method-of-type res-lump get-property-data) - (-> self cam-entity) - 'pvol - 'exact - 0.0 - (the-as pointer #f) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - (not ((method-of-type res-lump get-property-data) - (-> self cam-entity) - 'vol - 'exact - 0.0 - (the-as pointer #f) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - ) - ) - #f - ) - (else - (let ((v1-17 (-> *camera-engine* alive-list next0))) - *camera-engine* - (let ((gp-5 (-> v1-17 next0))) - (while (!= v1-17 (-> *camera-engine* alive-list-end)) - (let ((s5-1 (-> (the-as connection v1-17) param1))) - (when (and (not (in-cam-entity-volume? (target-pos 0) (the-as entity s5-1) 1024.0 'cutoutvol)) - (in-cam-entity-volume? (target-pos 0) (the-as entity s5-1) 0.0 'vol) - ) - (if (master-switch-to-entity (the-as entity s5-1)) - (return #t) - ) - ) - ) - (set! v1-17 gp-5) - *camera-engine* - (set! gp-5 (-> gp-5 next0)) + (cond + ((send-event *camera* 'query-state cam-eye) + #f + ) + ((or (not *target*) (logtest? (-> self master-options) 1)) + (master-unset-region) + ) + ((and (logtest? (-> self master-options) 4) + (not (-> self on-ground)) + (or (not (-> self cam-entity)) (zero? (logand #x20000 (cam-slave-get-flags (-> self cam-entity) 'flags)))) + ) + #f + ) + ((and (-> self cam-entity) + (not (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 0.0 'cutoutvol)) + (or (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 1024.0 'pvol) + (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 1024.0 'vol) + (and (not ((method-of-type res-lump get-property-data) + (-> self cam-entity) + 'pvol + 'exact + 0.0 + (the-as pointer #f) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (not ((method-of-type res-lump get-property-data) + (-> self cam-entity) + 'vol + 'exact + 0.0 + (the-as pointer #f) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) ) + ) + #f + ) + (else + (let ((v1-17 (-> *camera-engine* alive-list next0))) + *camera-engine* + (let ((gp-5 (-> v1-17 next0))) + (while (!= v1-17 (-> *camera-engine* alive-list-end)) + (let ((s5-1 (-> (the-as connection v1-17) param1))) + (when (and (not (in-cam-entity-volume? (target-pos 0) (the-as entity s5-1) 1024.0 'cutoutvol)) + (in-cam-entity-volume? (target-pos 0) (the-as entity s5-1) 0.0 'vol) + ) + (if (master-switch-to-entity (the-as entity s5-1)) + (return #t) + ) + ) + ) + (set! v1-17 gp-5) + *camera-engine* + (set! gp-5 (-> gp-5 next0)) ) ) - (master-unset-region) ) + (master-unset-region) ) ) ) (defstate cam-master-active (camera-master) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (local-vars (v0-0 object));; todo + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (local-vars (v0-0 object)) (rlet ((vf0 :class vf)) (init-vf0-vector) (let ((v1-0 arg2)) @@ -1467,12 +1448,12 @@ ) ) ((= v1-0 'toggle-slave-option) - (set! (-> self slave-options) (logxor (-> self slave-options) (-> arg3 param 0))) + (logxor! (-> self slave-options) (-> arg3 param 0)) (let ((a0-193 (-> self slave 0)) (v1-360 (-> self slave 1)) ) (if a0-193 - (set! (-> a0-193 0 options) (logxor (-> a0-193 0 options) (-> arg3 param 0))) + (logxor! (-> a0-193 0 options) (-> arg3 param 0)) ) (set! v0-0 (the-as object (when v1-360 (set! v0-0 (logxor (-> v1-360 0 options) (-> arg3 param 0))) @@ -1601,15 +1582,13 @@ (the-as object v0-0) ) ) - :enter - (behavior () + :enter (behavior () (if (and (nonzero? camera-master-debug) *debug-segment*) (add-connection *debug-engine* self camera-master-debug self #f #f) ) (none) ) - :trans - (behavior () + :trans (behavior () (when (not (paused?)) (vector-negate! (-> self local-down) @@ -1619,8 +1598,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (if (and *dproc* *debug-segment*) (add-frame @@ -1637,15 +1615,9 @@ (master-track-target) (set! (-> last-try-to-look-at-data horz) 0.0) (set! (-> last-try-to-look-at-data vert) 0.0) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'slave-option?) - (set! (-> a1-1 param 0) (the-as uint #x4000)) - (when (send-event-function *camera* a1-1) - (set! (-> self string-min target y) 18432.0) - (set! (-> self string-max target y) 18432.041) - ) + (when (send-event *camera* 'slave-option? #x4000) + (set! (-> self string-min target y) 18432.0) + (set! (-> self string-max target y) 18432.041) ) (when (not (paused?)) (update! (-> self string-min) (the-as vector #f)) @@ -1684,8 +1656,7 @@ (defstate list-keeper-active (camera-master) - :code - (behavior () + :code (behavior () (loop (change-to-last-brother self) (suspend) @@ -1737,34 +1708,18 @@ ) (set! (-> self pov-handle) (the-as handle #f)) (set! (-> self pov-bone) 0) - (let ((gp-1 (get-process *camera-dead-pool* list-keeper #x4000))) - (cond - ((when gp-1 - (let ((t9-5 (method-of-type list-keeper activate))) - (t9-5 (the-as list-keeper gp-1) self 'list-keeper (the-as pointer #x70004000)) - ) - (run-next-time-in-process gp-1 list-keeper-init) - (-> gp-1 ppointer) - ) - ) - (else - (format 0 "ERROR : master camera list keeper failed to activate~%") - ) + (cond + ((process-spawn-function list-keeper list-keeper-init :from *camera-dead-pool* :to self) + ) + (else + (format 0 "ERROR : master camera list keeper failed to activate~%") ) ) - (let ((gp-2 (get-process *camera-dead-pool* camera-slave #x4000))) - (cond - ((when gp-2 - (let ((t9-9 (method-of-type camera-slave activate))) - (t9-9 (the-as camera-slave gp-2) self 'camera-slave (the-as pointer #x70004000)) - ) - (run-next-time-in-process gp-2 cam-slave-init cam-free-floating #f) - (-> gp-2 ppointer) - ) - ) - (else - (format 0 "ERROR : first slave failed to activate~%") - ) + (cond + ((process-spawn-function camera-slave cam-slave-init cam-free-floating #f :from *camera-dead-pool* :to self) + ) + (else + (format 0 "ERROR : first slave failed to activate~%") ) ) (set! (-> self water-drip) (create-launch-control group-rain-screend-drop self)) diff --git a/goal_src/engine/camera/cam-start.gc b/goal_src/engine/camera/cam-start.gc index 365e94ef1b..68ca0cc810 100644 --- a/goal_src/engine/camera/cam-start.gc +++ b/goal_src/engine/camera/cam-start.gc @@ -5,6 +5,8 @@ ;; name in dgo: cam-start ;; dgos: GAME, ENGINE +;; DECOMP BEGINS + (defun cam-stop () (kill-by-name 'camera-master *active-pool*) (kill-by-name 'camera-slave *active-pool*) @@ -17,12 +19,23 @@ (defun cam-start ((arg0 symbol)) (cam-stop) - (process-new camera-combiner cam-combiner-init :from *camera-dead-pool* :to *camera-pool* :stack *scratch-memory-top*) - (set! *camera* (the-as camera-master (ppointer->process (process-new camera-master cam-master-init :from *camera-master-dead-pool* :to *camera-pool* :stack *scratch-memory-top*)))) + (process-spawn camera-combiner :init cam-combiner-init :from *camera-dead-pool* :to *camera-pool*) + (set! *camera* + (the-as camera-master + (ppointer->process + (process-spawn-function camera-master cam-master-init :from *camera-master-dead-pool* :to *camera-pool*) + ) + ) + ) (if arg0 (reset-cameras) ) + 0 (none) ) (cam-start #f) + + + + diff --git a/goal_src/engine/camera/cam-states-dbg.gc b/goal_src/engine/camera/cam-states-dbg.gc index 608a793d45..2d343cee56 100644 --- a/goal_src/engine/camera/cam-states-dbg.gc +++ b/goal_src/engine/camera/cam-states-dbg.gc @@ -20,8 +20,7 @@ (define *CAM_POINT_WATCH-bank* (new 'static 'cam-point-watch-bank :speed 1600.0 :rot-speed (degrees 0.6))) (defstate cam-point-watch (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -31,8 +30,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self pivot-rad) 40960.0) (set! (-> self blend-from-type) (the-as uint 1)) @@ -40,8 +38,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (let ((s5-0 (new-stack-vector0)) (gp-0 (new-stack-vector0)) @@ -393,8 +390,7 @@ ) (defstate cam-free-floating (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -404,8 +400,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self blend-from-type) (the-as uint 1)) (set! (-> self blend-to-type) (the-as uint 1)) @@ -413,8 +408,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (let ((a2-0 (-> *camera* local-down))) (if (logtest? (-> self options) 8) @@ -475,8 +469,7 @@ (set! (-> *camera-orbit-info* orbit-off y) 4096.0) (defstate cam-orbit (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -486,8 +479,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (if (not *camera-orbit-target*) (cam-slave-go cam-free-floating) @@ -501,13 +493,11 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () '() (none) ) - :code - (behavior () + :code (behavior () (loop (if (not *camera-orbit-target*) (cam-slave-go cam-free-floating) diff --git a/goal_src/engine/camera/cam-states.gc b/goal_src/engine/camera/cam-states.gc index f236861653..23c3bee008 100644 --- a/goal_src/engine/camera/cam-states.gc +++ b/goal_src/engine/camera/cam-states.gc @@ -9,8 +9,7 @@ ;; DECOMP BEGINS (defstate cam-fixed (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -20,8 +19,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self saved-pt quad) (-> self trans quad)) (set! (-> self blend-from-type) (the-as uint 1)) @@ -30,8 +28,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (paused?)) (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -50,8 +47,7 @@ ) (defstate cam-fixed-read-entity (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -61,8 +57,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (cond ((-> self enter-has-run) ) @@ -85,8 +80,7 @@ (go cam-fixed) (none) ) - :code - (behavior () + :code (behavior () (loop (format *stdcon* "ERROR : stayed in cam-fixed-read-entity~%") (suspend) @@ -96,8 +90,7 @@ ) (defstate cam-pov (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -107,24 +100,21 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self blend-from-type) (the-as uint 1)) (set! (-> self blend-to-type) (the-as uint 1)) ) (none) ) - :trans - (behavior () + :trans (behavior () (when (not (handle->process (-> *camera* pov-handle))) (set! (-> self blend-from-type) (the-as uint 0)) (cam-slave-go cam-fixed) ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (paused?)) (vector<-cspace! @@ -159,8 +149,7 @@ ) (defstate cam-pov180 (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -170,24 +159,21 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self blend-from-type) (the-as uint 1)) (set! (-> self blend-to-type) (the-as uint 1)) ) (none) ) - :trans - (behavior () + :trans (behavior () (when (not (handle->process (-> *camera* pov-handle))) (set! (-> self blend-from-type) (the-as uint 0)) (cam-slave-go cam-fixed) ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) (s4-0 #t) @@ -262,10 +248,8 @@ ) (defstate cam-pov-track (camera-slave) - :event - cam-standard-event-handler - :enter - (behavior () + :event cam-standard-event-handler + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self blend-from-type) (the-as uint 2)) (set! (-> self blend-to-type) (the-as uint 2)) @@ -277,15 +261,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (or (not (handle->process (-> *camera* pov-handle))) (zero? (logand (-> *camera* master-options) 2))) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (if (not (paused?)) (vector<-cspace! @@ -307,8 +289,7 @@ ) (defstate cam-standoff (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('set-standoff-dist) (vector-normalize! (-> self pivot-pt) (the-as float (-> arg3 param 0))) @@ -329,8 +310,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (vector-! (-> self pivot-pt) (-> self trans) (-> *camera* tpos-curr-adj)) (cond @@ -348,15 +328,13 @@ (cam-calc-follow! (-> self tracking) (-> self trans) #f) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (paused?)) (cam-calc-follow! (-> self tracking) (-> self trans) #t) @@ -369,10 +347,8 @@ ) (defstate cam-standoff-read-entity (camera-slave) - :event - cam-standard-event-handler - :enter - (behavior () + :event cam-standard-event-handler + :enter (behavior () (cond ((-> self enter-has-run) ) @@ -407,8 +383,7 @@ (go cam-standoff) (none) ) - :code - (behavior () + :code (behavior () (loop (format *stdcon* "ERROR : stayed in cam-standoff-read-entity~%") (suspend) @@ -435,8 +410,7 @@ ;; main first-person camera (defstate cam-eye (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -446,8 +420,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (let ((v1-3 (vector-float*! (new-stack-vector0) (-> *camera* local-down) (+ 1024.0 (-> *camera* target-height))))) (vector-! (-> self trans) (-> *camera* tpos-curr) v1-3) @@ -459,8 +432,7 @@ (set! (-> self fov) 11650.845) (none) ) - :exit - (behavior () + :exit (behavior () (if (and *target* (logtest? (-> *camera* master-options) 2) (logtest? (-> *target* state-flags) (state-flags sf09)) @@ -469,15 +441,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (-> *display* base-frame-counter))) (loop (when (not (paused?)) @@ -610,8 +580,7 @@ ;; first person camera for rat game (defstate cam-billy (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -621,8 +590,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (let ((v1-3 (vector-float*! (new-stack-vector0) (-> *camera* local-down) (-> *camera* target-height)))) (vector-! (-> self trans) (-> *camera* tpos-curr) v1-3) @@ -635,20 +603,17 @@ (matrix-rotate-y! (the-as matrix (-> self tracking)) (the-as float -32768.0)) (none) ) - :exit - (behavior () + :exit (behavior () '() (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (paused?)) (let ((s5-0 (vector-reset! (new-stack-vector0))) @@ -731,10 +696,8 @@ ) (defstate cam-spline (camera-slave) - :event - cam-standard-event-handler - :enter - (behavior () + :event cam-standard-event-handler + :enter (behavior () (cond ((-> self enter-has-run) ) @@ -813,15 +776,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (paused?)) (cam-calc-follow! (-> self tracking) (-> self trans) #t) @@ -836,8 +797,7 @@ ) (defstate cam-decel (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -847,15 +807,13 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (if (not (-> self enter-has-run)) (set! (-> self saved-pt quad) (-> self trans quad)) ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (paused?)) (let ((s5-0 (new-stack-vector0)) @@ -891,8 +849,7 @@ ) (defstate cam-endlessfall (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -902,16 +859,14 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self blend-from-type) (the-as uint 2)) (set! (-> self blend-to-type) (the-as uint 2)) ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'cam-vector-seeker)) (f30-0 (-> self velocity y)) ) @@ -1128,8 +1083,7 @@ ) (defstate cam-circular (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -1143,8 +1097,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (cond ((-> self enter-has-run) ) @@ -1215,15 +1168,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (if (not (paused?)) (cam-circular-code) @@ -1235,25 +1186,21 @@ ) (defstate cam-lookat (camera-slave) - :event - cam-standard-event-handler - :enter - (behavior () + :event cam-standard-event-handler + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self blend-from-type) (the-as uint 2)) (set! (-> self blend-to-type) (the-as uint 2)) ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) @@ -2776,8 +2723,7 @@ ) (defstate cam-string (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) (let ((gp-0 (new-stack-vector0))) @@ -2820,8 +2766,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (set-string-parms) (set! *camera-base-mode* cam-string) @@ -2970,15 +2915,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (paused?)) (set-string-parms) @@ -3108,10 +3051,8 @@ ;; third person camera (in debug menu, and fishermans-boat-player-control w/o autopilot?) (defstate cam-stick (camera-slave) - :event - cam-standard-event-handler - :enter - (behavior () + :event cam-standard-event-handler + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self view-off-param) (-> *camera* view-off-param-save)) (set! (-> self view-off x) 0.0) @@ -3135,8 +3076,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) @@ -3213,8 +3153,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (if (not (paused?)) (cam-stick-code) @@ -3349,10 +3288,8 @@ ) (defstate cam-bike (camera-slave) - :event - cam-standard-event-handler - :enter - (behavior () + :event cam-standard-event-handler + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> *camera* foot-offset) 4096.0) (set! (-> *camera* head-offset) 16384.0) @@ -3373,15 +3310,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (if (not (paused?)) (cam-bike-code) diff --git a/goal_src/engine/camera/camera.gc b/goal_src/engine/camera/camera.gc index 404cd4c2e1..649ec9889c 100644 --- a/goal_src/engine/camera/camera.gc +++ b/goal_src/engine/camera/camera.gc @@ -10,8 +10,6 @@ (define *cam-res-string* (new 'global 'string 64 (the-as string #f))) -;; definition for function cam-slave-get-vector-with-offset -;; Used lq/sq (defun cam-slave-get-vector-with-offset ((arg0 entity-actor) (arg1 vector) (arg2 symbol)) (local-vars (s3-0 structure)) (cond @@ -55,7 +53,6 @@ ) ) -;; definition for function cam-slave-get-flags (defun cam-slave-get-flags ((arg0 entity) (arg1 symbol)) (let ((gp-0 (res-lump-value arg0 arg1 uint128)) (s3-0 (method-of-type res-lump get-property-value)) @@ -92,7 +89,6 @@ ) ) -;; definition for function cam-slave-get-float (defun cam-slave-get-float ((arg0 entity) (arg1 symbol) (arg2 float)) (let ((f30-0 (res-lump-float arg0 arg1 :default arg2)) (s4-0 (method-of-type res-lump get-property-value-float)) @@ -111,7 +107,6 @@ ) ) -;; definition for function cam-slave-get-fov (defun cam-slave-get-fov ((arg0 entity)) (let ((f30-0 (res-lump-float arg0 'fov)) (s5-0 (method-of-type res-lump get-property-value-float)) @@ -136,7 +131,6 @@ ) ) -;; definition for function cam-slave-get-intro-step (defun cam-slave-get-intro-step ((arg0 entity)) (let ((f30-0 (res-lump-float arg0 'intro-time)) (s5-0 (method-of-type res-lump get-property-value-float)) @@ -162,7 +156,6 @@ ) ) -;; definition for function cam-slave-get-interp-time (defun cam-slave-get-interp-time ((arg0 entity)) (let ((f30-0 (res-lump-float arg0 'interpTime)) (s5-0 (method-of-type res-lump get-property-value-float)) @@ -188,7 +181,6 @@ ) ) -;; definition for function cam-slave-get-rot (defun cam-slave-get-rot ((arg0 entity-actor) (arg1 matrix)) (let ((s4-0 (method-of-type res-lump get-property-struct)) (s3-0 arg0) @@ -222,8 +214,6 @@ arg1 ) -;; definition for function cam-state-from-entity -;; INFO: Return type mismatch (state camera-slave) vs state. (defun cam-state-from-entity ((arg0 entity)) (let ((s5-0 (new 'stack 'curve))) (the-as state (cond @@ -250,12 +240,10 @@ ) ) -;; definition for function parameter-ease-none (defun parameter-ease-none ((arg0 object)) arg0 ) -;; definition for function parameter-ease-clamp (defun parameter-ease-clamp ((arg0 float)) (cond ((>= arg0 1.0) @@ -268,7 +256,6 @@ arg0 ) -;; definition for function parameter-ease-lerp-clamp (defun parameter-ease-lerp-clamp ((arg0 float)) (cond ((>= arg0 1.0) @@ -289,7 +276,6 @@ ) ) -;; definition for function parameter-ease-sqrt-clamp (defun parameter-ease-sqrt-clamp ((arg0 float)) (cond ((>= arg0 1.0) @@ -307,19 +293,16 @@ ) ) -;; definition for function fourth-power (defun fourth-power ((arg0 float)) (let ((f0-2 (* arg0 arg0))) (* f0-2 f0-2) ) ) -;; definition for function third-power (defun third-power ((arg0 float)) (* arg0 arg0 arg0) ) -;; definition for function parameter-ease-sqr-clamp (defun parameter-ease-sqr-clamp ((arg0 float)) (cond ((>= arg0 1.0) @@ -346,7 +329,6 @@ ) ) -;; definition for function parameter-ease-sin-clamp (defun parameter-ease-sin-clamp ((arg0 float)) (cond ((>= arg0 1.0) @@ -361,8 +343,6 @@ ) ) -;; definition for method 9 of type cam-index -;; Used lq/sq (defmethod dummy-9 cam-index ((obj cam-index) (arg0 symbol) (arg1 entity) (arg2 vector) (arg3 curve)) (local-vars (sv-32 (function _varargs_ object))) (format (clear *cam-res-string*) "~S-flags" arg0) @@ -402,10 +382,8 @@ ) ) (arg3 - (set! (-> obj vec 0 quad) (-> (the-as (pointer uint128) (&+ (-> arg3 cverts) 0)))) - (set! (-> obj vec 1 quad) - (-> (the-as (pointer uint128) (&+ (-> arg3 cverts) (* (+ (-> arg3 num-cverts) -1) 16)))) - ) + (set! (-> obj vec 0 quad) (-> arg3 cverts 0 quad)) + (set! (-> obj vec 1 quad) (-> arg3 cverts (+ (-> arg3 num-cverts) -1) quad)) ) (else (return #f) @@ -441,8 +419,6 @@ #t ) -;; definition for method 10 of type cam-index -;; Used lq/sq (defmethod dummy-10 cam-index ((obj cam-index) (arg0 vector)) (let ((s5-0 (new-stack-vector0))) 0.0 @@ -462,9 +438,6 @@ ) ) -;; definition for method 10 of type tracking-spline -;; INFO: Return type mismatch int vs none. -;; Used lq/sq (defmethod TODO-RENAME-10 tracking-spline ((obj tracking-spline) (arg0 vector)) (set! (-> obj point 0 position quad) (-> arg0 quad)) (set! (-> obj point 0 next) -134250495) @@ -489,8 +462,6 @@ (none) ) -;; definition for method 13 of type tracking-spline -;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-13 tracking-spline ((obj tracking-spline) (arg0 int)) (let ((v1-3 (-> obj point arg0 next))) (cond @@ -524,8 +495,6 @@ (none) ) -;; definition for method 14 of type tracking-spline -;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-14 tracking-spline ((obj tracking-spline) (arg0 tracking-spline-sampler)) (let ((v1-0 (-> obj used-point))) (set! (-> obj partial-point) (-> arg0 partial-pt)) @@ -563,8 +532,6 @@ (none) ) -;; definition for method 15 of type tracking-spline -;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-15 tracking-spline ((obj tracking-spline)) (let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler))) (let ((a2-0 (new 'stack-no-clear 'tracking-point))) @@ -611,8 +578,6 @@ (none) ) -;; definition for method 16 of type tracking-spline -;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-16 tracking-spline ((obj tracking-spline) (arg0 float)) (let ((s4-0 (new 'stack-no-clear 'tracking-spline-sampler))) (let ((a2-0 (new 'stack-no-clear 'vector))) @@ -651,8 +616,6 @@ (none) ) -;; definition for method 17 of type tracking-spline -;; Used lq/sq (defmethod TODO-RENAME-17 tracking-spline ((obj tracking-spline) (arg0 vector) (arg1 float) (arg2 float) (arg3 symbol)) (let ((s3-0 (-> obj free-point)) (s2-0 (-> obj end-point)) @@ -694,7 +657,6 @@ 0 ) -;; definition for method 18 of type tracking-spline (defmethod TODO-RENAME-18 tracking-spline ((obj tracking-spline) (arg0 float) (arg1 vector) (arg2 tracking-spline-sampler)) (local-vars (f0-4 float)) (when (not arg2) @@ -703,7 +665,7 @@ (set! (-> arg2 partial-pt) (-> obj partial-point)) ) 0.0 - (while #t + (loop (cond ((= (-> arg2 cur-pt) (-> obj end-point)) (set! (-> arg2 partial-pt) 0.0) @@ -737,15 +699,12 @@ (the-as vector #f) ) -;; definition for method 19 of type tracking-spline (defmethod TODO-RENAME-19 tracking-spline ((obj tracking-spline) (arg0 float) (arg1 vector) (arg2 tracking-spline-sampler)) (vector-reset! arg1) (TODO-RENAME-18 obj arg0 arg1 arg2) arg1 ) -;; definition for method 20 of type tracking-spline -;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-20 tracking-spline ((obj tracking-spline) (arg0 vector) (arg1 int)) (let ((s3-0 (new 'stack-no-clear 'vector))) (vector-! @@ -834,8 +793,6 @@ (none) ) -;; definition for method 21 of type tracking-spline -;; Used lq/sq (defmethod TODO-RENAME-21 tracking-spline ((obj tracking-spline) (arg0 vector) (arg1 float) (arg2 float)) (let ((v1-0 (-> obj used-point)) (f0-0 (-> obj partial-point)) @@ -884,8 +841,6 @@ arg0 ) -;; definition for method 22 of type tracking-spline -;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-22 tracking-spline ((obj tracking-spline) (arg0 float)) (when (< arg0 (-> obj summed-len)) (let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler))) @@ -901,8 +856,6 @@ (none) ) -;; definition for method 9 of type tracking-spline -;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-9 tracking-spline ((obj tracking-spline)) (let ((v1-0 (-> obj used-point)) (s4-0 0) @@ -945,8 +898,6 @@ (none) ) -;; definition for function cam-slave-init-vars -;; Used lq/sq (defbehavior cam-slave-init-vars camera-slave () (cond (*camera* @@ -1022,8 +973,6 @@ (none) ) -;; definition for function cam-slave-go -;; INFO: Return type mismatch int vs none. (defun cam-slave-go ((arg0 state)) (with-pp (cam-slave-init-vars) @@ -1036,8 +985,6 @@ ) ) -;; definition for function cam-slave-init -;; INFO: Return type mismatch int vs none. (defbehavior cam-slave-init camera-slave ((arg0 state) (arg1 entity)) (stack-size-set! (-> self main-thread) 512) (change-to-last-brother self) @@ -1083,13 +1030,10 @@ (none) ) -;; definition for function cam-standard-event-handler -;; INFO: Return type mismatch none vs object. ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 7] ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 31] ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 45] ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 50] -;; Used lq/sq (defbehavior cam-standard-event-handler camera-slave ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as @@ -1149,8 +1093,6 @@ ) ) -;; definition for function cam-curve-pos -;; Used lq/sq (defbehavior cam-curve-pos camera-slave ((arg0 vector) (arg1 vector) (arg2 curve) (arg3 symbol)) (let ((s5-0 (new-stack-vector0))) 0.0 @@ -1219,8 +1161,6 @@ arg0 ) -;; definition for function cam-curve-setup -;; INFO: Return type mismatch int vs none. (defbehavior cam-curve-setup camera-slave ((arg0 vector)) (when (get-curve-data! (-> self cam-entity) (-> self spline-curve) 'campath 'campath-k -1000000000.0) (curve-get-pos! (-> self spline-offset) 0.0 (-> self spline-curve)) @@ -1251,130 +1191,118 @@ (none) ) -;; definition for function cam-calc-follow! -;; Used lq/sq (defun cam-calc-follow! ((arg0 cam-rotation-tracker) (arg1 vector) (arg2 symbol)) - (with-pp - (cond - (arg2 - (update! (-> arg0 tilt-adjust) 0.0) - (update! (-> arg0 point-of-interest-blend) 0.0) - (update! (-> arg0 underwater-blend) 0.0) - ) - (else - (jump-to-target! (-> arg0 tilt-adjust) 0.0) - (jump-to-target! (-> arg0 point-of-interest-blend) 0.0) - (jump-to-target! (-> arg0 underwater-blend) 0.0) - ) + (cond + (arg2 + (update! (-> arg0 tilt-adjust) 0.0) + (update! (-> arg0 point-of-interest-blend) 0.0) + (update! (-> arg0 underwater-blend) 0.0) ) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) pp) - (set! (-> a1-7 num-params) 1) - (set! (-> a1-7 message) 'slave-option?) - (set! (-> a1-7 param 0) (the-as uint #x4000)) - (cond - ((send-event-function *camera* a1-7) - (let ((s3-0 (new 'stack-no-clear 'vector)) - (s2-0 (new 'stack-no-clear 'vector)) - (f30-0 (vector-vector-distance (-> *camera* tpos-curr-adj) (-> *camera* tpos-old-adj))) - (s5-1 (new 'stack-no-clear 'vector)) - ) - (vector-flatten! s3-0 (-> *camera* tgt-face-mat vector 2) (-> *camera* local-down)) - (vector-normalize! s3-0 1.0) - (vector-! s2-0 (-> *camera* tpos-curr-adj) arg1) - (vector-flatten! s2-0 s2-0 (-> *camera* local-down)) - (vector-normalize! s2-0 1.0) - (vector-float*! s5-1 (-> *camera* tgt-face-mat vector 2) 32768.0) - (let* ((f30-1 (lerp-clamp 0.7 0.4 (parameter-ease-sin-clamp (* 0.00081380206 (+ -409.6 f30-0))))) - (f0-4 (acos (vector-dot s2-0 s3-0))) - (f28-0 (fmax 1820.4445 f0-4)) - ) - (if (< f28-0 8192.0) - (vector-float*! - s5-1 - s5-1 - (+ f30-1 - (* (/ (- 1.0 f30-1) (- 1.0 (cos 32768.0))) (+ (- (cos 32768.0)) (cos (* 5.142857 (- 8192.0 f28-0))))) - ) - ) - ) - ) - (cond - ((< (-> *camera* ease-t) 1.0) - ) - ((< (-> arg0 follow-blend) 1.0) - (let* ((f0-18 (-> arg0 follow-blend)) - (f0-19 (* f0-18 f0-18)) - (f0-20 (* f0-19 f0-19)) - ) - (vector-! s5-1 s5-1 (-> arg0 follow-off)) - (vector-float*! s5-1 s5-1 f0-20) - ) - (+! (-> arg0 follow-blend) (* 0.016666668 (-> *display* time-adjust-ratio))) - (vector+! (-> arg0 follow-off) (-> arg0 follow-off) s5-1) - ) - (else - (set! (-> arg0 follow-off quad) (-> s5-1 quad)) - ) - ) + (else + (jump-to-target! (-> arg0 tilt-adjust) 0.0) + (jump-to-target! (-> arg0 point-of-interest-blend) 0.0) + (jump-to-target! (-> arg0 underwater-blend) 0.0) + ) + ) + (cond + ((send-event *camera* 'slave-option? #x4000) + (let ((s3-0 (new 'stack-no-clear 'vector)) + (s2-0 (new 'stack-no-clear 'vector)) + (f30-0 (vector-vector-distance (-> *camera* tpos-curr-adj) (-> *camera* tpos-old-adj))) + (s5-1 (new 'stack-no-clear 'vector)) ) - (vector+! (-> arg0 follow-pt) (-> *camera* tpos-curr-adj) (-> arg0 follow-off)) - (vector--float*! - (-> arg0 follow-pt) - (-> arg0 follow-pt) - (-> *camera* local-down) - (+ 12288.0 (-> *camera* target-height)) + (vector-flatten! s3-0 (-> *camera* tgt-face-mat vector 2) (-> *camera* local-down)) + (vector-normalize! s3-0 1.0) + (vector-! s2-0 (-> *camera* tpos-curr-adj) arg1) + (vector-flatten! s2-0 s2-0 (-> *camera* local-down)) + (vector-normalize! s2-0 1.0) + (vector-float*! s5-1 (-> *camera* tgt-face-mat vector 2) 32768.0) + (let* ((f30-1 (lerp-clamp 0.7 0.4 (parameter-ease-sin-clamp (* 0.00081380206 (+ -409.6 f30-0))))) + (f0-4 (acos (vector-dot s2-0 s3-0))) + (f28-0 (fmax 1820.4445 f0-4)) + ) + (if (< f28-0 8192.0) + (vector-float*! + s5-1 + s5-1 + (+ f30-1 + (* (/ (- 1.0 f30-1) (- 1.0 (cos 32768.0))) (+ (- (cos 32768.0)) (cos (* 5.142857 (- 8192.0 f28-0))))) + ) + ) + ) + ) + (cond + ((< (-> *camera* ease-t) 1.0) + ) + ((< (-> arg0 follow-blend) 1.0) + (let* ((f0-18 (-> arg0 follow-blend)) + (f0-19 (* f0-18 f0-18)) + (f0-20 (* f0-19 f0-19)) + ) + (vector-! s5-1 s5-1 (-> arg0 follow-off)) + (vector-float*! s5-1 s5-1 f0-20) + ) + (+! (-> arg0 follow-blend) (* 0.016666668 (-> *display* time-adjust-ratio))) + (vector+! (-> arg0 follow-off) (-> arg0 follow-off) s5-1) + ) + (else + (set! (-> arg0 follow-off quad) (-> s5-1 quad)) ) ) - (else - 0.0 - (let ((s3-2 (new-stack-vector0))) - (set! (-> arg0 follow-blend) 0.0) - (cond - ((-> arg0 no-follow) - (vector-reset! s3-2) - ) - (else - (vector-! s3-2 (-> *camera* tpos-curr-adj) arg1) - (vector-normalize! s3-2 1.0) - (let* ((f0-28 (vector-dot (-> *camera* tgt-rot-mat vector 2) s3-2)) - (f30-2 (cond - ((< f0-28 0.0) - 1.0 - ) - (else - (let* ((f0-29 (* f0-28 f0-28)) (f0-30 (- 1.0 f0-29))) (* f0-30 (* f0-30 f0-30))) - ) - ) + ) + (vector+! (-> arg0 follow-pt) (-> *camera* tpos-curr-adj) (-> arg0 follow-off)) + (vector--float*! + (-> arg0 follow-pt) + (-> arg0 follow-pt) + (-> *camera* local-down) + (+ 12288.0 (-> *camera* target-height)) + ) + ) + (else + 0.0 + (let ((s3-2 (new-stack-vector0))) + (set! (-> arg0 follow-blend) 0.0) + (cond + ((-> arg0 no-follow) + (vector-reset! s3-2) + ) + (else + (vector-! s3-2 (-> *camera* tpos-curr-adj) arg1) + (vector-normalize! s3-2 1.0) + (let* ((f0-28 (vector-dot (-> *camera* tgt-rot-mat vector 2) s3-2)) + (f30-2 (cond + ((< f0-28 0.0) + 1.0 + ) + (else + (let* ((f0-29 (* f0-28 f0-28)) (f0-30 (- 1.0 f0-29))) (* f0-30 (* f0-30 f0-30))) ) - ) - (vector-! s3-2 arg1 (-> *camera* tpos-curr-adj)) - (vector-flatten! s3-2 s3-2 (-> *camera* local-down)) - (let* ((f0-33 (* 0.000022194603 (+ -20480.0 (vector-length s3-2)))) - (f0-34 (fmin 1.0 f0-33)) - (f0-35 (fmax 0.0 f0-34)) - ) - (vector-float*! s3-2 (-> *camera* tgt-rot-mat vector 2) (* (lerp 2048.0 8192.0 f0-35) f30-2)) - ) - ) + ) + ) + ) + (vector-! s3-2 arg1 (-> *camera* tpos-curr-adj)) + (vector-flatten! s3-2 s3-2 (-> *camera* local-down)) + (let* ((f0-33 (* 0.000022194603 (+ -20480.0 (vector-length s3-2)))) + (f0-34 (fmin 1.0 f0-33)) + (f0-35 (fmax 0.0 f0-34)) + ) + (vector-float*! s3-2 (-> *camera* tgt-rot-mat vector 2) (* (lerp 2048.0 8192.0 f0-35) f30-2)) ) ) - (if arg2 - (vector-seek-3d-smooth! (-> arg0 follow-off) s3-2 (* 20480.0 (-> *display* seconds-per-frame)) 0.05) - (set! (-> arg0 follow-off quad) (-> s3-2 quad)) - ) ) - (vector+! (-> arg0 follow-pt) (-> *camera* tpos-curr-adj) (-> arg0 follow-off)) - (vector--float*! (-> arg0 follow-pt) (-> arg0 follow-pt) (-> *camera* local-down) (-> *camera* target-height)) ) + (if arg2 + (vector-seek-3d-smooth! (-> arg0 follow-off) s3-2 (* 20480.0 (-> *display* seconds-per-frame)) 0.05) + (set! (-> arg0 follow-off quad) (-> s3-2 quad)) + ) ) + (vector+! (-> arg0 follow-pt) (-> *camera* tpos-curr-adj) (-> arg0 follow-off)) + (vector--float*! (-> arg0 follow-pt) (-> arg0 follow-pt) (-> *camera* local-down) (-> *camera* target-height)) ) - (-> arg0 follow-pt) ) + (-> arg0 follow-pt) ) -;; definition for function mat-remove-z-rot -;; Used lq/sq (defun mat-remove-z-rot ((arg0 matrix) (arg1 vector)) (let ((s4-0 (new-stack-vector0))) 0.0 @@ -1400,8 +1328,6 @@ arg0 ) -;; definition for function slave-matrix-blend-2 -;; Used lq/sq (defun slave-matrix-blend-2 ((arg0 matrix) (arg1 float) (arg2 vector) (arg3 matrix)) (let ((s1-0 (new-stack-vector0)) (s4-0 (new-stack-quaternion0)) @@ -1462,8 +1388,6 @@ ) ) -;; definition for function vector-into-frustum-nosmooth! -;; Used lq/sq (defun vector-into-frustum-nosmooth! ((arg0 matrix) (arg1 vector) (arg2 float)) (local-vars (sv-112 (inline-array vector)) (sv-128 vector) (sv-144 vector) (sv-160 vector) (sv-176 vector)) (rlet ((vf0 :class vf) @@ -1580,154 +1504,134 @@ ) ) -;; TODO - fix me! ;; WARN: Unsupported inline assembly instruction kind - [mula.s f0, f3] ;; WARN: Unsupported inline assembly instruction kind - [madda.s f1, f4] ;; WARN: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5] -(defun - slave-set-rotation! - ((arg0 cam-rotation-tracker) - (arg1 vector) - (arg2 float) - (arg3 float) - (arg4 symbol) - ) +(defun slave-set-rotation! ((arg0 cam-rotation-tracker) (arg1 vector) (arg2 float) (arg3 float) (arg4 symbol)) (local-vars - (f0-8 float) - (sv-192 vector) - (sv-208 vector) - (sv-224 matrix) - (sv-240 (function matrix vector float vector)) - (sv-256 matrix) - ) + (f0-8 float) + (sv-192 vector) + (sv-208 vector) + (sv-224 matrix) + (sv-240 (function matrix vector float vector)) + (sv-256 matrix) + ) (rlet ((vf0 :class vf) (vf4 :class vf) (vf5 :class vf) (vf6 :class vf) ) - (init-vf0-vector) - (let ((s1-0 (new-stack-vector0)) - (s5-0 (new-stack-matrix0)) - ) - (let ((f30-0 (-> arg0 tilt-adjust value))) - (cond - ((< 0.0001 (-> arg0 point-of-interest-blend value)) - (set! sv-192 (new 'stack-no-clear 'vector)) - 0.0 - (vector-! s1-0 (-> arg0 follow-pt) arg1) - (let ((f28-0 (vector-length s1-0))) - (vector-! sv-192 (-> arg0 point-of-interest) arg1) - (vector-normalize! - sv-192 - (* f28-0 (-> arg0 point-of-interest-blend value)) - ) - (let ((v1-3 s1-0)) - (let ((a0-5 s1-0)) - (.mov.vf vf6 vf0 :mask #b1000) - (.lvf vf4 (&-> a0-5 quad)) + (init-vf0-vector) + (let ((s1-0 (new-stack-vector0)) + (s5-0 (new-stack-matrix0)) ) - (.lvf vf5 (&-> sv-192 quad)) - (.add.vf vf6 vf4 vf5 :mask #b111) - (.svf (&-> v1-3 quad) vf6) - ) - (vector-normalize! s1-0 f28-0) - ) - ) - (else - (vector-! s1-0 (-> arg0 follow-pt) arg1) - ) - ) - (forward-down->inv-matrix s5-0 s1-0 (-> *camera* local-down)) - (when (!= f30-0 0.0) - 0.0 - 0.0 - (set! sv-224 (new 'stack-no-clear 'matrix)) - (set! sv-208 (new 'stack-no-clear 'vector)) - (vector-normalize-copy! sv-208 s1-0 1.0) - (let* ((v1-11 (-> *camera* local-down)) - (f0-7 (-> sv-208 x)) - (f1-1 (-> sv-208 y)) - (f2-0 (-> sv-208 z)) - (f3-0 (-> v1-11 x)) - (f4-0 (-> v1-11 y)) - (f5-0 (-> v1-11 z)) + (let ((f30-0 (-> arg0 tilt-adjust value))) + (cond + ((< 0.0001 (-> arg0 point-of-interest-blend value)) + (set! sv-192 (new 'stack-no-clear 'vector)) + 0.0 + (vector-! s1-0 (-> arg0 follow-pt) arg1) + (let ((f28-0 (vector-length s1-0))) + (vector-! sv-192 (-> arg0 point-of-interest) arg1) + (vector-normalize! sv-192 (* f28-0 (-> arg0 point-of-interest-blend value))) + (let ((v1-3 s1-0)) + (let ((a0-5 s1-0)) + (.mov.vf vf6 vf0 :mask #b1000) + (.lvf vf4 (&-> a0-5 quad)) + ) + (.lvf vf5 (&-> sv-192 quad)) + (.add.vf vf6 vf4 vf5 :mask #b111) + (.svf (&-> v1-3 quad) vf6) + ) + (vector-normalize! s1-0 f28-0) ) - ; (.mula.s f0-7 f3-0) - ; (.madda.s f1-1 f4-0) - ; (.madd.s f0-8 f2-0 f5-0) - (set! f0-8 (+ (* f0-7 f3-0) (* f1-1 f4-0) (* f2-0 f5-0))) - ) - (let* ((f28-1 f0-8) - (f0-10 (acos (fabs f28-1))) - ) - (cond - ((< 0.0 f30-0) - (set! f30-0 (if (< 0.0 f28-1) - (fmin f30-0 (fmax 0.0 (+ -2730.6667 f0-10))) - (fmin f30-0 (fmax 0.0 (- 32768.0 (+ 2730.6667 f0-10)))) - ) - ) - ) - ((< f30-0 0.0) - (set! f30-0 (if (< 0.0 f28-1) - (fmax - f30-0 - (- (fmax 0.0 (- 32768.0 (+ 2730.6667 f0-10)))) - ) - (fmax f30-0 (- (fmax 0.0 (+ -2730.6667 f0-10)))) - ) - ) - ) - ) - ) - (matrix-rotate-x! sv-224 f30-0) - (let ((t9-7 matrix*!) - (a0-16 s5-0) - (a2-3 s5-0) + ) + (else + (vector-! s1-0 (-> arg0 follow-pt) arg1) ) - (t9-7 a0-16 sv-224 a2-3) - ) + ) + (forward-down->inv-matrix s5-0 s1-0 (-> *camera* local-down)) + (when (!= f30-0 0.0) + 0.0 + 0.0 + (set! sv-224 (new 'stack-no-clear 'matrix)) + (set! sv-208 (new 'stack-no-clear 'vector)) + (vector-normalize-copy! sv-208 s1-0 1.0) + (let* ((v1-11 (-> *camera* local-down)) + (f0-7 (-> sv-208 x)) + (f1-1 (-> sv-208 y)) + (f2-0 (-> sv-208 z)) + (f3-0 (-> v1-11 x)) + (f4-0 (-> v1-11 y)) + (f5-0 (-> v1-11 z)) + ) + ; (.mula.s f0-7 f3-0) + ; (.madda.s f1-1 f4-0) + ; (.madd.s f0-8 f2-0 f5-0) + (set! f0-8 (+ (* f0-7 f3-0) (* f1-1 f4-0) (* f2-0 f5-0))) + ) + (let* ((f28-1 f0-8) + (f0-10 (acos (fabs f28-1))) + ) + (cond + ((< 0.0 f30-0) + (set! f30-0 (if (< 0.0 f28-1) + (fmin f30-0 (fmax 0.0 (+ -2730.6667 f0-10))) + (fmin f30-0 (fmax 0.0 (- 32768.0 (+ 2730.6667 f0-10)))) + ) + ) + ) + ((< f30-0 0.0) + (set! f30-0 (if (< 0.0 f28-1) + (fmax f30-0 (- (fmax 0.0 (- 32768.0 (+ 2730.6667 f0-10))))) + (fmax f30-0 (- (fmax 0.0 (+ -2730.6667 f0-10)))) + ) + ) + ) + ) + ) + (matrix-rotate-x! sv-224 f30-0) + (let ((t9-7 matrix*!) + (a0-16 s5-0) + (a2-3 s5-0) + ) + (t9-7 a0-16 sv-224 a2-3) + ) + ) + ) + (if (and (= (-> *camera* under-water) 2) *target* (!= (-> *target* next-state name) 'target-swim-up)) + (set! (-> arg0 underwater-blend target) 1.0) + (set! (-> arg0 underwater-blend target) 0.0) + ) + (set! sv-240 vector-into-frustum-nosmooth!) + (set! sv-256 s5-0) + (let ((a2-5 (lerp-clamp arg3 (* 0.25 arg3) (-> arg0 underwater-blend value)))) + (sv-240 sv-256 arg1 a2-5) + ) + (cond + (arg4 + (slave-matrix-blend-2 (-> arg0 inv-mat) arg2 s1-0 s5-0) + ) + (else + (let* ((v1-31 (-> arg0 inv-mat)) + (a3-2 s5-0) + (a0-22 (-> a3-2 vector 0 quad)) + (a1-16 (-> a3-2 vector 1 quad)) + (a2-7 (-> a3-2 vector 2 quad)) + (a3-3 (-> a3-2 vector 3 quad)) + ) + (set! (-> v1-31 vector 0 quad) a0-22) + (set! (-> v1-31 vector 1 quad) a1-16) + (set! (-> v1-31 vector 2 quad) a2-7) + (set! (-> v1-31 vector 3 quad) a3-3) + ) + ) + ) ) - ) - (if - (and - (= (-> *camera* under-water) 2) - *target* - (!= (-> *target* next-state name) 'target-swim-up) - ) - (set! (-> arg0 underwater-blend target) 1.0) - (set! (-> arg0 underwater-blend target) 0.0) - ) - (set! sv-240 vector-into-frustum-nosmooth!) - (set! sv-256 s5-0) - (let - ((a2-5 (lerp-clamp arg3 (* 0.25 arg3) (-> arg0 underwater-blend value)))) - (sv-240 sv-256 arg1 a2-5) - ) - (cond - (arg4 - (slave-matrix-blend-2 (-> arg0 inv-mat) arg2 s1-0 s5-0) - ) - (else - (let* ((v1-31 (-> arg0 inv-mat)) - (a3-2 s5-0) - (a0-22 (-> a3-2 vector 0 quad)) - (a1-16 (-> a3-2 vector 1 quad)) - (a2-7 (-> a3-2 vector 2 quad)) - (a3-3 (-> a3-2 vector 3 quad)) - ) - (set! (-> v1-31 vector 0 quad) a0-22) - (set! (-> v1-31 vector 1 quad) a1-16) - (set! (-> v1-31 vector 2 quad) a2-7) - (set! (-> v1-31 vector 3 quad) a3-3) - ) - ) - ) + (mat-remove-z-rot (-> arg0 inv-mat) (-> *camera* local-down)) + 0 + (none) ) - (mat-remove-z-rot (-> arg0 inv-mat) (-> *camera* local-down)) - 0 - (none) - ) ) ;; WARN: Stack slot offset 144 signed mismatch @@ -1735,118 +1639,105 @@ ;; WARN: Unsupported inline assembly instruction kind - [mula.s f0, f3] ;; WARN: Unsupported inline assembly instruction kind - [madda.s f1, f4] ;; WARN: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5] -(defun - v-slrp2! - ((arg0 vector) - (arg1 vector) - (arg2 vector) - (arg3 float) - (arg4 vector) - (arg5 float) - ) +(defun v-slrp2! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 float) (arg4 vector) (arg5 float)) (local-vars - (f0-10 float) - (f28-0 float) - (f30-0 float) - (sv-144 float) - (sv-160 vector) - (sv-176 matrix) - (sv-192 vector) - ) + (f0-10 float) + (f28-0 float) + (f30-0 float) + (sv-144 float) + (sv-160 vector) + (sv-176 matrix) + (sv-192 vector) + ) (set! sv-144 arg5) (let ((s0-0 (new-stack-vector0))) - (set! sv-160 (new 'stack-no-clear 'vector)) - (set! (-> sv-160 quad) (the-as uint128 0)) - 1.0 - 1.0 - (let ((s3-0 (new-stack-vector0))) - 0.0 + (set! sv-160 (new 'stack-no-clear 'vector)) + (set! (-> sv-160 quad) (the-as uint128 0)) 1.0 - (set! sv-176 (new 'stack-no-clear 'matrix)) - (set! (-> sv-176 vector 0 quad) (the-as uint128 0)) - (set! (-> sv-176 vector 1 quad) (the-as uint128 0)) - (set! (-> sv-176 vector 2 quad) (the-as uint128 0)) - (set! (-> sv-176 vector 3 quad) (the-as uint128 0)) - (cond - ((< 1.0 arg3) - (set! arg3 1.0) - ) - ((< arg3 0.0) - (set! arg3 0.0) - ) - ) - (cond - (arg4 - (vector-flatten! s0-0 arg1 arg4) - (vector-flatten! sv-160 arg2 arg4) - (set! f30-0 (vector-normalize-ret-len! s0-0 1.0)) - (set! f28-0 (vector-normalize-ret-len! sv-160 1.0)) - (vector-normalize! (vector-cross! s3-0 sv-160 s0-0) 1.0) - (let ((f26-0 (vector-dot arg4 s3-0))) - (vector-normalize-copy! s3-0 arg4 1.0) - (if (< f26-0 0.0) - (vector-negate! s3-0 s3-0) + 1.0 + (let ((s3-0 (new-stack-vector0))) + 0.0 + 1.0 + (set! sv-176 (new 'stack-no-clear 'matrix)) + (set! (-> sv-176 vector 0 quad) (the-as uint128 0)) + (set! (-> sv-176 vector 1 quad) (the-as uint128 0)) + (set! (-> sv-176 vector 2 quad) (the-as uint128 0)) + (set! (-> sv-176 vector 3 quad) (the-as uint128 0)) + (cond + ((< 1.0 arg3) + (set! arg3 1.0) + ) + ((< arg3 0.0) + (set! arg3 0.0) + ) ) - ) - ) - (else - (set! (-> s0-0 quad) (-> arg1 quad)) - (set! (-> sv-160 quad) (-> arg2 quad)) - (set! f30-0 (vector-normalize-ret-len! s0-0 1.0)) - (set! f28-0 (vector-normalize-ret-len! sv-160 1.0)) - (vector-normalize! (vector-cross! s3-0 arg2 arg1) 1.0) - ) - ) - (let ((t9-10 acos)) - (let* ((v1-18 s0-0) - (f0-9 (-> v1-18 x)) - (f1-2 (-> v1-18 y)) - (f2-0 (-> v1-18 z)) - (f3-0 (-> sv-160 x)) - (f4-0 (-> sv-160 y)) - (f5-0 (-> sv-160 z)) + (cond + (arg4 + (vector-flatten! s0-0 arg1 arg4) + (vector-flatten! sv-160 arg2 arg4) + (set! f30-0 (vector-normalize-ret-len! s0-0 1.0)) + (set! f28-0 (vector-normalize-ret-len! sv-160 1.0)) + (vector-normalize! (vector-cross! s3-0 sv-160 s0-0) 1.0) + (let ((f26-0 (vector-dot arg4 s3-0))) + (vector-normalize-copy! s3-0 arg4 1.0) + (if (< f26-0 0.0) + (vector-negate! s3-0 s3-0) + ) ) - (set! f0-10 (+ (* f2-0 f5-0) (* f1-2 f4-0) (* f0-9 f3-0))) - ; (.mula.s f0-9 f3-0) - ; (.madda.s f1-2 f4-0) - ; (.madd.s f0-10 f2-0 f5-0) - ) - (let* ((f1-3 (t9-10 f0-10)) - (f0-12 (* arg3 f1-3)) + ) + (else + (set! (-> s0-0 quad) (-> arg1 quad)) + (set! (-> sv-160 quad) (-> arg2 quad)) + (set! f30-0 (vector-normalize-ret-len! s0-0 1.0)) + (set! f28-0 (vector-normalize-ret-len! sv-160 1.0)) + (vector-normalize! (vector-cross! s3-0 arg2 arg1) 1.0) + ) + ) + (let ((t9-10 acos)) + (let* ((v1-18 s0-0) + (f0-9 (-> v1-18 x)) + (f1-2 (-> v1-18 y)) + (f2-0 (-> v1-18 z)) + (f3-0 (-> sv-160 x)) + (f4-0 (-> sv-160 y)) + (f5-0 (-> sv-160 z)) + ) + ; (.mula.s f0-9 f3-0) + ; (.madda.s f1-2 f4-0) + ; (.madd.s f0-10 f2-0 f5-0) + (set! f0-10 (+ (* f2-0 f5-0) (* f1-2 f4-0) (* f0-9 f3-0))) + ) + (let* ((f1-3 (t9-10 f0-10)) + (f0-12 (* arg3 f1-3)) + ) + (when (< sv-144 f0-12) + (set! f0-12 sv-144) + (set! arg3 (/ sv-144 f1-3)) ) - (when (< sv-144 f0-12) - (set! f0-12 sv-144) - (set! arg3 (/ sv-144 f1-3)) - ) - (let* ((f0-13 (cos f0-12)) - (t9-12 matrix-axis-sin-cos!) - (a0-20 sv-176) - (a1-13 s3-0) - (f1-5 1.0) - (f2-3 f0-13) - ) - (t9-12 a0-20 a1-13 (sqrtf (- f1-5 (* f2-3 f2-3))) f0-13) - ) + (let* ((f0-13 (cos f0-12)) + (t9-12 matrix-axis-sin-cos!) + (a0-20 sv-176) + (a1-13 s3-0) + (f1-5 1.0) + (f2-3 f0-13) + ) + (t9-12 a0-20 a1-13 (sqrtf (- f1-5 (* f2-3 f2-3))) f0-13) + ) + ) + ) + (vector-matrix*! arg0 s0-0 sv-176) + (let ((s0-1 vector-normalize!)) + (set! sv-192 arg0) + (let ((a1-16 (lerp f30-0 f28-0 arg3))) + (s0-1 sv-192 a1-16) + ) + ) + (when arg4 + (vector+float*! arg0 arg0 s3-0 (vector-dot arg1 s3-0)) + (vector+float*! arg0 arg0 s3-0 (* arg3 (vector-dot (vector-! (new-stack-vector0) arg2 arg1) s3-0))) + ) ) - ) - (vector-matrix*! arg0 s0-0 sv-176) - (let ((s0-1 vector-normalize!)) - (set! sv-192 arg0) - (let ((a1-16 (lerp f30-0 f28-0 arg3))) - (s0-1 sv-192 a1-16) - ) - ) - (when arg4 - (vector+float*! arg0 arg0 s3-0 (vector-dot arg1 s3-0)) - (vector+float*! - arg0 - arg0 - s3-0 - (* arg3 (vector-dot (vector-! (new-stack-vector0) arg2 arg1) s3-0)) - ) - ) ) - ) arg0 ) @@ -1855,93 +1746,80 @@ ;; WARN: Unsupported inline assembly instruction kind - [mula.s f0, f3] ;; WARN: Unsupported inline assembly instruction kind - [madda.s f1, f4] ;; WARN: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5] -(defun - v-slrp3! - ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector) (arg4 float)) - (local-vars - (f0-7 float) - (f26-0 float) - (f28-0 float) - (sv-144 float) - (sv-160 vector) - ) +(defun v-slrp3! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector) (arg4 float)) + (local-vars (f0-7 float) (f26-0 float) (f28-0 float) (sv-144 float) (sv-160 vector)) (set! sv-144 arg4) (let ((s1-0 (new-stack-vector0))) - (set! sv-160 (new 'stack-no-clear 'vector)) - (set! (-> sv-160 quad) (the-as uint128 0)) - 0.0 - 0.0 - (let ((s3-0 (new-stack-vector0)) - (f30-0 1.0) - ) + (set! sv-160 (new 'stack-no-clear 'vector)) + (set! (-> sv-160 quad) (the-as uint128 0)) 0.0 - (let ((s0-0 (new-stack-matrix0))) - (cond - (arg3 - (vector-flatten! s1-0 arg1 arg3) - (vector-flatten! sv-160 arg2 arg3) - (set! f28-0 (vector-normalize-ret-len! s1-0 1.0)) - (set! f26-0 (vector-normalize-ret-len! sv-160 1.0)) - (vector-normalize! (vector-cross! s3-0 sv-160 s1-0) 1.0) - (let ((f24-0 (vector-dot arg3 s3-0))) - (vector-normalize-copy! s3-0 arg3 1.0) - (if (< f24-0 0.0) - (vector-negate! s3-0 s3-0) - ) - ) - ) - (else - (set! (-> s1-0 quad) (-> arg1 quad)) - (set! (-> sv-160 quad) (-> arg2 quad)) - (set! f28-0 (vector-normalize-ret-len! s1-0 1.0)) - (set! f26-0 (vector-normalize-ret-len! sv-160 1.0)) - (vector-normalize! (vector-cross! s3-0 arg2 arg1) 1.0) - ) - ) - (let ((t9-10 acos)) - (let* ((v1-9 s1-0) - (f0-6 (-> v1-9 x)) - (f1-0 (-> v1-9 y)) - (f2-0 (-> v1-9 z)) - (f3-0 (-> sv-160 x)) - (f4-0 (-> sv-160 y)) - (f5-0 (-> sv-160 z)) - ) - ; (.mula.s f0-6 f3-0) - ; (.madda.s f1-0 f4-0) - ; (.madd.s f0-7 f2-0 f5-0) - (set! f0-7 (+ (* f0-6 f3-0) (* f1-0 f4-0) (* f2-0 f5-0))) - ) - (let ((f0-8 (t9-10 f0-7))) - (when (< sv-144 f0-8) - (set! f30-0 (/ sv-144 f0-8)) - (set! f0-8 sv-144) - ) - (let* ((f0-9 (cos f0-8)) - (t9-12 matrix-axis-sin-cos!) - (a0-20 s0-0) - (a1-13 s3-0) - (f1-3 1.0) - (f2-1 f0-9) + 0.0 + (let ((s3-0 (new-stack-vector0)) + (f30-0 1.0) + ) + 0.0 + (let ((s0-0 (new-stack-matrix0))) + (cond + (arg3 + (vector-flatten! s1-0 arg1 arg3) + (vector-flatten! sv-160 arg2 arg3) + (set! f28-0 (vector-normalize-ret-len! s1-0 1.0)) + (set! f26-0 (vector-normalize-ret-len! sv-160 1.0)) + (vector-normalize! (vector-cross! s3-0 sv-160 s1-0) 1.0) + (let ((f24-0 (vector-dot arg3 s3-0))) + (vector-normalize-copy! s3-0 arg3 1.0) + (if (< f24-0 0.0) + (vector-negate! s3-0 s3-0) + ) ) - (t9-12 a0-20 a1-13 (sqrtf (- f1-3 (* f2-1 f2-1))) f0-9) + ) + (else + (set! (-> s1-0 quad) (-> arg1 quad)) + (set! (-> sv-160 quad) (-> arg2 quad)) + (set! f28-0 (vector-normalize-ret-len! s1-0 1.0)) + (set! f26-0 (vector-normalize-ret-len! sv-160 1.0)) + (vector-normalize! (vector-cross! s3-0 arg2 arg1) 1.0) + ) + ) + (let ((t9-10 acos)) + (let* ((v1-9 s1-0) + (f0-6 (-> v1-9 x)) + (f1-0 (-> v1-9 y)) + (f2-0 (-> v1-9 z)) + (f3-0 (-> sv-160 x)) + (f4-0 (-> sv-160 y)) + (f5-0 (-> sv-160 z)) + ) + ; (.mula.s f0-6 f3-0) + ; (.madda.s f1-0 f4-0) + ; (.madd.s f0-7 f2-0 f5-0) + (set! f0-7 (+ (* f0-6 f3-0) (* f1-0 f4-0) (* f2-0 f5-0))) + ) + (let ((f0-8 (t9-10 f0-7))) + (when (< sv-144 f0-8) + (set! f30-0 (/ sv-144 f0-8)) + (set! f0-8 sv-144) + ) + (let* ((f0-9 (cos f0-8)) + (t9-12 matrix-axis-sin-cos!) + (a0-20 s0-0) + (a1-13 s3-0) + (f1-3 1.0) + (f2-1 f0-9) + ) + (t9-12 a0-20 a1-13 (sqrtf (- f1-3 (* f2-1 f2-1))) f0-9) + ) + ) + ) + (vector-matrix*! arg0 s1-0 s0-0) + ) + (vector-normalize! arg0 (lerp f28-0 f26-0 f30-0)) + (when arg3 + (vector+float*! arg0 arg0 s3-0 (vector-dot arg1 s3-0)) + (vector+float*! arg0 arg0 s3-0 (* f30-0 (vector-dot (vector-! (new-stack-vector0) arg2 arg1) s3-0))) ) - ) ) - (vector-matrix*! arg0 s1-0 s0-0) - ) - (vector-normalize! arg0 (lerp f28-0 f26-0 f30-0)) - (when arg3 - (vector+float*! arg0 arg0 s3-0 (vector-dot arg1 s3-0)) - (vector+float*! - arg0 - arg0 - s3-0 - (* f30-0 (vector-dot (vector-! (new-stack-vector0) arg2 arg1) s3-0)) - ) - ) ) - ) arg0 ) diff --git a/goal_src/engine/camera/pov-camera.gc b/goal_src/engine/camera/pov-camera.gc index 004ac02874..496faccade 100644 --- a/goal_src/engine/camera/pov-camera.gc +++ b/goal_src/engine/camera/pov-camera.gc @@ -32,8 +32,7 @@ (defstate pov-camera-startup (pov-camera) :virtual #t - :code - (behavior () + :code (behavior () (go-virtual pov-camera-start-playing) (none) ) @@ -41,8 +40,7 @@ (defstate pov-camera-start-playing (pov-camera) :virtual #t - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (while (not (target-grabbed? self)) (suspend) @@ -53,16 +51,7 @@ (set! gp-0 (+ (-> v1-7 number) 1)) ) ) - (let* ((s5-0 (get-process *default-dead-pool* othercam #x4000)) - (v1-10 (when s5-0 - (let ((t9-3 (method-of-type othercam activate))) - (t9-3 (the-as othercam s5-0) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 othercam-init-by-other self gp-0 #t #t) - (-> s5-0 ppointer) - ) - ) - ) + (let ((v1-10 (process-spawn othercam self gp-0 #t #t :to self))) (send-event (ppointer->process v1-10) 'mask (-> self mask-to-clear)) ) ) @@ -91,8 +80,7 @@ (defstate pov-camera-playing (pov-camera) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('abort) (when (logtest? (-> self flags) (pov-camera-flag notify-of-abort)) @@ -104,16 +92,14 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self debounce-start-time) (-> *display* base-frame-counter)) (if (= (-> self anim-name type) string) (backup-load-state-and-set-cmds *load-state* (-> self command-list)) ) (none) ) - :exit - (behavior () + :exit (behavior () (if (= (-> self anim-name type) string) (restore-load-state-and-cleanup *load-state*) ) @@ -121,8 +107,7 @@ (clear-pending-settings-from-process *setting-control* self 'sfx-volume) (none) ) - :code - (behavior () + :code (behavior () (push-setting! *setting-control* self 'music-volume 'rel (-> self music-volume-movie) 0) (push-setting! *setting-control* self 'sfx-volume 'rel (-> self sfx-volume-movie) 0) (cond @@ -146,8 +131,7 @@ (go-virtual pov-camera-done-playing) (none) ) - :post - (behavior () + :post (behavior () (if (= (-> self anim-name type) string) (execute-commands-up-to *load-state* (ja-aframe-num 0)) ) @@ -158,13 +142,11 @@ (defstate pov-camera-abort (pov-camera) :virtual #t - :enter - (behavior () + :enter (behavior () (logior! (-> self flags) (pov-camera-flag allow-abort)) (none) ) - :code - (behavior () + :code (behavior () (set-blackout-frames (seconds 0.035)) (suspend) (suspend) @@ -175,8 +157,7 @@ (defstate pov-camera-done-playing (pov-camera) :virtual #t - :code - (behavior () + :code (behavior () (while (begin self (not ((method-of-object self target-released?)))) (suspend) ) diff --git a/goal_src/engine/collide/collide.gc b/goal_src/engine/collide/collide.gc index f41db06a5e..9689eda268 100644 --- a/goal_src/engine/collide/collide.gc +++ b/goal_src/engine/collide/collide.gc @@ -7,28 +7,22 @@ ;; DECOMP BEGINS -(define - *collide-vif0-init* - (the-as (array uint32) - (new - 'static - 'boxed-array - :type uint32 :length 12 :allocated-length 12 - #x30000000 - #x4d000000 - #x4d000000 - #x4d000000 - #x3f800000 - #x5000001 - #x20000000 - #x40404040 - #x1000404 - #x0 - #x0 - #x0 - ) - ) - ) +(define *collide-vif0-init* (the-as (array uint32) (new 'static 'boxed-array :type uint32 + #x30000000 + #x4d000000 + #x4d000000 + #x4d000000 + #x3f800000 + #x5000001 + #x20000000 + #x40404040 + #x1000404 + #x0 + #x0 + #x0 + ) + ) + ) diff --git a/goal_src/engine/debug/anim-tester.gc b/goal_src/engine/debug/anim-tester.gc index 332ff86ad5..7e8e73b595 100644 --- a/goal_src/engine/debug/anim-tester.gc +++ b/goal_src/engine/debug/anim-tester.gc @@ -2227,15 +2227,12 @@ ) (defstate anim-tester-process (anim-tester) - :event - anim-tester-standard-event-handler - :enter - (behavior () + :event anim-tester-standard-event-handler + :enter (behavior () (logior! (-> self flags) (anim-tester-flags fanimt1)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (zero? (logand (-> self flags) (anim-tester-flags fanimt1))) (= *master-mode* 'menu)) (anim-tester-interface) ) @@ -2251,8 +2248,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (s4-0 glst-node) (s5-1 anim-test-seq-item) (gp-2 anim-test-sequence)) (loop (logclear! (-> self flags) (anim-tester-flags fanimt0)) @@ -2399,8 +2395,7 @@ ) (none) ) - :post - anim-tester-post + :post anim-tester-post ) (defbehavior initialize-anim-tester anim-tester () diff --git a/goal_src/engine/debug/default-menu.gc b/goal_src/engine/debug/default-menu.gc index 70eb13bca3..0e6f7800ec 100644 --- a/goal_src/engine/debug/default-menu.gc +++ b/goal_src/engine/debug/default-menu.gc @@ -60,10 +60,10 @@ (send-event *camera* 'reset-root) ) ((= arg0 9) - (set! (-> *camera* master-options) (logxor (-> *camera* master-options) 1)) + (logxor! (-> *camera* master-options) 1) ) ((= arg0 10) - (set! (-> *camera* master-options) (logxor (-> *camera* master-options) 4)) + (logxor! (-> *camera* master-options) 4) ) ((= arg0 11) (send-event *camera* 'toggle-slave-option 32) @@ -183,60 +183,53 @@ ) (defun dm-cam-render-float ((arg0 int) (arg1 debug-menu-msg) (arg2 float) (arg3 float)) - (with-pp - (when (= arg1 (debug-menu-msg press)) - (cond - ((zero? (/ arg0 8)) - (when *math-camera* - (set! (-> *math-camera* fov) (* 182.04445 arg2)) - (update-math-camera - *math-camera* - (-> *setting-control* current video-mode) - (-> *setting-control* current aspect-ratio) - ) - ) - ) - ((= (/ arg0 8) 1) - (if *camera* - (send-event *camera* 'set-fov (* 182.04445 arg2)) - ) - ) - ) - ) + (when (= arg1 (debug-menu-msg press)) (cond ((zero? (/ arg0 8)) - (cond - (*math-camera* - (* 0.005493164 (-> *math-camera* fov)) - ) - (else - (empty) - arg3 + (when *math-camera* + (set! (-> *math-camera* fov) (* 182.04445 arg2)) + (update-math-camera + *math-camera* + (-> *setting-control* current video-mode) + (-> *setting-control* current aspect-ratio) ) ) ) ((= (/ arg0 8) 1) - (cond - (*camera* - (let ((f30-0 0.005493164) - (a1-3 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 0) - (set! (-> a1-3 message) 'query-fov) - (* f30-0 (the-as float (send-event-function *camera* a1-3))) - ) - ) - (else - (empty) - arg3 + (if *camera* + (send-event *camera* 'set-fov (* 182.04445 arg2)) ) + ) + ) + ) + (cond + ((zero? (/ arg0 8)) + (cond + (*math-camera* + (* 0.005493164 (-> *math-camera* fov)) + ) + (else + (empty) + arg3 ) ) - (else - (empty) - arg3 - ) + ) + ((= (/ arg0 8) 1) + (cond + (*camera* + (let ((f30-0 0.005493164)) + (* f30-0 (the-as float (send-event *camera* 'query-fov))) + ) + ) + (else + (empty) + arg3 + ) + ) + ) + (else + (empty) + arg3 ) ) ) @@ -473,7 +466,7 @@ (let ((v1-0 (find-instance-by-name *edit-instance*))) (when v1-0 (if (= arg1 (debug-menu-msg press)) - (set! (-> v1-0 flags) (logxor (-> v1-0 flags) (the-as uint arg0))) + (logxor! (-> v1-0 flags) (the-as uint arg0)) ) (logtest? (-> v1-0 flags) arg0) ) @@ -570,7 +563,7 @@ (cond (v1-0 (if (= arg1 (debug-menu-msg press)) - (set! (-> v1-0 flags) (logxor (-> v1-0 flags) 1)) + (logxor! (-> v1-0 flags) 1) ) (zero? (logand (-> v1-0 flags) 1)) ) @@ -3090,19 +3083,10 @@ ) (defun dm-task-get-money ((arg0 int) (arg1 debug-menu-msg)) - (with-pp - (if (= arg1 (debug-menu-msg press)) - (send-event *target* 'get-pickup 5 (-> *GAME-bank* money-task-inc)) - ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) pp) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'pickup)) - (set! (-> a1-2 param 1) (the-as uint 5)) - (>= (the-as float (send-event-function *target* a1-2)) (-> *GAME-bank* money-task-inc)) + (if (= arg1 (debug-menu-msg press)) + (send-event *target* 'get-pickup 5 (-> *GAME-bank* money-task-inc)) ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) (defun dm-give-all-cells ((arg0 int) (arg1 debug-menu-msg)) @@ -3285,13 +3269,13 @@ (case arg0 (('at-apply-align) (if (= arg1 (debug-menu-msg press)) - (set! (-> *anim-tester* 0 flags) (logxor (-> *anim-tester* 0 flags) (anim-tester-flags fanimt5))) + (logxor! (-> *anim-tester* 0 flags) (anim-tester-flags fanimt5)) ) (return (logtest? (-> *anim-tester* 0 flags) (anim-tester-flags fanimt5))) ) (('at-show-joint-info) (if (= arg1 (debug-menu-msg press)) - (set! (-> *anim-tester* 0 flags) (logxor (-> *anim-tester* 0 flags) (anim-tester-flags fanimt4))) + (logxor! (-> *anim-tester* 0 flags) (anim-tester-flags fanimt4)) ) (return (logtest? (-> *anim-tester* 0 flags) (anim-tester-flags fanimt4))) ) @@ -3763,7 +3747,7 @@ (lambda ((arg0 int) (arg1 debug-menu-msg)) (when (= arg1 (debug-menu-msg press)) (if *target* - (set! (-> *target* state-flags) (logxor (-> *target* state-flags) (state-flags sf04))) + (logxor! (-> *target* state-flags) (state-flags sf04)) ) ) (the-as symbol (and *target* (logtest? (-> *target* state-flags) (state-flags sf04)))) @@ -4604,6 +4588,8 @@ (flag "Display actor counts" #f ,(dm-lambda-boolean-flag (-> *pc-settings* display-actor-counts))) (flag "Display git commit" #f ,(dm-lambda-boolean-flag (-> *pc-settings* display-sha))) (flag "Extra hud elements" #f ,(dm-lambda-boolean-flag (-> *pc-settings* extra-hud?))) + (flag "Music fadein" #f ,(dm-lambda-boolean-flag (-> *pc-settings* music-fadein?))) + (flag "Music fadeout" #f ,(dm-lambda-boolean-flag (-> *pc-settings* music-fadeout?))) (function "Reset" #f (lambda () (reset *pc-settings*))) (function "Save" #f (lambda () (commit-to-file *pc-settings*))) (function "Load" #f (lambda () (load-settings *pc-settings*))) diff --git a/goal_src/engine/debug/part-tester.gc b/goal_src/engine/debug/part-tester.gc index 9a3292092c..ee53b6a5e1 100644 --- a/goal_src/engine/debug/part-tester.gc +++ b/goal_src/engine/debug/part-tester.gc @@ -39,8 +39,7 @@ ) (defstate part-tester-idle (part-tester) - :code - (behavior () + :code (behavior () (loop (let ((gp-0 (entity-by-name *part-tester-name*))) (when gp-0 @@ -110,18 +109,13 @@ (defun start-part () (kill-by-type part-tester *active-pool*) - (let ((gp-0 (get-process *debug-part-dead-pool* part-tester #x4000))) - (when gp-0 - (let ((t9-2 (method-of-type part-tester activate))) - (t9-2 (the-as part-tester gp-0) *default-pool* 'part-tester (the-as pointer #x70004000)) + (process-spawn + part-tester + (if *anim-tester* + (-> *anim-tester* 0 root trans) + (target-pos 0) ) - (run-now-in-process gp-0 part-tester-init-by-other (if *anim-tester* - (-> *anim-tester* 0 root trans) - (target-pos 0) - ) - ) - (-> gp-0 ppointer) - ) + :from *debug-part-dead-pool* ) (none) ) diff --git a/goal_src/engine/debug/viewer.gc b/goal_src/engine/debug/viewer.gc index 7b2d4fadad..48503221ae 100644 --- a/goal_src/engine/debug/viewer.gc +++ b/goal_src/engine/debug/viewer.gc @@ -9,8 +9,7 @@ (define *viewer-sg* (new 'static 'skeleton-group :bounds (new 'static 'vector :w 16384.0) - :lod-dist - (new 'static 'array float 4 4095996000.0 0.0 0.0 0.0) + :lod-dist (new 'static 'array float 4 4095996000.0 0.0 0.0 0.0) ) ) @@ -29,12 +28,10 @@ (define-extern *viewer* viewer) (defstate viewer-process (viewer) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (-> self janim) - :num! - (seek! (the float (+ (-> self janim data 0 length) -1))) + :num! (seek! (the float (+ (-> self janim data 0 length) -1))) :frame-num 0.0 ) (until (ja-done? 0) @@ -46,8 +43,7 @@ ) (none) ) - :post - (the-as (function none :behavior viewer) ja-post) + :post (the-as (function none :behavior viewer) ja-post) ) (define viewer-string (new 'global 'string 64 (the-as string #f))) diff --git a/goal_src/engine/draw/process-drawable.gc b/goal_src/engine/draw/process-drawable.gc index 56851b75f2..7d4fb713af 100644 --- a/goal_src/engine/draw/process-drawable.gc +++ b/goal_src/engine/draw/process-drawable.gc @@ -421,10 +421,9 @@ ) (defstate process-drawable-art-error (process-drawable) - :code - (behavior ((arg0 string)) + :code (behavior ((arg0 string)) (logior! (-> self entity extra perm status) (entity-perm-status bit-1)) - (while #t + (loop (when *display-entity-errors* (let ((s5-0 add-debug-text-3d) (s4-0 #t) @@ -450,10 +449,8 @@ (define-extern ja-post (function none :behavior process-drawable)) (define-extern anim-loop (function none :behavior process-drawable)) (defstate process-drawable-idle (process-drawable) - :code - anim-loop - :post - ja-post + :code anim-loop + :post ja-post ) ;; WARN: Stack slot offset 20 signed mismatch @@ -474,15 +471,7 @@ ) ) ) - (let ((s4-0 (load-to-heap-by-name - (-> s1-0 art-group) - (-> arg0 art-group-name) - #f - global - (-> arg0 version) - ) - ) - ) + (let ((s4-0 (load-to-heap-by-name (-> s1-0 art-group) (-> arg0 art-group-name) #f global (-> arg0 version)))) (when (or (zero? s4-0) (or (not s4-0) (!= (-> s4-0 type) art-group))) (go process-drawable-art-error "art-group") (set! s3-0 (the-as draw-control #f)) @@ -1181,7 +1170,7 @@ (defbehavior anim-loop process-drawable () (logior! (-> self mask) (process-mask sleep-code)) - (while #t + (loop (nop!) (suspend) ) diff --git a/goal_src/engine/game/collectables-part.gc b/goal_src/engine/game/collectables-part.gc index 25b24fd0fb..b326bf678b 100644 --- a/goal_src/engine/game/collectables-part.gc +++ b/goal_src/engine/game/collectables-part.gc @@ -80,8 +80,7 @@ (defpartgroup group-eco-blue :id 42 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2 :flags (launch-asap) :binding 3) + :parts ((sp-item 2 :flags (launch-asap) :binding 3) (sp-item 3 :fade-after (meters 40) :flags (start-dead launch-asap) :binding 5) (sp-item 3 :fade-after (meters 60) :flags (start-dead launch-asap) :binding 5) (sp-item 3 :fade-after (meters 80) :flags (start-dead launch-asap) :binding 5) @@ -105,8 +104,7 @@ ) (defpart 2 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 4)) (sp-flt spt-scale-x (meters 0.01)) @@ -118,8 +116,7 @@ ) (defpart 3 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.3) (meters 0.15) 1.0) @@ -144,13 +141,11 @@ ) (defpart 4 - :init-specs - ((sp-flt spt-fade-a -0.21333334) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.21333334) (sp-int spt-timer 150)) ) (defpart 5 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.2) (meters 0.1) 1.0) @@ -175,13 +170,11 @@ ) (defpart 6 - :init-specs - ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) ) (defpart 7 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -200,8 +193,7 @@ ) (defpart 8 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -220,8 +212,7 @@ ) (defpart 9 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -240,8 +231,7 @@ ) (defpart 10 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.2 0.2 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -259,8 +249,7 @@ :duration 150 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 11 :flags (launch-asap) :binding 12) + :parts ((sp-item 11 :flags (launch-asap) :binding 12) (sp-item 12 :flags (start-dead launch-asap) :binding 13) (sp-item 12 :flags (start-dead launch-asap) :binding 14) (sp-item 12 :flags (start-dead launch-asap) :binding 13) @@ -282,8 +271,7 @@ ) (defpart 11 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 4)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -302,8 +290,7 @@ ) (defpart 12 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-y (meters -4) (meters 16) 1.0) (sp-flt spt-z (meters 0.08)) @@ -324,8 +311,7 @@ ) (defpart 13 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -344,8 +330,7 @@ ) (defpart 14 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -364,8 +349,7 @@ ) (defpart 147 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -386,8 +370,7 @@ (defpartgroup group-part-vent-blue-active :id 44 :bounds (static-bspherem 0 5 0 5) - :parts - ((sp-item 149 :fade-after (meters 140) :falloff-to (meters 140) :binding 156) + :parts ((sp-item 149 :fade-after (meters 140) :falloff-to (meters 140) :binding 156) (sp-item 149 :fade-after (meters 140) :falloff-to (meters 140) :binding 155) (sp-item 149 :fade-after (meters 140) :falloff-to (meters 140) :binding 154) (sp-item 150) @@ -408,13 +391,11 @@ (defpartgroup group-part-vent-blue-inactive :id 45 :bounds (static-bspherem 0 5 0 5) - :parts - ((sp-item 149 :fade-after (meters 100)) (sp-item 150)) + :parts ((sp-item 149 :fade-after (meters 100)) (sp-item 150)) ) (defpart 150 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -433,8 +414,7 @@ ) (defpart 149 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 0.05 0.1 1.0) (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -452,8 +432,7 @@ ) (defpart 156 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) (sp-int spt-rot-x 4) @@ -472,8 +451,7 @@ ) (defpart 155 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) (sp-int spt-rot-x 4) @@ -492,8 +470,7 @@ ) (defpart 154 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) (sp-int spt-rot-x 4) @@ -512,8 +489,7 @@ ) (defpart 151 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.1 0.5 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -535,8 +511,7 @@ ) (defpart 152 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-rnd-flt spt-num 0.2 0.4 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -558,8 +533,7 @@ ) (defpart 153 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-rnd-flt spt-num 0.3 0.1 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -581,8 +555,7 @@ ) (defpart 146 - :init-specs - ((sp-flt spt-r 64.0) + :init-specs ((sp-flt spt-r 64.0) (sp-flt spt-g 64.0) (sp-flt spt-fade-r -1.0) (sp-flt spt-fade-g -1.0) @@ -593,8 +566,7 @@ (defpartgroup group-eco-red :id 48 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 160 :flags (launch-asap) :binding 161) + :parts ((sp-item 160 :flags (launch-asap) :binding 161) (sp-item 161 :flags (start-dead launch-asap) :binding 162) (sp-item 161 :flags (start-dead launch-asap) :binding 162) (sp-item 161 :flags (start-dead launch-asap) :binding 162) @@ -614,8 +586,7 @@ ) (defpart 160 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 4)) (sp-flt spt-scale-x (meters 0.01)) @@ -627,8 +598,7 @@ ) (defpart 161 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.15) (meters 0.2) 1.0) @@ -653,13 +623,11 @@ ) (defpart 165 - :init-specs - ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) ) (defpart 162 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.25) (meters 0.1) 1.0) @@ -681,13 +649,11 @@ ) (defpart 166 - :init-specs - ((sp-flt spt-fade-a -0.21333334) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.21333334) (sp-int spt-timer 150)) ) (defpart 163 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -707,8 +673,7 @@ ) (defpart 164 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -731,8 +696,7 @@ ) (defpart 167 - :init-specs - ((sp-flt spt-fade-g 0.0)) + :init-specs ((sp-flt spt-fade-g 0.0)) ) (defpartgroup group-eco-red-collect @@ -741,8 +705,7 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 168 :flags (launch-asap) :binding 169) + :parts ((sp-item 168 :flags (launch-asap) :binding 169) (sp-item 169 :flags (start-dead launch-asap) :binding 170) (sp-item 169 :flags (start-dead launch-asap) :binding 170) (sp-item 169 :flags (start-dead launch-asap) :binding 170) @@ -757,8 +720,7 @@ ) (defpart 168 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 4)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -777,8 +739,7 @@ ) (defpart 169 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-y (meters -4) (meters 16) 1.0) (sp-flt spt-z (meters 0.08)) @@ -799,8 +760,7 @@ ) (defpart 170 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -826,8 +786,7 @@ (defpartgroup group-part-vent-red-active :id 50 :bounds (static-bspherem 0 3 0 5) - :parts - ((sp-item 172 :fade-after (meters 30) :period 330 :length 5 :binding 173) + :parts ((sp-item 172 :fade-after (meters 30) :period 330 :length 5 :binding 173) (sp-item 172 :fade-after (meters 60) :period 736 :length 5 :binding 173) (sp-item 172 :fade-after (meters 90) :period 936 :length 5 :binding 173) (sp-item 172 :fade-after (meters 130) :period 528 :length 5 :binding 173) @@ -864,13 +823,11 @@ (defpartgroup group-part-vent-red-inactive :id 51 :bounds (static-bspherem 0 3 0 5) - :parts - ((sp-item 176 :fade-after (meters 140) :falloff-to (meters 140)) (sp-item 177)) + :parts ((sp-item 176 :fade-after (meters 140) :falloff-to (meters 140)) (sp-item 177)) ) (defpart 177 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.6 0.6 1.0) (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -891,8 +848,7 @@ ) (defpart 176 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 0.1 0.3 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -913,8 +869,7 @@ ) (defpart 172 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 1.5) 1.0) (sp-flt spt-scale-x (meters 0.01)) @@ -929,8 +884,7 @@ ) (defpart 173 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 0.5)) @@ -953,8 +907,7 @@ ) (defpart 174 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.25) (meters 0.1) 1.0) @@ -973,8 +926,7 @@ ) (defpart 175 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -998,15 +950,13 @@ ) (defpart 171 - :init-specs - ((sp-flt spt-fade-g 0.0)) + :init-specs ((sp-flt spt-fade-g 0.0)) ) (defpartgroup group-part-vent-yellow-active :id 52 :bounds (static-bspherem 0 3 0 5) - :parts - ((sp-item 178 :fade-after (meters 40) :period 330 :length 5 :binding 179) + :parts ((sp-item 178 :fade-after (meters 40) :period 330 :length 5 :binding 179) (sp-item 178 :fade-after (meters 60) :period 736 :length 5 :binding 179) (sp-item 178 :fade-after (meters 80) :period 936 :length 5 :binding 179) (sp-item 178 :fade-after (meters 100) :period 528 :length 5 :binding 179) @@ -1043,13 +993,11 @@ (defpartgroup group-part-vent-yellow-inactive :id 53 :bounds (static-bspherem 0 3 0 5) - :parts - ((sp-item 182 :fade-after (meters 140) :falloff-to (meters 140)) (sp-item 183)) + :parts ((sp-item 182 :fade-after (meters 140) :falloff-to (meters 140)) (sp-item 183)) ) (defpart 183 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.6 0.6 1.0) (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1070,8 +1018,7 @@ ) (defpart 182 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 0.1 0.3 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1092,8 +1039,7 @@ ) (defpart 178 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 1.5) 1.0) (sp-flt spt-scale-x (meters 0.01)) @@ -1108,8 +1054,7 @@ ) (defpart 179 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-flt spt-y (meters 0)) @@ -1129,8 +1074,7 @@ ) (defpart 180 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -1150,8 +1094,7 @@ ) (defpart 181 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.5 2.0 1.0) (sp-flt spt-y (meters -0.05)) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 1.0) @@ -1178,15 +1121,13 @@ ) (defpart 190 - :init-specs - ((sp-flt spt-fade-r 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0)) ) (defpartgroup group-eco-yellow :id 56 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 191 :flags (launch-asap) :binding 192) + :parts ((sp-item 191 :flags (launch-asap) :binding 192) (sp-item 192 :flags (start-dead launch-asap) :binding 193) (sp-item 192 :flags (start-dead launch-asap) :binding 193) (sp-item 192 :flags (start-dead launch-asap) :binding 193) @@ -1209,8 +1150,7 @@ ) (defpart 191 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 4)) (sp-flt spt-scale-x (meters 0.01)) @@ -1222,8 +1162,7 @@ ) (defpart 192 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.15) (meters 0.2) 1.0) @@ -1248,13 +1187,11 @@ ) (defpart 196 - :init-specs - ((sp-flt spt-fade-a -0.10666667) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.10666667) (sp-int spt-timer 150)) ) (defpart 193 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.75) (meters 0.1) 1.0) @@ -1276,13 +1213,11 @@ ) (defpart 197 - :init-specs - ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) ) (defpart 194 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -1302,8 +1237,7 @@ ) (defpart 195 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1324,8 +1258,7 @@ ) (defpart 198 - :init-specs - ((sp-flt spt-fade-g 0.0)) + :init-specs ((sp-flt spt-fade-g 0.0)) ) (defpartgroup group-eco-yellow-collect @@ -1333,8 +1266,7 @@ :duration 150 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 199 :flags (launch-asap) :binding 200) + :parts ((sp-item 199 :flags (launch-asap) :binding 200) (sp-item 200 :flags (start-dead launch-asap) :binding 201) (sp-item 200 :flags (start-dead launch-asap) :binding 201) (sp-item 200 :flags (start-dead launch-asap) :binding 201) @@ -1349,8 +1281,7 @@ ) (defpart 199 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 4)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1369,8 +1300,7 @@ ) (defpart 200 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-y (meters -4) (meters 16) 1.0) (sp-flt spt-z (meters 0.08)) @@ -1391,8 +1321,7 @@ ) (defpart 201 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1415,8 +1344,7 @@ (defpartgroup group-eco-green :id 58 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 202 :flags (launch-asap) :binding 203) + :parts ((sp-item 202 :flags (launch-asap) :binding 203) (sp-item 203 :flags (start-dead launch-asap) :binding 204) (sp-item 203 :flags (start-dead launch-asap) :binding 204) (sp-item 203 :flags (start-dead launch-asap) :binding 204) @@ -1438,8 +1366,7 @@ ) (defpart 202 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 4)) (sp-flt spt-scale-x (meters 0.01)) @@ -1454,8 +1381,7 @@ ) (defpart 203 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.3) (meters 0.25) 1.0) @@ -1479,13 +1405,11 @@ ) (defpart 206 - :init-specs - ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) ) (defpart 204 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 0.3)) @@ -1507,13 +1431,11 @@ ) (defpart 207 - :init-specs - ((sp-flt spt-fade-a -0.42666668) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.42666668) (sp-int spt-timer 150)) ) (defpart 205 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-y (meters -0.05)) (sp-flt spt-scale-x (meters 0.3)) @@ -1534,15 +1456,13 @@ ) (defpart 208 - :init-specs - ((sp-flt spt-fade-r 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0)) ) (defpartgroup group-eco-green-pill :id 59 :bounds (static-bspherem 0 0 0 0.4) - :parts - ((sp-item 209 :flags (launch-asap) :binding 210) + :parts ((sp-item 209 :flags (launch-asap) :binding 210) (sp-item 210 :flags (start-dead launch-asap) :binding 211) (sp-item 211 :flags (start-dead launch-asap) :binding 212) (sp-item 212 :flags (start-dead launch-asap) :binding 213) @@ -1554,8 +1474,7 @@ ) (defpart 209 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.01)) (sp-copy-from-other spt-scale-y -4) @@ -1569,8 +1488,7 @@ ) (defpart 210 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.2) (meters 0.1) 1.0) @@ -1594,13 +1512,11 @@ ) (defpart 214 - :init-specs - ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) ) (defpart 211 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0) (meters 0.2) 1.0) @@ -1624,8 +1540,7 @@ ) (defpart 212 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 0.08)) @@ -1647,13 +1562,11 @@ ) (defpart 215 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-a -0.8466667) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-a -0.8466667) (sp-int spt-timer 150)) ) (defpart 213 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-y (meters -0.05)) (sp-flt spt-scale-x (meters 0.15)) @@ -1678,8 +1591,7 @@ :duration 150 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 216 :flags (launch-asap) :binding 217) + :parts ((sp-item 216 :flags (launch-asap) :binding 217) (sp-item 217 :flags (start-dead launch-asap) :binding 218) (sp-item 217 :flags (start-dead launch-asap) :binding 218) (sp-item 217 :flags (start-dead launch-asap) :binding 218) @@ -1698,8 +1610,7 @@ :duration 150 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 216 :flags (launch-asap) :binding 219) + :parts ((sp-item 216 :flags (launch-asap) :binding 219) (sp-item 219 :flags (start-dead launch-asap) :binding 218) (sp-item 219 :flags (start-dead launch-asap) :binding 218) (sp-item 219 :flags (start-dead launch-asap) :binding 218) @@ -1714,8 +1625,7 @@ ) (defpart 216 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 4)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1733,8 +1643,7 @@ ) (defpart 148 - :init-specs - ((sp-flt spt-scale-x (meters 0.1)) + :init-specs ((sp-flt spt-scale-x (meters 0.1)) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-a 0.0) (sp-flt spt-fade-a 0.0) @@ -1742,8 +1651,7 @@ ) (defpart 219 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-y (meters -4) (meters 16) 1.0) (sp-flt spt-z (meters 0.08)) @@ -1763,8 +1671,7 @@ ) (defpart 217 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -4) (meters 16) 1.0) (sp-flt spt-z (meters 0.08)) @@ -1784,8 +1691,7 @@ ) (defpart 220 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -0.05)) (sp-flt spt-scale-x (meters 0.3)) @@ -1806,8 +1712,7 @@ ) (defpart 218 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -0.05)) (sp-flt spt-scale-x (meters 0.2)) @@ -1830,8 +1735,7 @@ (defpartgroup group-part-vent-green-active :id 62 :bounds (static-bspherem 0 5 0 5) - :parts - ((sp-item 222 :fade-after (meters 80) :falloff-to (meters 80) :period 48 :length 5 :binding 223) + :parts ((sp-item 222 :fade-after (meters 80) :falloff-to (meters 80) :period 48 :length 5 :binding 223) (sp-item 223 :fade-after (meters 80) :flags (start-dead launch-asap) :binding 224) (sp-item 223 :fade-after (meters 80) :flags (start-dead launch-asap) :binding 224) (sp-item 223 :fade-after (meters 80) :flags (start-dead launch-asap) :binding 224) @@ -1868,8 +1772,7 @@ ) (defpart 226 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.6 0.6 1.0) (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1890,8 +1793,7 @@ ) (defpart 225 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 0.1 0.3 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1912,8 +1814,7 @@ ) (defpart 222 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-scale-x (meters 0.01)) @@ -1926,8 +1827,7 @@ ) (defpart 223 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.2) (meters 0.6) 1.0) @@ -1950,13 +1850,11 @@ ) (defpart 227 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-a -0.8466667) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-a -0.8466667) (sp-int spt-timer 150)) ) (defpart 224 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.2)) (sp-copy-from-other spt-scale-y -4) @@ -1978,8 +1876,7 @@ (defpartgroup group-fuel-cell-starburst :id 63 :bounds (static-bspherem 0 0.5 0 1.5) - :parts - ((sp-item 228 :fade-after (meters 35)) + :parts ((sp-item 228 :fade-after (meters 35)) (sp-item 229 :fade-after (meters 20)) (sp-item 230 :flags (bit1 launch-asap)) (sp-item 231 :flags (bit1 launch-asap)) @@ -1987,8 +1884,7 @@ ) (defpart 228 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-int spt-rot-x 4) @@ -2011,13 +1907,11 @@ ) (defpart 232 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) (defpart 229 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-int spt-rot-x 4) @@ -2039,8 +1933,7 @@ ) (defpart 230 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3.5)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2057,8 +1950,7 @@ ) (defpart 231 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 4)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2089,8 +1981,7 @@ ) (defpart 233 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-int spt-rot-x 4) @@ -2112,13 +2003,11 @@ ) (defpart 234 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) (defpart 235 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-int spt-rot-x 4) @@ -2139,8 +2028,7 @@ ) (defpart 236 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2.5)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2157,8 +2045,7 @@ ) (defpart 237 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2196,13 +2083,11 @@ (defpartgroup group-buzzer-effect :id 65 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 239 :flags (is-3d)) (sp-item 240 :flags (is-3d))) + :parts ((sp-item 239 :flags (is-3d)) (sp-item 240 :flags (is-3d))) ) (defpart 239 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1a :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1a :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-scale-x (meters 1.3) (meters 0.2) 1.0) (sp-rnd-flt spt-rot-x 0.0 12743.111 1.0) @@ -2221,8 +2106,7 @@ ) (defpart 240 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1a :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1a :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-scale-x (meters 1.3) (meters 0.2) 1.0) (sp-rnd-flt spt-rot-x 20024.889 12743.111 1.0) @@ -2246,13 +2130,11 @@ :linger-duration 1200 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 241) (sp-item 242) (sp-item 243)) + :parts ((sp-item 241) (sp-item 242) (sp-item 243)) ) (defpart 241 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -2275,8 +2157,7 @@ ) (defpart 242 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 2) 1.0) (sp-int spt-rot-x 4) @@ -2298,8 +2179,7 @@ ) (defpart 243 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 6)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2326,13 +2206,11 @@ :linger-duration 1200 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 246) (sp-item 247) (sp-item 248)) + :parts ((sp-item 246) (sp-item 247) (sp-item 248)) ) (defpart 246 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -2355,8 +2233,7 @@ ) (defpart 247 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 2) 1.0) (sp-int spt-rot-x 4) @@ -2378,8 +2255,7 @@ ) (defpart 248 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 6)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2406,13 +2282,11 @@ :linger-duration 1200 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 249) (sp-item 250) (sp-item 251)) + :parts ((sp-item 249) (sp-item 250) (sp-item 251)) ) (defpart 249 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -2435,13 +2309,11 @@ ) (defpart 244 - :init-specs - ((sp-flt spt-fade-a -0.15238096)) + :init-specs ((sp-flt spt-fade-a -0.15238096)) ) (defpart 250 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 2) 1.0) (sp-int spt-rot-x 4) @@ -2463,8 +2335,7 @@ ) (defpart 251 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 6)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2486,8 +2357,7 @@ ) (defpart 245 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.025)) (sp-copy-from-other spt-scalevel-y -4)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.025)) (sp-copy-from-other spt-scalevel-y -4)) ) (defpartgroup group-red-collect @@ -2496,13 +2366,11 @@ :linger-duration 1200 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 252) (sp-item 253) (sp-item 254)) + :parts ((sp-item 252) (sp-item 253) (sp-item 254)) ) (defpart 252 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -2525,8 +2393,7 @@ ) (defpart 253 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 2) 1.0) (sp-int spt-rot-x 4) @@ -2548,8 +2415,7 @@ ) (defpart 254 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 6)) (sp-flt spt-rot-z (degrees 0.0)) diff --git a/goal_src/engine/game/collectables.gc b/goal_src/engine/game/collectables.gc index e3d4de31a2..13af9a83d9 100644 --- a/goal_src/engine/game/collectables.gc +++ b/goal_src/engine/game/collectables.gc @@ -21,9 +21,10 @@ ) ;; DECOMP BEGINS -(import "goal_src/import/money-ag.gc") -(import "goal_src/import/ecovalve-ag.gc") + (import "goal_src/import/buzzer-ag.gc") +(import "goal_src/import/ecovalve-ag.gc") +(import "goal_src/import/money-ag.gc") (import "goal_src/import/fuel-cell-ag.gc") (define *eco-pill-count* 0) @@ -390,21 +391,18 @@ (defstate blocked (eco-collectable) :virtual #t - :trans - (behavior () + :trans (behavior () (if (task-complete? *game-info* (-> self entity extra perm task)) (go-virtual wait) ) (none) ) - :code - (the-as (function none :behavior eco-collectable) anim-loop) + :code (the-as (function none :behavior eco-collectable) anim-loop) ) (defstate jump (eco-collectable) :virtual #t - :code - (behavior () + :code (behavior () (if (type-type? (-> self type) fuel-cell) (sound-play-by-name (static-sound-name "cell-prize") (new-sound-id) 1024 0 0 1 #t) ) @@ -447,8 +445,7 @@ (defstate wait (eco-collectable) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-3 none)) (when (and (or (= arg2 'touch) (= arg2 'attack)) (and (logtest? (-> self flags) (collectable-flags can-collect)) @@ -527,8 +524,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (if (and (logtest? (-> self fact options) (fact-options fop6 can-collect)) (logtest? (-> self flags) (collectable-flags can-collect)) (!= (-> self next-state name) 'pickup) @@ -538,8 +534,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (cond ((logtest? (-> self flags) (collectable-flags trans)) (vector-v++! @@ -583,8 +578,7 @@ (update-transforms! (-> self root-override)) (none) ) - :code - (behavior () + :code (behavior () (loop (let ((gp-0 (-> self part)) (s5-0 (-> self root-override root-prim prim-core)) @@ -624,8 +618,7 @@ (defstate notice-blue (eco-collectable) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (when (and (or (= arg2 'touch) (= arg2 'attack)) (and (logtest? (-> self flags) (collectable-flags can-collect)) (>= (- (-> *display* base-frame-counter) (-> self birth-time)) (-> self collect-timeout)) @@ -637,8 +630,7 @@ (go-virtual pickup #f (process->handle arg0)) ) ) - :enter - (behavior ((arg0 handle)) + :enter (behavior ((arg0 handle)) (set! (-> self target) arg0) (set! (-> self speed quad) (the-as uint128 0)) (set! (-> self speed z) (the-as float (if (rand-vu-percent? (the-as float 0.5)) @@ -651,15 +643,13 @@ (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (if (-> self actor-pause) (logior! (-> self mask) (process-mask actor-pause)) ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) self) (set! (-> a1-0 num-params) 2) @@ -672,8 +662,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (loop (set! (-> self root-override trans quad) (-> self base quad)) (add-blue-motion #t #f #t #f) @@ -699,8 +688,7 @@ (defstate pickup (eco-collectable) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -739,8 +727,7 @@ ) ) ) - :enter - (behavior ((arg0 object) (arg1 handle)) + :enter (behavior ((arg0 object) (arg1 handle)) (set! (-> self pickup-handle) arg1) (when (-> self notify-parent) (let ((gp-0 (new 'stack-no-clear 'event-message-block))) @@ -763,8 +750,7 @@ (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :code - (behavior ((arg0 object) (arg1 handle)) + :code (behavior ((arg0 object) (arg1 handle)) (clear-collide-with-as (-> self root-override)) (if (not (or (= (-> self fact pickup-type) (pickup-type eco-pill)) (logtest? (-> self fact options) (fact-options powerup)) @@ -807,75 +793,61 @@ (kill-and-free-particles (-> self part)) ) (let ((gp-6 (handle->process (-> self pickup-handle)))) - (when (nonzero? (-> self collect-effect)) - (let ((s5-5 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-5 - (let ((t9-17 (method-of-type part-tracker activate))) - (t9-17 (the-as part-tracker s5-5) gp-6 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-5 - part-tracker-init - (-> self collect-effect) - -1 - part-tracker-track-target - #f - #f - (-> self root-override root-prim prim-core) - ) - (-> s5-5 ppointer) + (if (nonzero? (-> self collect-effect)) + (process-spawn + part-tracker + :init part-tracker-init + (-> self collect-effect) + -1 + part-tracker-track-target + #f + #f + (-> self root-override root-prim prim-core) + :to gp-6 ) ) - ) ) - (when (nonzero? (-> self collect-effect2)) - (let ((gp-7 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-7 - (let ((t9-20 (method-of-type part-tracker activate))) - (t9-20 (the-as part-tracker gp-7) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-7 - part-tracker-init - (-> self collect-effect2) - -1 - (lambda ((arg0 part-tracker)) - (let ((s5-0 (handle->process (-> arg0 userdata)))) - (when s5-0 - (let* ((v1-4 (handle->process (-> (the-as eco-collectable s5-0) pickup-handle))) - (a2-0 (cond - ((not v1-4) - (-> arg0 root trans) - ) - ((= (-> v1-4 type) target) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> (the-as target v1-4) node-list data 5)) - ) - (else - (-> (the-as target v1-4) control trans) - ) + (if (nonzero? (-> self collect-effect2)) + (process-spawn + part-tracker + :init part-tracker-init + (-> self collect-effect2) + -1 + (lambda ((arg0 part-tracker)) + (let ((s5-0 (handle->process (-> arg0 userdata)))) + (when s5-0 + (let* ((v1-4 (handle->process (-> (the-as eco-collectable s5-0) pickup-handle))) + (a2-0 (cond + ((not v1-4) + (-> arg0 root trans) + ) + ((= (-> v1-4 type) target) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> (the-as target v1-4) node-list data 5)) + ) + (else + (-> (the-as target v1-4) control trans) ) ) - ) - (vector-lerp! - (-> arg0 root trans) - (-> arg0 offset) - a2-0 - (/ (the float (- (-> *display* base-frame-counter) (-> arg0 start-time))) - (the float (-> (the-as eco-collectable s5-0) collect-effect-time)) - ) - ) + ) + ) + (vector-lerp! + (-> arg0 root trans) + (-> arg0 offset) + a2-0 + (/ (the float (- (-> *display* base-frame-counter) (-> arg0 start-time))) + (the float (-> (the-as eco-collectable s5-0) collect-effect-time)) + ) ) ) ) ) - (process->handle self) - #f - (-> self root-override root-prim prim-core) ) - (-> gp-7 ppointer) + (process->handle self) + #f + (-> self root-override root-prim prim-core) + :to self ) ) - ) (while (-> self child) (suspend) ) @@ -886,8 +858,7 @@ (defstate die (eco-collectable) :virtual #t - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status dead) #t) (none) ) @@ -917,8 +888,7 @@ (defstate die (eco) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'fade) @@ -932,16 +902,14 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (process-entity-status! self (entity-perm-status bit-3) #f) (if (-> self actor-pause) (logior! (-> self mask) (process-mask actor-pause)) ) (none) ) - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status bit-3) #t) (logclear! (-> self mask) (process-mask actor-pause)) (logclear! (-> self fact options) (fact-options fop6 can-collect)) @@ -957,15 +925,8 @@ ) ) (else - (while (let ((f30-0 0.0) - (a1-1 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'pickup)) - (set! (-> a1-1 param 1) (the-as uint (-> self fact pickup-type))) - (< f30-0 (the-as float (send-event-function *target* a1-1))) + (while (let ((f30-0 0.0)) + (< f30-0 (the-as float (send-event *target* 'query 'pickup (-> self fact pickup-type)))) ) (suspend) ) @@ -1155,8 +1116,7 @@ (defstate wait (money) :virtual #t - :code - (behavior () + :code (behavior () (loop (quaternion-rotate-y! (-> self root-override quat) @@ -1193,8 +1153,7 @@ (defstate notice-blue (money) :virtual #t - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (loop (quaternion-rotate-y! (-> self root-override quat) @@ -1232,8 +1191,7 @@ (defstate pickup (money) :virtual #t - :code - (behavior ((arg0 object) (arg1 handle)) + :code (behavior ((arg0 object) (arg1 handle)) (if (nonzero? (-> self part)) (kill-and-free-particles (-> self part)) ) @@ -1475,8 +1433,7 @@ (defstate wait (fuel-cell) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-3 none)) (when (and (or (= arg2 'touch) (= arg2 'attack)) (and (logtest? (-> self flags) (collectable-flags can-collect)) @@ -1536,8 +1493,7 @@ ) ) ) - :code - (behavior () + :code (behavior () 0.5 (let ((f28-0 0.0)) (ja :group! (-> self draw art-group data 2)) @@ -1568,8 +1524,7 @@ (defstate pickup (fuel-cell) :virtual #t - :enter - (behavior ((arg0 object) (arg1 handle)) + :enter (behavior ((arg0 object) (arg1 handle)) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self state-object) #t) (let ((t9-1 (-> (the-as (state eco-collectable) (find-parent-method fuel-cell 23)) enter))) @@ -1579,8 +1534,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (the-as float (cond ((string= (-> self victory-anim name) "fuel-cell-victory") 97.0 @@ -1637,8 +1591,7 @@ ) (none) ) - :code - (behavior ((arg0 object) (arg1 handle)) + :code (behavior ((arg0 object) (arg1 handle)) (local-vars (sv-96 res-tag)) (sound-play-by-name (static-sound-name "pu-powercell") (new-sound-id) 1024 0 0 1 #t) (clear-collide-with-as (-> self root-override)) @@ -1657,13 +1610,7 @@ (spool-push *art-control* (-> self victory-anim name) 0 self (the-as float -99.0)) (suspend) ) - (while (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) self) - (set! (-> a1-8 num-params) 1) - (set! (-> a1-8 message) 'clone-anim) - (set! (-> a1-8 param 0) (the-as uint self)) - (not (send-event-function *target* a1-8)) - ) + (while (not (send-event *target* 'clone-anim self)) (spool-push *art-control* (-> self victory-anim name) 0 self (the-as float -99.0)) (format #t "WARNING: fuel-cell stall on not cloning.~%") (suspend) @@ -1674,10 +1621,8 @@ (-> self entity) 'movie-pos (inline-array vector) - :tag-ptr - (& sv-96) - :time - (the-as float -1000000000.0) + :tag-ptr (& sv-96) + :time (the-as float -1000000000.0) ) ) (gp-1 (if (and v1-34 (< (-> self movie-pos-index) (the-as int (-> sv-96 elt-count)))) @@ -1725,15 +1670,7 @@ (-> *setting-control* current ambient-volume-movie) 0 ) - (let ((gp-3 (get-process *default-dead-pool* othercam #x4000))) - (when gp-3 - (let ((t9-26 (method-of-type othercam activate))) - (t9-26 (the-as othercam gp-3) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-3 othercam-init-by-other self 10 #f #t) - (-> gp-3 ppointer) - ) - ) + (process-spawn othercam self 10 #f #t :to self) (auto-save-command 'auto-save 0 0 *default-pool*) (ja-play-spooled-anim (-> self victory-anim) @@ -1751,264 +1688,257 @@ (ja-channel-set! 0) (suspend) (suspend) - (let ((gp-4 (get-process *default-dead-pool* process #x4000))) - (when gp-4 - (let ((t9-39 (method-of-type process activate))) - (t9-39 gp-4 self 'process (the-as pointer #x70004000)) + (process-spawn-function + process + (lambda :behavior collectable + ((arg0 game-task)) + (while (or (-> *setting-control* current ambient) + (-> *setting-control* current movie) + (-> *setting-control* current hint) + (str-is-playing?) + ) + (suspend) ) - (run-next-time-in-process - gp-4 - (lambda :behavior collectable - ((arg0 game-task)) - (while (or (-> *setting-control* current ambient) - (-> *setting-control* current movie) - (-> *setting-control* current hint) - (str-is-playing?) - ) - (suspend) - ) - (cond - ((= arg0 (game-task training-buzzer)) - (level-hint-spawn - (game-text-id training-assistant-found-scout-fly-cell) - "asstvb45" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task training-door)) - (level-hint-spawn - (game-text-id training-eco-opened-door) - "sagevb25" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task beach-ecorocks)) - (level-hint-spawn - (game-text-id beach-collectors-unblocked) - "sagevb01" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task misty-cannon)) - (level-hint-spawn - (game-text-id misty-stopped-lurkers-at-silo) - "sagevb02" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task misty-bike)) - (level-hint-spawn - (game-text-id misty-stopped-balloon-lurkers) - "asstvb03" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task firecanyon-end)) - (level-hint-spawn - (game-text-id fire-canyon-we-made-it) - "sksp0095" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task rolling-robbers)) - (level-hint-spawn - (game-text-id rolling-beat-lurkers) - "asstvb20" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task rolling-plants)) - (level-hint-spawn - (game-text-id sage-golfclap-i-have-low-expectations) - "sagevb03" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task swamp-flutflut)) - (level-hint-spawn - (game-text-id swamp-finished-with-flutflut) - "asstvb21" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task ogre-boss)) - (level-hint-spawn - (game-text-id ogre-boss-killed) - "asstvb23" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task ogre-end)) - (level-hint-spawn - (game-text-id assistant-finished-mountain-pass-race) - "asstvb25" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task beach-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task jungle-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task misty-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task firecanyon-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task rolling-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task sunken-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task swamp-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task ogre-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task cave-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task snow-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task lavatube-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task citadel-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task village1-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task village2-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task village3-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ) - (none) - ) - (the int (-> self fact pickup-amount)) + (cond + ((= arg0 (game-task training-buzzer)) + (level-hint-spawn + (game-text-id training-assistant-found-scout-fly-cell) + "asstvb45" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task training-door)) + (level-hint-spawn + (game-text-id training-eco-opened-door) + "sagevb25" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task beach-ecorocks)) + (level-hint-spawn + (game-text-id beach-collectors-unblocked) + "sagevb01" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task misty-cannon)) + (level-hint-spawn + (game-text-id misty-stopped-lurkers-at-silo) + "sagevb02" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task misty-bike)) + (level-hint-spawn + (game-text-id misty-stopped-balloon-lurkers) + "asstvb03" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task firecanyon-end)) + (level-hint-spawn + (game-text-id fire-canyon-we-made-it) + "sksp0095" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task rolling-robbers)) + (level-hint-spawn + (game-text-id rolling-beat-lurkers) + "asstvb20" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task rolling-plants)) + (level-hint-spawn + (game-text-id sage-golfclap-i-have-low-expectations) + "sagevb03" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task swamp-flutflut)) + (level-hint-spawn + (game-text-id swamp-finished-with-flutflut) + "asstvb21" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task ogre-boss)) + (level-hint-spawn + (game-text-id ogre-boss-killed) + "asstvb23" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task ogre-end)) + (level-hint-spawn + (game-text-id assistant-finished-mountain-pass-race) + "asstvb25" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task beach-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task jungle-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task misty-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task firecanyon-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task rolling-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task sunken-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task swamp-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task ogre-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task cave-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task snow-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task lavatube-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task citadel-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task village1-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task village2-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task village3-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) ) - (-> gp-4 ppointer) + (none) ) + (the int (-> self fact pickup-amount)) + :to self ) (case (the int (-> self fact pickup-amount)) (((game-task citadel-sage-blue)) @@ -2032,8 +1962,7 @@ (convert-to-hud-object self (the-as hud (ppointer->process (-> *hud-parts* fuel-cell)))) (none) ) - :post - (behavior () + :post (behavior () (transform-post) (if (-> self state-object) (spawn (-> self part) (the-as vector (-> self root-override root-prim prim-core))) @@ -2132,8 +2061,7 @@ ) (defstate fuel-cell-clone-anim (fuel-cell) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('pickup) (when (!= (-> self next-state name) 'pickup) @@ -2160,24 +2088,21 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (if (-> self actor-pause) (logior! (-> self mask) (process-mask actor-pause)) ) (logclear! (-> self skel status) (janim-status spool)) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (logclear! (-> self mask) (process-mask actor-pause)) (clone-anim arg0 3 #t "") (format #t "ERROR: clone-anim returned in fuel-cell~%") (deactivate self) (none) ) - :post - (behavior () + :post (behavior () (update-transforms! (-> self root-override)) (animate self) (none) @@ -2239,8 +2164,7 @@ (defstate wait (buzzer) :virtual #t - :code - (behavior () + :code (behavior () (case (get-reminder (get-task-control (the-as game-task (logand (the int (-> self fact pickup-amount)) #xffff))) 0) ((127) (go-virtual pickup #t (the-as handle #f)) @@ -2257,8 +2181,7 @@ (defstate pickup (buzzer) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'notify) (process-entity-status! self (entity-perm-status dead) #t) @@ -2266,14 +2189,12 @@ ) ) ) - :enter - (behavior ((arg0 object) (arg1 handle)) + :enter (behavior ((arg0 object) (arg1 handle)) (set! (-> self pickup-handle) arg1) (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :code - (behavior ((arg0 object) (arg1 handle)) + :code (behavior ((arg0 object) (arg1 handle)) (logclear! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status complete) #t) (sound-play-by-name (static-sound-name "buzzer-pickup") (new-sound-id) 1024 0 0 1 #t) @@ -2312,16 +2233,7 @@ (stop! (-> self sound)) ) (when (not arg0) - (let* ((s5-1 (get-process *default-dead-pool* manipy #x4000)) - (v1-18 (when s5-1 - (let ((t9-11 (method-of-type manipy activate))) - (t9-11 (the-as manipy s5-1) *entity-pool* 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> self root-override trans) #f *buzzer-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) + (let ((v1-18 (manipy-spawn (-> self root-override trans) #f *buzzer-sg* #f :to *entity-pool*))) (send-event (ppointer->process v1-18) 'become-hud-object (ppointer->process (-> *hud-parts* buzzers))) ) ) @@ -2795,8 +2707,7 @@ ) (defstate ecovalve-idle (ecovalve) - :code - (behavior () + :code (behavior () (transform-post) (suspend) (transform-post) @@ -2959,15 +2870,7 @@ ) ) ) - (let ((s5-1 (get-process *pickup-dead-pool* ecovalve #x4000))) - (when s5-1 - (let ((t9-17 (method-of-type ecovalve activate))) - (t9-17 (the-as ecovalve s5-1) obj 'ecovalve (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 ecovalve-init-by-other (-> obj block-func)) - (-> s5-1 ppointer) - ) - ) + (process-spawn ecovalve (-> obj block-func) :from *pickup-dead-pool* :to obj) ) (if ((-> obj block-func) obj) (go vent-blocked) @@ -2993,8 +2896,7 @@ ) (defstate vent-wait-for-touch (vent) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (or (= arg2 'touch) (= arg2 'attack)) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-1 from) self) @@ -3011,8 +2913,7 @@ ) (vent-standard-event-handler arg0 arg1 arg2 arg3) ) - :code - (behavior () + :code (behavior () (loop (let ((a0-0 (-> self part)) (a1-0 (-> self root-override trans)) @@ -3032,16 +2933,14 @@ ) (defstate vent-blocked (vent) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('show) (go vent-wait-for-touch) ) ) ) - :code - (behavior () + :code (behavior () (loop (if (not ((-> self block-func) self)) (go vent-wait-for-touch) @@ -3053,10 +2952,8 @@ ) (defstate vent-pickup (vent) - :event - vent-standard-event-handler - :code - (behavior ((arg0 handle)) + :event vent-standard-event-handler + :code (behavior ((arg0 handle)) (when (-> self show-particles) (when (nonzero? (-> self collect-effect)) (let* ((s5-0 (handle->process arg0)) @@ -3073,41 +2970,27 @@ ) ) (when s5-1 - (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker s4-1) gp-0 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s4-1 - part-tracker-init - (-> self collect-effect) - -1 - part-tracker-track-target - #f - #f - (-> (the-as collide-shape s5-1) root-prim prim-core) - ) - (-> s4-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> self collect-effect) + -1 + part-tracker-track-target + #f + #f + (-> (the-as collide-shape s5-1) root-prim prim-core) + :to gp-0 ) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker gp-1) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> self collect-effect2) - -1 - part-tracker-move-to-target - #f - #f - (-> self root-override root-prim prim-core) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> self collect-effect2) + -1 + part-tracker-move-to-target + #f + #f + (-> self root-override root-prim prim-core) + :to self ) ) ) diff --git a/goal_src/engine/game/crates.gc b/goal_src/engine/game/crates.gc index b164e7d3ec..1de9b4ddc2 100644 --- a/goal_src/engine/game/crates.gc +++ b/goal_src/engine/game/crates.gc @@ -9,6 +9,7 @@ (declare-type crate-buzzer crate) ;; DECOMP BEGINS + (import "goal_src/import/crate-ag.gc") (defskelgroup *crate-barrel-sg* crate crate-barrel-lod0-jg crate-barrel-idle-ja @@ -104,8 +105,7 @@ ) (defpart 281 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) @@ -128,13 +128,11 @@ ) (defpart 282 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) (defpart 283 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 0.75)) (sp-flt spt-scale-x (meters 6)) @@ -158,13 +156,11 @@ ) (defpart 284 - :init-specs - ((sp-flt spt-fade-a -2.1333334)) + :init-specs ((sp-flt spt-fade-a -2.1333334)) ) (defpart 285 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 8)) @@ -180,8 +176,7 @@ ) (defpart 286 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) @@ -209,16 +204,14 @@ ) (defpart 287 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0033333334)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0033333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -3.4) ) ) (defpart 288 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x2)) (sp-flt spt-num 4.5) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) @@ -250,8 +243,7 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 281) (sp-item 283) (sp-item 285) (sp-item 286) (sp-item 288)) + :parts ((sp-item 281) (sp-item 283) (sp-item 285) (sp-item 286) (sp-item 288)) ) (defpartgroup group-crate-steel-explode @@ -259,8 +251,7 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 281) (sp-item 283) (sp-item 285) (sp-item 288) (sp-item 288) (sp-item 288)) + :parts ((sp-item 281) (sp-item 283) (sp-item 285) (sp-item 288) (sp-item 288) (sp-item 288)) ) (defpartgroup group-dark-eco-box-explosion @@ -268,8 +259,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 295 :fade-after (meters 100) :period 600 :length 5 :binding 296) + :parts ((sp-item 295 :fade-after (meters 100) :period 600 :length 5 :binding 296) (sp-item 296 :flags (start-dead launch-asap) :binding 297) (sp-item 297 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead)) (sp-item 296 :flags (start-dead launch-asap) :binding 297) @@ -311,8 +301,7 @@ ) (defpart 2096 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -336,13 +325,11 @@ ) (defpart 2099 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) ) (defpart 2098 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-scale-x (meters 0.2)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) @@ -359,8 +346,7 @@ ) (defpart 2095 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 16)) (sp-copy-from-other spt-scale-y -4) @@ -375,8 +361,7 @@ ) (defpart 2097 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -400,8 +385,7 @@ ) (defpart 295 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 16.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 0.1)) @@ -418,8 +402,7 @@ ) (defpart 296 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.3) (meters 0.3) 1.0) @@ -443,8 +426,7 @@ ) (defpart 297 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -464,8 +446,7 @@ ) (defpart 292 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) @@ -493,8 +474,7 @@ ) (defpart 301 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0033333334)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0033333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -3.4) ) @@ -602,17 +582,7 @@ ) ) (('darkeco) - (let ((a1-32 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-32 from) self) - (set! (-> a1-32 num-params) 2) - (set! (-> a1-32 message) 'attack) - (set! (-> a1-32 param 0) (-> arg3 param 0)) - (let ((a0-57 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-57 mode) 'darkeco) - (set! (-> a1-32 param 1) (the-as uint a0-57)) - ) - (send-event-function arg0 a1-32) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'darkeco)))) (when (= (-> arg0 type) target) (level-hint-spawn (game-text-id sidekick-speech-hint-crate-darkeco2) @@ -668,17 +638,7 @@ (('touch) (case (-> self defense) (('darkeco) - (let ((a1-41 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-41 from) self) - (set! (-> a1-41 num-params) 2) - (set! (-> a1-41 message) 'attack) - (set! (-> a1-41 param 0) (-> arg3 param 0)) - (let ((a0-75 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-75 mode) 'darkeco) - (set! (-> a1-41 param 1) (the-as uint a0-75)) - ) - (send-event-function arg0 a1-41) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'darkeco)))) (go-virtual die #f 0) ) ) @@ -709,10 +669,8 @@ (defstate wait (crate) :virtual #t - :event - crate-standard-event-handler - :code - (behavior () + :event crate-standard-event-handler + :code (behavior () (suspend) (update-transforms! (-> self root-override)) (logior! (-> self mask) (process-mask sleep)) @@ -721,54 +679,40 @@ ) (none) ) - :post - (the-as (function none :behavior crate) ja-post) + :post (the-as (function none :behavior crate) ja-post) ) (defstate bounce-on (crate) :virtual #t - :event - crate-standard-event-handler - :code - (behavior () + :event crate-standard-event-handler + :code (behavior () (while (!= (-> self smush amp) 0.0) (suspend) ) (go-virtual wait) (none) ) - :post - (the-as (function none :behavior crate) crate-post) + :post (the-as (function none :behavior crate) crate-post) ) (defstate notice-blue (crate) :virtual #t - :event - crate-standard-event-handler - :trans - (behavior () - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'powerup)) - (set! (-> a1-0 param 1) (the-as uint 3)) - (cond - ((not (send-event-function *target* a1-0)) - (logior! (-> self mask) (process-mask sleep-code)) - (if (not (!= (-> self smush amp) 0.0)) - (go-virtual wait) - ) - ) - (else - (logclear! (-> self mask) (process-mask sleep-code)) - ) + :event crate-standard-event-handler + :trans (behavior () + (cond + ((not (send-event *target* 'query 'powerup (pickup-type eco-blue))) + (logior! (-> self mask) (process-mask sleep-code)) + (if (not (!= (-> self smush amp) 0.0)) + (go-virtual wait) + ) + ) + (else + (logclear! (-> self mask) (process-mask sleep-code)) ) ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (set! (-> self target) arg0) (loop (let* ((gp-0 (handle->process (-> self target))) @@ -825,31 +769,19 @@ ) (none) ) - :post - (the-as (function none :behavior crate) crate-post) + :post (the-as (function none :behavior crate) crate-post) ) (defstate die (crate) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touched) (case (-> self defense) (('darkeco) (cond ((= (-> arg0 type) target) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'attack) - (set! (-> a1-4 param 0) (-> arg3 param 0)) - (let ((a2-1 (new 'static 'attack-info :mask #x20))) - (set! (-> a2-1 mode) 'darkeco) - (set! (-> a1-4 param 1) (the-as uint a2-1)) - ) - (send-event-function arg0 a1-4) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'darkeco)))) ) (else (let ((a1-5 (new 'stack-no-clear 'event-message-block))) @@ -872,8 +804,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (case (-> self type) ((crate-buzzer) (if (and *target* (>= (-> *target* fact-info-target buzzer) 6.0)) @@ -883,8 +814,7 @@ ) (none) ) - :code - (behavior ((arg0 symbol) (arg1 int)) + :code (behavior ((arg0 symbol) (arg1 int)) (clear-collide-with-as (-> self root-override)) (if (nonzero? (-> self sound)) (stop! (-> self sound)) @@ -926,82 +856,54 @@ ) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 (the int (* 255.0 f0-0)) (seconds 0.3)) ) - (let ((s5-7 (get-process *default-dead-pool* touch-tracker #x4000))) - (when s5-7 - (let ((t9-15 (method-of-type touch-tracker activate))) - (t9-15 (the-as touch-tracker s5-7) self 'touch-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-7 - touch-tracker-init - (-> self root-override trans) - (-> *CRATE-bank* DARKECO_EXPLODE_RADIUS) - 30 - ) - (-> s5-7 ppointer) - ) + (process-spawn + touch-tracker + :init touch-tracker-init + (-> self root-override trans) + (-> *CRATE-bank* DARKECO_EXPLODE_RADIUS) + 30 + :to self ) ) ) (case (-> self look) (('darkeco) - (let ((s5-8 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-8 - (let ((t9-18 (method-of-type part-tracker activate))) - (t9-18 (the-as part-tracker s5-8) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-8 - part-tracker-init - (-> *part-group-id-table* 73) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> s5-8 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 73) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) ) (('steel 'iron) - (let ((s5-9 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-9 - (let ((t9-21 (method-of-type part-tracker activate))) - (t9-21 (the-as part-tracker s5-9) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-9 - part-tracker-init - (-> *part-group-id-table* 72) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> s5-9 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 72) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) ) (else - (let ((s5-10 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-10 - (let ((t9-24 (method-of-type part-tracker activate))) - (t9-24 (the-as part-tracker s5-10) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-10 - part-tracker-init - (-> *part-group-id-table* 71) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> s5-10 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 71) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) ) ) @@ -1031,8 +933,7 @@ (defstate special-contents-die (crate) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'notify) (case (-> arg3 param 0) @@ -1060,10 +961,8 @@ ) ) ) - :trans - (-> (method-of-type crate die) trans) - :code - (behavior () + :trans (-> (method-of-type crate die) trans) + :code (behavior () (when (or (= (-> self fact pickup-type) (pickup-type money)) (= (-> self defense) 'iron) (= (-> self defense) 'steel) @@ -1314,13 +1213,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 302)) + :parts ((sp-item 302)) ) (defpart 302 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1370,8 +1267,7 @@ (defstate wait (crate-buzzer) :virtual #t - :trans - (behavior () + :trans (behavior () (when (and (and *target* (>= 327680.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) ) @@ -1390,8 +1286,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (suspend) (update-transforms! (-> self root-override)) @@ -1421,14 +1316,12 @@ ) (none) ) - :post - (the-as (function none :behavior crate-buzzer) #f) + :post (the-as (function none :behavior crate-buzzer) #f) ) (defstate bounce-on (crate-buzzer) :virtual #t - :code - (behavior () + :code (behavior () (while (!= (-> self smush amp) 0.0) (spawn (-> self part) (-> self root-override trans)) (suspend) @@ -1468,8 +1361,7 @@ (defstate wait (pickup-spawner) :virtual #t - :code - (behavior () + :code (behavior () (loop (if (or (not (-> self blocker)) (logtest? (-> self blocker extra perm status) (entity-perm-status complete))) (go-virtual die #t 0) diff --git a/goal_src/engine/game/effect-control.gc b/goal_src/engine/game/effect-control.gc index 7f240070af..3e5cd44ea9 100644 --- a/goal_src/engine/game/effect-control.gc +++ b/goal_src/engine/game/effect-control.gc @@ -280,167 +280,87 @@ (sv-272 symbol) (sv-288 res-lump) ) - (with-pp - (let ((s3-0 (-> arg0 value)) - (s5-0 (cond - ((< arg2 0) - (let ((v0-0 (get-property-value (-> obj res) 'effect-joint 'exact arg1 (the-as uint128 0) (the-as (pointer res-tag) #f) *res-static-buf*) + (let ((s3-0 (-> arg0 value)) + (s5-0 (cond + ((< arg2 0) + (let ((v0-0 (get-property-value + (-> obj res) + 'effect-joint + 'exact + arg1 + (the-as uint128 0) + (the-as (pointer res-tag) #f) + *res-static-buf* ) - ) - (if (zero? v0-0) - 0 - (the-as int (+ v0-0 1)) - ) - ) - ) - (else - (empty) - arg2 - ) - ) - ) - ) - (when (logtest? (-> obj flags) 1) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) pp) - (set! (-> a1-2 num-params) 3) - (set! (-> a1-2 message) 'effect) - (set! (-> a1-2 param 0) (the-as uint arg0)) - (set! (-> a1-2 param 1) (the-as uint arg1)) - (set! (-> a1-2 param 2) (the-as uint s5-0)) - (if (send-event-function (-> obj process) a1-2) - (return (the-as object 0)) - ) - ) - ) - (let ((v1-10 (symbol->string arg0))) - (cond - ((and (= (-> v1-10 data 0) 101) - (= (-> v1-10 data 1) 102) - (= (-> v1-10 data 2) 102) - (= (-> v1-10 data 3) 101) - (= (-> v1-10 data 4) 99) - (= (-> v1-10 data 5) 116) - (= (-> v1-10 data 6) 45) - ) - (let* ((s3-1 (-> obj process root)) - (v1-14 (if (and (nonzero? s3-1) (type-type? (-> s3-1 type) collide-shape-moving)) - s3-1 ) - ) - (t1-1 (if v1-14 - (the-as int (-> (the-as collide-shape-moving v1-14) ground-pat)) - *footstep-surface* - ) - ) - ) - (dummy-11 obj arg0 arg1 s5-0 (-> obj res) (the-as pat-surface t1-1)) - ) - ) - ((let ((v1-18 (symbol->string arg0))) - (and (= (-> v1-18 data 0) 103) - (= (-> v1-18 data 1) 114) - (= (-> v1-18 data 2) 111) - (= (-> v1-18 data 3) 117) - (= (-> v1-18 data 4) 112) - (= (-> v1-18 data 5) 45) - ) - ) - (set! s3-0 (cond - ((zero? s3-0) - (let ((v0-5 (lookup-part-group-pointer-by-name (symbol->string arg0)))) - (when v0-5 - (set! (-> arg0 value) v0-5) - (set! s3-0 (-> v0-5 0)) - ) - ) - (the-as (pointer sparticle-launch-group) s3-0) - ) - (else - (-> (the-as (pointer sparticle-launch-group) s3-0) 0) - ) - ) - ) - (when (and (nonzero? s3-0) (= (-> (the-as sparticle-launch-group s3-0) type) sparticle-launch-group)) - (if *debug-effect-control* - (format - #t - "(~5D) effect group ~A ~A frame ~F joint ~D~%" - (-> *display* base-frame-counter) - (-> obj process name) - arg0 - arg1 - s5-0 - ) - ) - (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker s4-1) (-> obj process) 'part-tracker (the-as pointer #x70004000)) - ) - (let ((s2-1 run-function-in-process) - (s1-0 s4-1) - (s0-0 part-tracker-init) ) - (set! sv-160 -1) - (set! sv-176 (the-as symbol #f)) - (set! sv-192 (the-as symbol #f)) - (set! sv-208 (the-as symbol #f)) - (let ((t3-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)))) - ((the-as (function object object object object object object object object none) s2-1) - s1-0 - s0-0 - (the-as sparticle-launch-group s3-0) - sv-160 - sv-176 - sv-192 - sv-208 - t3-0 - ) - ) + (if (zero? v0-0) + 0 + (the-as int (+ v0-0 1)) + ) ) - (-> s4-1 ppointer) ) + (else + (empty) + arg2 + ) + ) + ) + ) + (when (logtest? (-> obj flags) 1) + (if (send-event (-> obj process) 'effect arg0 arg1 s5-0) + (return (the-as object 0)) + ) + ) + (let ((v1-10 (symbol->string arg0))) + (cond + ((and (= (-> v1-10 data 0) 101) + (= (-> v1-10 data 1) 102) + (= (-> v1-10 data 2) 102) + (= (-> v1-10 data 3) 101) + (= (-> v1-10 data 4) 99) + (= (-> v1-10 data 5) 116) + (= (-> v1-10 data 6) 45) + ) + (let* ((s3-1 (-> obj process root)) + (v1-14 (if (and (nonzero? s3-1) (type-type? (-> s3-1 type) collide-shape-moving)) + s3-1 + ) + ) + (t1-1 (if v1-14 + (the-as int (-> (the-as collide-shape-moving v1-14) ground-pat)) + *footstep-surface* + ) + ) + ) + (dummy-11 obj arg0 arg1 s5-0 (-> obj res) (the-as pat-surface t1-1)) + ) + ) + ((let ((v1-18 (symbol->string arg0))) + (and (= (-> v1-18 data 0) 103) + (= (-> v1-18 data 1) 114) + (= (-> v1-18 data 2) 111) + (= (-> v1-18 data 3) 117) + (= (-> v1-18 data 4) 112) + (= (-> v1-18 data 5) 45) + ) + ) + (set! s3-0 (cond + ((zero? s3-0) + (let ((v0-5 (lookup-part-group-pointer-by-name (symbol->string arg0)))) + (when v0-5 + (set! (-> arg0 value) v0-5) + (set! s3-0 (-> v0-5 0)) + ) + ) + (the-as (pointer sparticle-launch-group) s3-0) + ) + (else + (-> (the-as (pointer sparticle-launch-group) s3-0) 0) + ) + ) ) - ) - ) - ((= arg0 'camera-shake) - (activate! *camera-smush-control* 819.2 37 600 1.0 0.995) - ) - ((zero? s3-0) - (dummy-12 obj arg0 arg1 s5-0 (-> obj res) (string->sound-name (symbol->string arg0))) - ) - ((= (-> (the-as basic s3-0) type) sparticle-launcher) - (if *debug-effect-control* - (format - #t - "(~5D) effect part ~A ~A frame ~F joint ~D~%" - (-> *display* base-frame-counter) - (-> obj process name) - arg0 - arg1 - s5-0 - ) - ) - (format - #t - "-----> (~5D) effect part ~A ~A frame ~F joint ~D~%" - (-> *display* base-frame-counter) - (-> obj process name) - arg0 - arg1 - s5-0 - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (the-as sparticle-launcher s3-0) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)) - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - ) - ((= (-> (the-as basic s3-0) type) sparticle-launch-group) + (when (and (nonzero? s3-0) (= (-> (the-as sparticle-launch-group s3-0) type) sparticle-launch-group)) (if *debug-effect-control* (format #t @@ -452,96 +372,174 @@ s5-0 ) ) - (let ((s4-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-3 - (let ((t9-19 (method-of-type part-tracker activate))) - (t9-19 (the-as part-tracker s4-3) (-> obj process) 'part-tracker (the-as pointer #x70004000)) + (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s4-1 + (let ((t9-7 (method-of-type part-tracker activate))) + (t9-7 (the-as part-tracker s4-1) (-> obj process) 'part-tracker (the-as pointer #x70004000)) ) - (let ((s2-3 run-function-in-process) - (s1-2 s4-3) - (s0-2 part-tracker-init) + (let ((s2-1 run-function-in-process) + (s1-0 s4-1) + (s0-0 part-tracker-init) ) - (set! sv-224 -1) - (set! sv-240 (the-as symbol #f)) - (set! sv-256 (the-as symbol #f)) - (set! sv-272 (the-as symbol #f)) - (let ((t3-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)))) - ((the-as (function object object object object object object object object none) s2-3) - s1-2 - s0-2 - s3-0 - sv-224 - sv-240 - sv-256 - sv-272 - t3-1 + (set! sv-160 -1) + (set! sv-176 (the-as symbol #f)) + (set! sv-192 (the-as symbol #f)) + (set! sv-208 (the-as symbol #f)) + (let ((t3-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)))) + ((the-as (function object object object object object object object object none) s2-1) + s1-0 + s0-0 + (the-as sparticle-launch-group s3-0) + sv-160 + sv-176 + sv-192 + sv-208 + t3-0 ) ) ) - (-> s4-3 ppointer) + (-> s4-1 ppointer) ) ) ) - ((= (-> (the-as basic s3-0) type) sound-spec) - (sound-play-by-spec - (the-as sound-spec s3-0) - (new-sound-id) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)) + ) + ((= arg0 'camera-shake) + (activate! *camera-smush-control* 819.2 37 600 1.0 0.995) + ) + ((zero? s3-0) + (dummy-12 obj arg0 arg1 s5-0 (-> obj res) (string->sound-name (symbol->string arg0))) + ) + ((= (-> (the-as basic s3-0) type) sparticle-launcher) + (if *debug-effect-control* + (format + #t + "(~5D) effect part ~A ~A frame ~F joint ~D~%" + (-> *display* base-frame-counter) + (-> obj process name) + arg0 + arg1 + s5-0 + ) + ) + (format + #t + "-----> (~5D) effect part ~A ~A frame ~F joint ~D~%" + (-> *display* base-frame-counter) + (-> obj process name) + arg0 + arg1 + s5-0 + ) + (sp-launch-particles-var + *sp-particle-system-2d* + (the-as sparticle-launcher s3-0) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)) + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) + ((= (-> (the-as basic s3-0) type) sparticle-launch-group) + (if *debug-effect-control* + (format + #t + "(~5D) effect group ~A ~A frame ~F joint ~D~%" + (-> *display* base-frame-counter) + (-> obj process name) + arg0 + arg1 + s5-0 + ) + ) + (let ((s4-3 (get-process *default-dead-pool* part-tracker #x4000))) + (when s4-3 + (let ((t9-19 (method-of-type part-tracker activate))) + (t9-19 (the-as part-tracker s4-3) (-> obj process) 'part-tracker (the-as pointer #x70004000)) + ) + (let ((s2-3 run-function-in-process) + (s1-2 s4-3) + (s0-2 part-tracker-init) + ) + (set! sv-224 -1) + (set! sv-240 (the-as symbol #f)) + (set! sv-256 (the-as symbol #f)) + (set! sv-272 (the-as symbol #f)) + (let ((t3-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)))) + ((the-as (function object object object object object object object object none) s2-3) + s1-2 + s0-2 + s3-0 + sv-224 + sv-240 + sv-256 + sv-272 + t3-1 + ) + ) + ) + (-> s4-3 ppointer) ) ) - ((= (-> (the-as basic s3-0) type) death-info) - (let ((v1-67 (-> obj process draw))) - (let ((a1-42 (-> (the-as death-info s3-0) vertex-skip)) - (a0-55 - (max - 2 - (the-as int (/ (-> (the-as death-info s3-0) timer) (the-as uint (the int (-> *display* time-factor))))) - ) + ) + ((= (-> (the-as basic s3-0) type) sound-spec) + (sound-play-by-spec + (the-as sound-spec s3-0) + (new-sound-id) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)) + ) + ) + ((= (-> (the-as basic s3-0) type) death-info) + (let ((v1-67 (-> obj process draw))) + (let ((a1-42 (-> (the-as death-info s3-0) vertex-skip)) + (a0-55 + (max + 2 + (the-as int (/ (-> (the-as death-info s3-0) timer) (the-as uint (the int (-> *display* time-factor))))) ) ) - (when (= (-> *setting-control* current video-mode) 'pal) - (if (< (the-as uint 1) a1-42) - (set! a1-42 (/ (the-as uint (* (the-as uint 50) a1-42)) (the-as uint 60))) - ) ) - (let ((a2-29 (-> *display* frames (-> *display* last-screen) frame run-time))) - (cond - ((< 9000 a2-29) - (set! a1-42 (* a1-42 4)) - ) - ((< 7000 a2-29) - (set! a1-42 (* a1-42 2)) - ) + (when (= (-> *setting-control* current video-mode) 'pal) + (if (< (the-as uint 1) a1-42) + (set! a1-42 (/ (the-as uint (* (the-as uint 50) a1-42)) (the-as uint 60))) ) - ) - (set! (-> v1-67 death-vertex-skip) a1-42) - (set! (-> v1-67 death-effect) (-> (the-as death-info s3-0) effect)) - (set! (-> v1-67 death-timer) (+ a0-55 1)) ) - (set! (-> v1-67 death-timer-org) (-> v1-67 death-timer)) - (set! (-> v1-67 death-draw-overlap) (-> (the-as death-info s3-0) overlap)) - ) - (when (-> (the-as death-info s3-0) sound) - (let* ((s2-5 obj) - (s1-3 (method-of-object s2-5 dummy-12)) - (s0-3 (-> (the-as death-info s3-0) sound)) - ) - (set! sv-288 (-> obj res)) - (let ((t1-11 (string->sound-name (symbol->string (-> (the-as death-info s3-0) sound))))) - (s1-3 s2-5 s0-3 arg1 s5-0 sv-288 t1-11) + (let ((a2-29 (-> *display* frames (-> *display* last-screen) frame run-time))) + (cond + ((< 9000 a2-29) + (set! a1-42 (* a1-42 4)) + ) + ((< 7000 a2-29) + (set! a1-42 (* a1-42 2)) + ) ) ) + (set! (-> v1-67 death-vertex-skip) a1-42) + (set! (-> v1-67 death-effect) (-> (the-as death-info s3-0) effect)) + (set! (-> v1-67 death-timer) (+ a0-55 1)) ) - (send-event (-> obj process) 'death-start (the-as death-info s3-0)) + (set! (-> v1-67 death-timer-org) (-> v1-67 death-timer)) + (set! (-> v1-67 death-draw-overlap) (-> (the-as death-info s3-0) overlap)) ) - (else - (dummy-12 obj arg0 arg1 s5-0 (-> obj res) (string->sound-name (symbol->string arg0))) - ) + (when (-> (the-as death-info s3-0) sound) + (let* ((s2-5 obj) + (s1-3 (method-of-object s2-5 dummy-12)) + (s0-3 (-> (the-as death-info s3-0) sound)) + ) + (set! sv-288 (-> obj res)) + (let ((t1-11 (string->sound-name (symbol->string (-> (the-as death-info s3-0) sound))))) + (s1-3 s2-5 s0-3 arg1 s5-0 sv-288 t1-11) + ) + ) + ) + (send-event (-> obj process) 'death-start (the-as death-info s3-0)) + ) + (else + (dummy-12 obj arg0 arg1 s5-0 (-> obj res) (string->sound-name (symbol->string arg0))) ) ) ) - 0 ) + 0 ) (defmethod dummy-11 effect-control ((obj effect-control) (arg0 symbol) (arg1 float) (arg2 int) (arg3 basic) (arg4 pat-surface)) diff --git a/goal_src/engine/game/game-h.gc b/goal_src/engine/game/game-h.gc index 7956d38a8b..5cb7edff4b 100644 --- a/goal_src/engine/game/game-h.gc +++ b/goal_src/engine/game/game-h.gc @@ -54,6 +54,27 @@ (sf31) ) +(defmacro static-attack-info (&key (mask ()) &rest args) + (when (!= (length args) 1) + (error "static-attack-info can only have 1 arg")) + (let ((mask-actual mask) + (arg (car args)) + ) + (when (not (null? (assoc 'shove-up arg))) (cons! mask-actual 'shove-up)) + (when (not (null? (assoc 'shove-back arg))) (cons! mask-actual 'shove-back)) + (when (not (null? (assoc 'mode arg))) (cons! mask-actual 'mode)) + (when (not (null? (assoc 'vector arg))) (cons! mask-actual 'vector)) + (when (not (null? (assoc 'angle arg))) (cons! mask-actual 'angle)) + (when (not (null? (assoc 'control arg))) (cons! mask-actual 'control)) + `(let ((atk (new 'static 'attack-info :mask (attack-mask ,@mask-actual)))) + ,@(apply (lambda (x) (if (eq? (car x) 'vector) + `(vector-copy! (-> atk ,(car x)) ,(cadr x)) + `(set! (-> atk ,(car x)) ,(cadr x)) + )) arg) + atk) + ) + ) + ;; DECOMP BEGINS @@ -179,6 +200,26 @@ ) ) + +(defenum attack-mask + :bitfield #t + :type uint32 + (trans) + (vector) + (intersection) + (attacker) + (invinc-time) + (mode) + (shove-back) + (shove-up) + (speed) + (dist) + (control) + (angle) + (rotate-to) + (atki13) + ) + ;; The attack-info is generated by attackers and sent to target. (deftype attack-info (structure) ((trans vector :inline :offset-assert 0) @@ -186,7 +227,7 @@ (intersection vector :inline :offset-assert 32) (attacker handle :offset-assert 48) (invinc-time time-frame :offset-assert 56) - (mask uint32 :offset-assert 64) ;; todo enum here. + (mask attack-mask :offset-assert 64) (mode symbol :offset-assert 68) (shove-back meters :offset-assert 72) (shove-up meters :offset-assert 76) diff --git a/goal_src/engine/game/game-save.gc b/goal_src/engine/game/game-save.gc index 5510fae1c9..f528b3eb88 100644 --- a/goal_src/engine/game/game-save.gc +++ b/goal_src/engine/game/game-save.gc @@ -1735,7 +1735,7 @@ ) (defun auto-save-command ((arg0 symbol) (arg1 int) (arg2 int) (arg3 process-tree)) - (process-new auto-save auto-save-init-by-other arg0 arg3 arg1 arg2) + (process-spawn auto-save arg0 arg3 arg1 arg2) (none) ) diff --git a/goal_src/engine/game/generic-obs.gc b/goal_src/engine/game/generic-obs.gc index c73b002d59..cad9c8febb 100644 --- a/goal_src/engine/game/generic-obs.gc +++ b/goal_src/engine/game/generic-obs.gc @@ -15,6 +15,10 @@ (define-extern beach-part-grotto-1 (state beach-part)) +(defmacro manipy-spawn (trans entity skel arg &key (from *default-dead-pool*) &key (to *default-pool*) &key (name #f) &key (stack-size #x4000) &key (stack *scratch-memory-top*)) + `(process-spawn manipy :init manipy-init ,trans ,entity ,skel ,arg :from ,from :to ,to :name ,name :stack-size ,stack-size :stack ,stack) + ) + ;; DECOMP BEGINS (defbehavior clone-anim-once process-drawable ((arg0 handle) (arg1 int) (arg2 symbol) (arg3 string)) @@ -102,23 +106,16 @@ ) (defstate swingpole-stance (swingpole) - :code - (behavior () + :code (behavior () (loop (when (and *target* (< (vector-vector-distance (-> self root trans) (-> *target* control unknown-vector90)) (-> self range)) (logtest? (-> *target* control root-prim prim-core action) (collide-action ca-6)) (< (-> *target* control unknown-vector90 y) (+ (-> self root trans y) (* 0.5 (-> self range)))) ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'pole-grab) - (set! (-> a1-1 param 0) (the-as uint self)) - (if (send-event-function *target* a1-1) - (go swingpole-active) - ) - ) + (if (send-event *target* 'pole-grab self) + (go swingpole-active) + ) ) (suspend) ) @@ -127,8 +124,7 @@ ) (defstate swingpole-active (swingpole) - :code - (behavior () + :code (behavior () (suspend) (while (and *target* (= (handle->process (-> *target* control unknown-handle10)) self)) (suspend) @@ -162,8 +158,7 @@ (defstate die (process-hidden) :virtual #t - :code - (the-as (function none :behavior process-hidden) nothing) + :code (the-as (function none :behavior process-hidden) nothing) ) (defmethod init-from-entity! process-hidden ((obj process-hidden) (arg0 entity-actor)) @@ -190,8 +185,7 @@ (defstate manipy-idle (manipy) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 none)) (let ((v1-0 arg2)) (the-as @@ -393,8 +387,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (!= (-> self cur-trans-hook) (-> self new-trans-hook)) (set! (-> self cur-trans-hook) (-> self new-trans-hook)) ) @@ -429,8 +422,7 @@ ((-> self cur-trans-hook)) (none) ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask heap-shrunk)) (loop ((-> self cur-post-hook)) @@ -447,8 +439,7 @@ ) (('copy-parent) (ja :num-func num-func-identity - :frame-num - (-> (the-as process-drawable (ppointer->process (-> self parent))) skel root-channel 0 frame-num) + :frame-num (-> (the-as process-drawable (ppointer->process (-> self parent))) skel root-channel 0 frame-num) ) ) (('clone-parent) @@ -587,8 +578,7 @@ ) (defstate part-tracker-process (part-tracker) - :code - (behavior () + :code (behavior () (set! (-> self start-time) (-> *display* base-frame-counter)) (while (< (- (-> *display* base-frame-counter) (-> self start-time)) (-> self duration)) (let ((gp-0 (handle->process (-> self target)))) @@ -798,16 +788,7 @@ (defbehavior process-release? process ((arg0 process)) (let ((gp-0 (command-get-process arg0 *target*))) - (the-as symbol (if (and gp-0 - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'mode)) - (send-event-function gp-0 a1-1) - ) - 'target-grab - ) + (the-as symbol (if (and gp-0 (send-event gp-0 'query 'mode) 'target-grab) (send-event gp-0 'end-mode) #t ) @@ -1097,8 +1078,7 @@ ) (defstate camera-tracker-process (camera-tracker) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 uint)) (let ((v1-0 arg2)) (the-as object (cond @@ -1121,8 +1101,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (if (-> self entity-override) (dummy-30 (-> self entity-override) (entity-perm-status bit-3) #t) ) @@ -1134,16 +1113,14 @@ (hide-hud-quick) (none) ) - :exit - (behavior () + :exit (behavior () (if (-> self entity-override) (dummy-30 (-> self entity-override) (entity-perm-status bit-3) #f) ) (send-event *camera* 'clear-entity) (none) ) - :code - (behavior () + :code (behavior () (cond ((-> self script-func) ((-> self script-func)) @@ -1224,8 +1201,7 @@ (defstate med-res-level-idle (med-res-level) - :code - (behavior () + :code (behavior () (local-vars (v1-37 float)) (rlet ((vf0 :class vf) (vf16 :class vf) @@ -1277,8 +1253,7 @@ (none) ) ) - :post - (the-as (function none :behavior med-res-level) ja-post) + :post (the-as (function none :behavior med-res-level) ja-post) ) (define *lev-string* (new 'global 'string 64 (the-as string #f))) @@ -1353,8 +1328,7 @@ ) (defstate part-spawner-active (part-spawner) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('stop) (process-entity-status! self (entity-perm-status complete) #t) @@ -1374,8 +1348,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (when (-> self enable) (spawn (-> self part) (-> self root trans)) @@ -1473,8 +1446,7 @@ (defpartgroup group-beach-launcher :id 37 :bounds (static-bspherem 0 3 0 5) - :parts - ((sp-item 45 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 45 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 46 :fade-after (meters 70) :falloff-to (meters 100) :flags (is-3d)) (sp-item 47 :fade-after (meters 70) :falloff-to (meters 100) :flags (is-3d)) (sp-item 48 :fade-after (meters 50) :falloff-to (meters 80)) @@ -1483,8 +1455,7 @@ ) (defpart 45 - :init-specs - ((sp-flt spt-num 1.5) + :init-specs ((sp-flt spt-num 1.5) (sp-flt spt-x (meters 1.5)) (sp-flt spt-y (meters -0.5)) (sp-int spt-rot-x 5) @@ -1501,13 +1472,11 @@ ) (defpart 50 - :init-specs - ((sp-flt spt-fade-b -4.551111)) + :init-specs ((sp-flt spt-fade-b -4.551111)) ) (defpart 46 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 1.8) 1.0) (sp-flt spt-scale-x (meters 0.2)) @@ -1527,8 +1496,7 @@ ) (defpart 47 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 1.8) (meters 1) 1.0) (sp-flt spt-scale-x (meters 0.2)) @@ -1548,8 +1516,7 @@ ) (defpart 48 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters 2.9) (meters 2.5) 1.0) (sp-flt spt-y (meters -0.5)) @@ -1573,8 +1540,7 @@ ) (defpart 49 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 2.9) (meters 2.5) 1.0) (sp-flt spt-y (meters -0.5)) @@ -1600,15 +1566,13 @@ ) (defpart 51 - :init-specs - ((sp-flt spt-fade-a -0.18)) + :init-specs ((sp-flt spt-fade-a -0.18)) ) (defpartgroup group-jungle-launcher :id 38 :bounds (static-bspherem 0 3 0 5) - :parts - ((sp-item 45 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 45 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 52 :fade-after (meters 70) :falloff-to (meters 100) :flags (is-3d)) (sp-item 53 :fade-after (meters 70) :falloff-to (meters 100) :flags (is-3d)) (sp-item 54 :fade-after (meters 70) :falloff-to (meters 100)) @@ -1616,8 +1580,7 @@ ) (defpart 52 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 1.4) 1.0) (sp-flt spt-scale-x (meters 0.2)) @@ -1637,8 +1600,7 @@ ) (defpart 53 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 1.4) (meters 0.9) 1.0) (sp-flt spt-scale-x (meters 0.2)) @@ -1658,8 +1620,7 @@ ) (defpart 54 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 2.9) (meters 2.5) 1.0) (sp-flt spt-y (meters -0.5)) @@ -1687,8 +1648,7 @@ (defpartgroup group-swamp-launcher :id 39 :bounds (static-bspherem 0 3 0 5) - :parts - ((sp-item 45 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 45 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 46 :fade-after (meters 70) :falloff-to (meters 100) :flags (is-3d)) (sp-item 47 :fade-after (meters 70) :falloff-to (meters 100) :flags (is-3d)) (sp-item 55 :fade-after (meters 70) :falloff-to (meters 100)) @@ -1696,8 +1656,7 @@ ) (defpart 55 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 2.9) (meters 2.5) 1.0) (sp-flt spt-y (meters -0.5)) @@ -1728,7 +1687,7 @@ (let ((s5-0 (new-stack-matrix0)) (gp-0 (vector-reset! (new 'stack-no-clear 'vector))) ) - (let* ((f0-0 (analog-input-horizontal-third (the-as int (+ (-> *cpad-list* cpads 0 rightx) -128)) 0.0 48.0 110.0 -1.0)) ;; changed for pc port + (let* ((f0-0 (analog-input (the-as int (+ (-> *cpad-list* cpads 0 rightx) -128)) 0.0 48.0 110.0 -1.0)) (f1-1 (* -546.13336 f0-0)) (f0-2 (fmin 546.13336 (fmax -546.13336 f1-1))) ) @@ -1742,8 +1701,7 @@ ) (defstate cam-launcher-shortfall (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -1753,8 +1711,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector--float*! (-> self trans) (-> *camera* tpos-curr) (-> *camera* local-down) 28672.0) @@ -1775,22 +1732,20 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (-> *display* base-frame-counter))) (loop (when (not (paused?)) (vector--float*! (-> self trans) (-> *camera* tpos-curr) (-> *camera* local-down) 28672.0) (send-event *camera* 'teleport) (if (and (-> *camera* on-ground) (>= (- (-> *display* base-frame-counter) gp-0) (seconds 1))) - (send-event *camera* 'change-state *camera-base-mode* 150) + (send-event *camera* 'change-state *camera-base-mode* (seconds 0.5)) ) ) (suspend) @@ -1817,8 +1772,7 @@ ) (defstate cam-launcher-longfall (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -1828,8 +1782,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (new 'stack-no-clear 'vector) (vector-negate! (-> self view-flat) (-> self tracking inv-mat vector 2)) @@ -1843,16 +1796,14 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (cam-launcher-long-joystick) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (-> *display* base-frame-counter))) (loop (when (not (paused?)) @@ -1896,7 +1847,7 @@ (set! (-> self trans z) (-> *camera* tpos-curr z)) (vector+! (-> self trans) (-> self trans) (-> self view-flat)) (if (and (-> *camera* on-ground) (>= (- (-> *display* base-frame-counter) gp-0) (seconds 1))) - (send-event *camera* 'change-state *camera-base-mode* 150) + (send-event *camera* 'change-state *camera-base-mode* (seconds 0.5)) ) ) (vector-reset! (-> self tracking follow-off)) @@ -1916,8 +1867,7 @@ ) (defstate launcher-idle (launcher) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('instant-death) (go launcher-deactivated) @@ -1928,46 +1878,25 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (and *target* (>= (-> self active-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'powerup)) - (set! (-> a1-1 param 1) (the-as uint 3)) - (cond - ((send-event-function *target* a1-1) - (go launcher-active) - ) - (else - (let ((gp-0 'target-launch) - (a1-2 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'mode)) - (if (= (send-event-function *target* a1-2) gp-0) - (send-event *target* 'end-mode) - ) - ) + (cond + ((send-event *target* 'query 'powerup (pickup-type eco-blue)) + (go launcher-active) + ) + (else + (let ((gp-0 'target-launch)) + (if (= (send-event *target* 'query 'mode) gp-0) + (send-event *target* 'end-mode) + ) ) ) ) (if (and (and *target* (>= 32768.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) - (let ((a1-5 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-5 from) self) - (set! (-> a1-5 num-params) 2) - (set! (-> a1-5 message) 'query) - (set! (-> a1-5 param 0) (the-as uint 'powerup)) - (set! (-> a1-5 param 1) (the-as uint 3)) - (not (send-event-function *target* a1-5)) - ) + (not (send-event *target* 'query 'powerup (pickup-type eco-blue))) ) (level-hint-spawn (game-text-id daxter-launcher-no-eco) @@ -1980,13 +1909,11 @@ ) (none) ) - :code - (the-as (function none :behavior launcher) anim-loop) + :code (the-as (function none :behavior launcher) anim-loop) ) (defstate launcher-active (launcher) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (when (or (= arg2 'touch) (= arg2 'attack)) (set! (-> self state-time) (-> *display* base-frame-counter)) (send-event arg0 'launch (-> self spring-height) (-> self camera) (-> self dest) (-> self seek-time)) @@ -2001,8 +1928,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (let ((v1-0 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) (set! (-> v1-0 command) (sound-command set-param)) (set! (-> v1-0 id) (-> self sound-id)) @@ -2014,20 +1940,12 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (or (or (not *target*) (< (-> self active-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'powerup)) - (set! (-> a1-1 param 1) (the-as uint 3)) - (not (send-event-function *target* a1-1)) - ) + (not (send-event *target* 'query 'powerup (pickup-type eco-blue))) ) (go launcher-idle) ) @@ -2043,8 +1961,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "launch-start") (new-sound-id) 1024 0 0 1 #t) (anim-loop) (none) @@ -2052,8 +1969,7 @@ ) (defstate launcher-deactivated (launcher) - :code - (the-as (function none :behavior launcher) anim-loop) + :code (the-as (function none :behavior launcher) anim-loop) ) (defmethod init-from-entity! launcher ((obj launcher) (arg0 entity-actor)) @@ -2176,8 +2092,7 @@ ) (defstate touch-tracker-idle (touch-tracker) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 none)) (let ((v1-0 arg2)) (the-as object (cond @@ -2188,24 +2103,19 @@ ((= (-> self event) 'attack) (cond ((= (-> arg0 type) target) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) (the-as process v1-1)) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) (-> self event)) - (set! (-> a1-2 param 0) (the-as uint #f)) - (let ((a2-2 (new 'static 'attack-info :mask #x20))) - (set! (-> a2-2 mode) (the-as symbol (-> self event-mode))) - (set! (-> a1-2 param 1) (the-as uint a2-2)) - ) - (send-event-function arg0 a1-2) + (send-event + arg0 + (-> self event) + :from (the-as process v1-1) + #f + (static-attack-info ((mode (the-as symbol (-> self event-mode))))) ) ) ((= (-> v1-1 type) target) (send-event arg0 (-> self event) - :from - (the-as process v1-1) + :from (the-as process v1-1) #f (-> self event-mode) (-> *target* control unknown-dword50) @@ -2279,8 +2189,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (while ((-> self run-function)) (let* ((gp-0 (handle->process (-> self target))) @@ -2427,8 +2336,7 @@ ) (defpart 2528 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) (sp-func spt-birth-func 'birth-func-set-quat) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) diff --git a/goal_src/engine/game/main.gc b/goal_src/engine/game/main.gc index 3f7ffedc99..9d78f57752 100644 --- a/goal_src/engine/game/main.gc +++ b/goal_src/engine/game/main.gc @@ -503,7 +503,7 @@ ) ;; spawn a process that blacks out the screen, turns things off, and kills the game. - (if (process-new-function process :stack *scratch-memory-top* + (if (process-spawn-function process :stack *scratch-memory-top* (lambda :behavior process () (set-blackout-frames (seconds 100)) (set! (-> *setting-control* default allow-pause) #f) @@ -947,8 +947,8 @@ ) ) (set! *run* #t) - (let ((new-dproc (process-new-function process display-loop :name 'display - :from *4k-dead-pool* :to *display-pool*))) + (let ((new-dproc (process-spawn-function process display-loop :name 'display + :from *4k-dead-pool* :to *display-pool*))) (set! *dproc* (the process (ppointer->process new-dproc))) ) (cond diff --git a/goal_src/engine/game/powerups.gc b/goal_src/engine/game/powerups.gc index 6bbd2c9802..b1d85ac8ac 100644 --- a/goal_src/engine/game/powerups.gc +++ b/goal_src/engine/game/powerups.gc @@ -66,8 +66,7 @@ ) (defpart 255 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -85,8 +84,7 @@ ) (defpart 256 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -104,8 +102,7 @@ ) (defpart 257 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 1.0 3.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) (sp-int spt-rot-x 4) @@ -124,8 +121,7 @@ ) (defpart 259 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.0 3.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) (sp-int spt-rot-x 4) @@ -144,8 +140,7 @@ ) (defpart 258 - :init-specs - ((sp-flt spt-r 64.0) + :init-specs ((sp-flt spt-r 64.0) (sp-flt spt-g 64.0) (sp-flt spt-fade-r -1.0) (sp-flt spt-fade-g -0.4) @@ -154,8 +149,7 @@ ) (defpart 260 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -177,13 +171,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 261) (sp-item 262) (sp-item 263 :flags (is-3d)) (sp-item 264) (sp-item 265 :flags (is-3d))) + :parts ((sp-item 261) (sp-item 262) (sp-item 263 :flags (is-3d)) (sp-item 264) (sp-item 265 :flags (is-3d))) ) (defpart 264 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 32.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-scale-x (meters 1) (meters 3) 1.0) @@ -206,8 +198,7 @@ ) (defpart 266 - :init-specs - ((sp-flt spt-r 0.0) + :init-specs ((sp-flt spt-r 0.0) (sp-rnd-flt spt-g 32.0 32.0 1.0) (sp-rnd-flt spt-b 192.0 63.0 1.0) (sp-rnd-int spt-a 0 63 1.0) @@ -217,8 +208,7 @@ ) (defpart 265 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.5)) (sp-flt spt-scale-x (meters 0)) @@ -237,13 +227,11 @@ ) (defpart 267 - :init-specs - ((sp-flt spt-fade-a -2.1333334)) + :init-specs ((sp-flt spt-fade-a -2.1333334)) ) (defpart 263 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.5)) (sp-flt spt-scale-x (meters 0)) @@ -263,13 +251,11 @@ ) (defpart 268 - :init-specs - ((sp-flt spt-fade-a -1.4222223)) + :init-specs ((sp-flt spt-fade-a -1.4222223)) ) (defpart 261 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -293,8 +279,7 @@ ) (defpart 262 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -318,8 +303,7 @@ ) (defpart 269 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -337,8 +321,7 @@ ) (defpart 270 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -356,8 +339,7 @@ ) (defpart 271 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.5 2.0 1.0) (sp-flt spt-y (meters -0.05)) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) @@ -384,13 +366,11 @@ ) (defpart 272 - :init-specs - ((sp-flt spt-fade-r 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0)) ) (defpart 273 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -408,8 +388,7 @@ ) (defpart 274 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -427,8 +406,7 @@ ) (defpart 275 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.5 2.0 1.0) (sp-flt spt-y (meters -0.05)) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) @@ -455,13 +433,11 @@ ) (defpart 276 - :init-specs - ((sp-flt spt-fade-r 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0)) ) (defpart 277 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -479,8 +455,7 @@ ) (defpart 278 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -498,8 +473,7 @@ ) (defpart 279 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.5 2.0 1.0) (sp-flt spt-y (meters -0.05)) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) @@ -526,8 +500,7 @@ ) (defpart 280 - :init-specs - ((sp-flt spt-fade-g 0.0)) + :init-specs ((sp-flt spt-fade-g 0.0)) ) (defun eco-blue-glow ((arg0 vector)) diff --git a/goal_src/engine/game/projectiles.gc b/goal_src/engine/game/projectiles.gc index 20a6aae626..30504e4362 100644 --- a/goal_src/engine/game/projectiles.gc +++ b/goal_src/engine/game/projectiles.gc @@ -177,8 +177,7 @@ :id 102 :duration 300 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 349 :flags (launch-asap) :binding 350) + :parts ((sp-item 349 :flags (launch-asap) :binding 350) (sp-item 350 :flags (start-dead launch-asap) :binding 351) (sp-item 351 :flags (start-dead launch-asap) :binding 352) (sp-item 352 :flags (start-dead) :binding 353) @@ -216,8 +215,7 @@ ) (defpart 349 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.01)) (sp-copy-from-other spt-scale-y -4) @@ -229,8 +227,7 @@ ) (defpart 350 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 16) 1.0) @@ -249,8 +246,7 @@ ) (defpart 351 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 0)) @@ -269,8 +265,7 @@ ) (defpart 352 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -288,8 +283,7 @@ ) (defpart 353 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-y (meters -0.05)) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) @@ -316,16 +310,14 @@ ) (defpart 354 - :init-specs - ((sp-flt spt-fade-r 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0)) ) (defpartgroup group-part-yellow-eco-fireball-launcher :id 103 :duration 600 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 355 :flags (launch-asap)) + :parts ((sp-item 355 :flags (launch-asap)) (sp-item 356 :flags (bit1) :period 630 :length 15) (sp-item 357 :flags (launch-asap)) (sp-item 358 :flags (launch-asap) :binding 359) @@ -349,8 +341,7 @@ ) (defpart 355 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 8)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -368,8 +359,7 @@ ) (defpart 357 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-x (meters -0.6) (meters 1.2) 1.0) (sp-rnd-flt spt-y (meters -0.6) (meters 1.2) 1.0) @@ -393,8 +383,7 @@ ) (defpart 356 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -417,8 +406,7 @@ ) (defpart 360 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 24.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -441,8 +429,7 @@ ) (defpart 358 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 16.0) (sp-flt spt-scale-x (meters 0.1)) (sp-copy-from-other spt-scale-y -4) @@ -458,8 +445,7 @@ ) (defpart 361 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 32.0) (sp-flt spt-scale-x (meters 0.1)) (sp-copy-from-other spt-scale-y -4) @@ -475,8 +461,7 @@ ) (defpart 359 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.1) (meters 0.2) 1.0) @@ -504,8 +489,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 2059 :period 600 :length 5) + :parts ((sp-item 2059 :period 600 :length 5) (sp-item 2060 :fade-after (meters 80) :falloff-to (meters 80) :period 600 :length 40) (sp-item 2061 :period 600 :length 20) (sp-item 2062 :fade-after (meters 120) :falloff-to (meters 120) :period 600 :length 20) @@ -513,8 +497,7 @@ ) (defpart 2060 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -538,13 +521,11 @@ ) (defpart 2063 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) ) (defpart 2062 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-scale-x (meters 0.2)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) @@ -561,8 +542,7 @@ ) (defpart 2059 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 16)) (sp-copy-from-other spt-scale-y -4) @@ -577,8 +557,7 @@ ) (defpart 2061 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -604,8 +583,7 @@ ) (defpart 2064 - :init-specs - ((sp-flt spt-fade-r -0.53333336) + :init-specs ((sp-flt spt-fade-r -0.53333336) (sp-flt spt-fade-g -0.53333336) (sp-flt spt-fade-b -1.0666667) (sp-flt spt-fade-a -0.53333336) @@ -625,24 +603,13 @@ (defstate projectile-moving (projectile) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touched) (when (-> self attack-mode) (when (cond ((= (-> arg0 type) target) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'attack) - (set! (-> a1-1 param 0) (-> arg3 param 0)) - (let ((a0-4 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-4 mode) (-> self attack-mode)) - (set! (-> a1-1 param 1) (the-as uint a0-4)) - ) - (send-event-function arg0 a1-1) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode (-> self attack-mode))))) ) (else (let ((a1-2 (new 'stack-no-clear 'event-message-block))) @@ -677,13 +644,11 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 #f)) (while (< (- (-> *display* base-frame-counter) (-> self state-time)) (-> self timeout)) (let ((s5-0 (the int (-> *display* time-ratio)))) @@ -779,25 +744,17 @@ (defstate projectile-impact (projectile) :virtual #t - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 104) - -1 - #f - #f - #f - (-> self root-override root-prim prim-core) - ) - (-> gp-0 ppointer) - ) + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 104) + -1 + #f + #f + #f + (-> self root-override root-prim prim-core) + :to *entity-pool* ) (if (nonzero? (-> self sound-id)) (sound-stop (-> self sound-id)) @@ -811,25 +768,17 @@ (defstate projectile-dissipate (projectile) :virtual #t - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 104) - -1 - #f - #f - #f - (-> self root-override root-prim prim-core) - ) - (-> gp-0 ppointer) - ) + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 104) + -1 + #f + #f + #f + (-> self root-override root-prim prim-core) + :to *entity-pool* ) (if (nonzero? (-> self sound-id)) (sound-stop (-> self sound-id)) @@ -879,8 +828,7 @@ (defstate projectile-die (projectile) :virtual #t - :code - (behavior () + :code (behavior () (let ((v1-0 (-> self notify-handle))) (if (handle->process v1-0) (send-event (-> v1-0 process 0) 'notify 'die) @@ -972,17 +920,9 @@ ) (sound-play-by-name (static-sound-name "yellow-fire") (new-sound-id) 1024 0 0 1 #t) (set! (-> obj sound-id) (sound-play-by-name (static-sound-name "yellow-buzz") (new-sound-id) 1024 0 0 1 #t)) - (when (zero? (logand (-> obj options) 416)) - (let ((s4-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-2 - (let ((t9-10 (method-of-type part-tracker activate))) - (t9-10 (the-as part-tracker s4-2) obj 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s4-2 part-tracker-init (-> *part-group-id-table* 103) -1 #f #f #f s5-0) - (-> s4-2 ppointer) - ) + (if (zero? (logand (-> obj options) 416)) + (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 103) -1 #f #f #f s5-0 :to obj) ) - ) (set! (-> *part-id-table* 350 init-specs 2 initial-valuef) f30-0) ) ) @@ -1289,8 +1229,7 @@ (defstate projectile-impact (projectile-blue) :virtual #t - :code - (behavior () + :code (behavior () (cleanup-for-death self) (none) ) @@ -1298,8 +1237,7 @@ (defstate projectile-dissipate (projectile-blue) :virtual #t - :code - (behavior () + :code (behavior () (go-virtual projectile-die) (none) ) diff --git a/goal_src/engine/game/task/hint-control.gc b/goal_src/engine/game/task/hint-control.gc index d72dae155a..d40c3f51e9 100644 --- a/goal_src/engine/game/task/hint-control.gc +++ b/goal_src/engine/game/task/hint-control.gc @@ -7,43 +7,34 @@ ;; DECOMP BEGINS -(set! (-> *game-info* hint-control) (new - 'static - 'boxed-array - :type level-hint-control :length 25 :allocated-length 25 +(set! (-> *game-info* hint-control) (new 'static 'boxed-array :type level-hint-control (new 'static 'level-hint-control - :id - (game-text-id sage-voicebox-hint-crate-iron) + :id (game-text-id sage-voicebox-hint-crate-iron) :num-attempts-before-playing 1 :num-success-before-killing 3 ) (new 'static 'level-hint-control - :id - (game-text-id training-more-eco-more-time) + :id (game-text-id training-more-eco-more-time) :num-attempts-before-playing 3 :num-success-before-killing -1 ) (new 'static 'level-hint-control - :id - (game-text-id sidekick-speech-hint-crate-iron) + :id (game-text-id sidekick-speech-hint-crate-iron) :num-attempts-before-playing 3 :num-success-before-killing 3 ) (new 'static 'level-hint-control - :id - (game-text-id sidekick-speech-hint-crate-steel) + :id (game-text-id sidekick-speech-hint-crate-steel) :num-attempts-before-playing 1 :num-success-before-killing 1 ) (new 'static 'level-hint-control - :id - (game-text-id sidekick-hint-orb-cache-top) + :id (game-text-id sidekick-hint-orb-cache-top) :num-attempts-before-playing 1 :num-success-before-killing 1 ) (new 'static 'level-hint-control - :id - (game-text-id beach-grottopole-increment) + :id (game-text-id beach-grottopole-increment) :num-attempts-before-playing 1 :num-success-before-killing 1 ) @@ -55,21 +46,18 @@ ) (new 'static 'level-hint-control :delay-before-playing (seconds 5) - :id - (game-text-id jungle-mirrors-break-the-mirror-jak) + :id (game-text-id jungle-mirrors-break-the-mirror-jak) :num-attempts-before-playing 1 :num-success-before-killing -1 ) (new 'static 'level-hint-control :delay-before-playing (seconds 3) - :id - (game-text-id jungle-precursorbridge-hint) + :id (game-text-id jungle-precursorbridge-hint) :num-attempts-before-playing 1 :num-success-before-killing -1 ) (new 'static 'level-hint-control - :id - (game-text-id misty-teetertotter-bonk-dax-tutorial) + :id (game-text-id misty-teetertotter-bonk-dax-tutorial) :num-attempts-before-playing 3 :num-success-before-killing 1 ) @@ -98,33 +86,28 @@ :num-success-before-killing -1 ) (new 'static 'level-hint-control - :id - (game-text-id sunken-blue-eco-charger-all-hint) + :id (game-text-id sunken-blue-eco-charger-all-hint) :num-attempts-before-playing 3 :num-success-before-killing -1 ) (new 'static 'level-hint-control - :id - (game-text-id sunken-blue-eco-charger-hint) + :id (game-text-id sunken-blue-eco-charger-hint) :num-attempts-before-playing 3 :num-success-before-killing 2 ) (new 'static 'level-hint-control - :id - (game-text-id swamp-tethers-advice-hint) + :id (game-text-id swamp-tethers-advice-hint) :num-attempts-before-playing 1 :num-success-before-killing 1 ) (new 'static 'level-hint-control :delay-before-playing (seconds 30) - :id - (game-text-id sunken-double-lurker-hint) + :id (game-text-id sunken-double-lurker-hint) :num-attempts-before-playing 3 :num-success-before-killing 1 ) (new 'static 'level-hint-control - :id - (game-text-id sunken-take-it-easy-hot-pipes) + :id (game-text-id sunken-take-it-easy-hot-pipes) :num-attempts-before-playing 3 :num-success-before-killing -1 ) @@ -135,34 +118,29 @@ ) (new 'static 'level-hint-control :delay-before-playing (seconds 3) - :id - (game-text-id darkcave-light-crystal-hint) + :id (game-text-id darkcave-light-crystal-hint) :num-attempts-before-playing 1 :num-success-before-killing -1 ) (new 'static 'level-hint-control - :id - (game-text-id daxter-maybe-you-can-shoot-better-goggles) + :id (game-text-id daxter-maybe-you-can-shoot-better-goggles) :num-attempts-before-playing 4 :num-success-before-killing -1 ) (new 'static 'level-hint-control - :id - (game-text-id lavatube-shoot-the-spheres) + :id (game-text-id lavatube-shoot-the-spheres) :num-attempts-before-playing 1 :num-success-before-killing 2 ) (new 'static 'level-hint-control :delay-before-playing (seconds 5) - :id - (game-text-id citadel-break-generator-hint) + :id (game-text-id citadel-break-generator-hint) :num-attempts-before-playing 1 :num-success-before-killing 1 ) (new 'static 'level-hint-control :delay-before-playing (seconds 5) - :id - (game-text-id citadel-break-generators-reminder) + :id (game-text-id citadel-break-generators-reminder) :num-attempts-before-playing 1 :num-success-before-killing 1 ) @@ -170,16 +148,9 @@ ) (set! (-> *game-info* task-hint-control) - (new - 'static - 'boxed-array - :type task-hint-control-group :length 16 :allocated-length 16 + (new 'static 'boxed-array :type task-hint-control-group (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 3 :allocated-length 3 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task training-gimmie) :delay (seconds 600)) (new 'static 'task-hint-control :task (game-task training-door) :delay (seconds 1200)) (new 'static 'task-hint-control :task (game-task training-climb) :delay (seconds 1800)) @@ -187,32 +158,20 @@ ) (new 'static 'task-hint-control-group) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 3 :allocated-length 3 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task beach-gimmie) :delay (seconds 900)) (new 'static 'task-hint-control :task (game-task beach-sentinel) :delay (seconds 1800)) (new 'static 'task-hint-control :task (game-task beach-cannon) :delay (seconds 2700)) ) ) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 2 :allocated-length 2 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task jungle-plant) :delay (seconds 1200)) (new 'static 'task-hint-control :task (game-task jungle-canyon-end) :delay (seconds 2400)) ) ) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 4 :allocated-length 4 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task misty-boat) :delay (seconds 1200)) (new 'static 'task-hint-control :task (game-task misty-warehouse) :delay (seconds 1800)) (new 'static 'task-hint-control :task (game-task misty-bike-jump) :delay (seconds 2400)) @@ -222,58 +181,34 @@ (new 'static 'task-hint-control-group) (new 'static 'task-hint-control-group) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 3 :allocated-length 3 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task sunken-spinning-room) :delay (seconds 1200)) (new 'static 'task-hint-control :task (game-task sunken-sharks) :delay (seconds 1800)) (new 'static 'task-hint-control :task (game-task sunken-slide) :delay (seconds 2400)) ) ) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 1 :allocated-length 1 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task swamp-battle) :delay (seconds 2400)) ) ) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 1 :allocated-length 1 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task rolling-lake) :delay (seconds 2400)) ) ) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 1 :allocated-length 1 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task ogre-secret) :delay (seconds 3600)) ) ) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 1 :allocated-length 1 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task village3-extra1) :delay (seconds 3600)) ) ) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 4 :allocated-length 4 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task snow-bumpers) :delay (seconds 1200)) (new 'static 'task-hint-control :task (game-task snow-cage) :delay (seconds 1800)) (new 'static 'task-hint-control :task (game-task snow-ball) :delay (seconds 2400)) @@ -281,11 +216,7 @@ ) ) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 4 :allocated-length 4 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task cave-dark-climb) :delay (seconds 1200)) (new 'static 'task-hint-control :task (game-task cave-robot-climb) :delay (seconds 1800)) (new 'static 'task-hint-control :task (game-task cave-swing-poles) :delay (seconds 2400)) diff --git a/goal_src/engine/game/task/process-taskable.gc b/goal_src/engine/game/task/process-taskable.gc index fc23132859..96d762a458 100644 --- a/goal_src/engine/game/task/process-taskable.gc +++ b/goal_src/engine/game/task/process-taskable.gc @@ -301,8 +301,7 @@ (defstate release (process-taskable) :virtual #t - :trans - (behavior () + :trans (behavior () (when (process-release? *target*) (send-event *target* 'trans 'restore (-> self old-target-pos)) (if (should-display? self) @@ -314,16 +313,13 @@ ((-> self cur-trans-hook)) (none) ) - :code - process-taskable-anim-loop - :post - (the-as (function none :behavior process-taskable) ja-post) + :code process-taskable-anim-loop + :post (the-as (function none :behavior process-taskable) ja-post) ) (defstate give-cell (process-taskable) :virtual #t - :trans - (behavior () + :trans (behavior () (cond ((nonzero? (-> self cell-for-task)) (let ((gp-0 (handle->process (-> self cell-x)))) @@ -350,21 +346,17 @@ ((-> self cur-trans-hook)) (none) ) - :code - process-taskable-anim-loop - :post - (the-as (function none :behavior process-taskable) ja-post) + :code process-taskable-anim-loop + :post (the-as (function none :behavior process-taskable) ja-post) ) (defstate lose (process-taskable) :virtual #t - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 5)) (or (not *target*) (< 20480.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) @@ -375,35 +367,22 @@ ((-> self cur-trans-hook)) (none) ) - :code - process-taskable-anim-loop - :post - (the-as (function none :behavior process-taskable) ja-post) + :code process-taskable-anim-loop + :post (the-as (function none :behavior process-taskable) ja-post) ) (defstate enter-playing (process-taskable) :virtual #t - :code - process-taskable-anim-loop - :post - (the-as (function none :behavior process-taskable) ja-post) + :code process-taskable-anim-loop + :post (the-as (function none :behavior process-taskable) ja-post) ) (defbehavior process-taskable-play-anim-enter process-taskable () (init! (-> self query) (the-as string #f) 40 150 25 #t (the-as string #f)) (logior! (-> self skel status) (janim-status blerc)) - (let ((gp-0 (get-process *default-dead-pool* othercam #x4000))) - (set! (-> self camera) - (ppointer->handle (when gp-0 - (let ((t9-2 (method-of-type othercam activate))) - (t9-2 (the-as othercam gp-0) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 othercam-init-by-other self (-> self cam-joint-index) #f #t) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! (-> self camera) + (ppointer->handle (process-spawn othercam self (-> self cam-joint-index) #f #t :to self)) + ) (set! (-> self cell-for-task) (game-task none)) (set! (-> self skippable) #f) (set! (-> self blend-on-exit) #f) @@ -434,37 +413,23 @@ (defbehavior process-taskable-play-anim-code process-taskable ((arg0 art-joint-anim) (arg1 basic)) (when (nonzero? (-> self cell-for-task)) - (cond - ((name= (-> self state name) "play-anim") - (let ((s4-0 (get-process *default-dead-pool* fuel-cell #x4000))) - (set! (-> self cell-x) - (ppointer->handle - (when s4-0 - (let ((t9-2 (method-of-type fuel-cell activate))) - (t9-2 (the-as fuel-cell s4-0) self 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 fuel-cell-init-as-clone (process->handle self) (-> self cell-for-task)) - (-> s4-0 ppointer) - ) - ) - ) - ) - ) - (else + (if (name= (-> self state name) "play-anim") + (set! (-> self cell-x) (ppointer->handle (process-spawn + fuel-cell + :init fuel-cell-init-as-clone + (process->handle self) + (-> self cell-for-task) + :to self + ) + ) + ) (format #t "ERROR: ~S ~S trying to give cell on release~%" (-> self name) (-> self state name)) ) - ) ) (cond ((and arg1 (type-type? (-> arg1 type) spool-anim)) (when *target* - (while (let ((a1-9 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-9 from) self) - (set! (-> a1-9 num-params) 1) - (set! (-> a1-9 message) 'clone-anim) - (set! (-> a1-9 param 0) (the-as uint self)) - (not (send-event-function *target* a1-9)) - ) + (while (not (send-event *target* 'clone-anim self)) (spool-push *art-control* (-> (the-as spool-anim arg1) name) 0 self -99.0) (format #t "WARNING: ~A stall on not cloning.~%" (-> self name)) (suspend) @@ -541,18 +506,14 @@ (defstate play-accept (process-taskable) :virtual #t - :enter - (the-as (function none :behavior process-taskable) process-taskable-play-anim-enter) - :exit - process-taskable-play-anim-exit - :trans - (behavior () + :enter (the-as (function none :behavior process-taskable) process-taskable-play-anim-enter) + :exit process-taskable-play-anim-exit + :trans (behavior () (process-taskable-play-anim-trans) ((-> self cur-trans-hook)) (none) ) - :code - (behavior () + :code (behavior () (process-taskable-play-anim-code (the-as art-joint-anim (get-art-elem self)) (get-accept-anim self #t)) (while (not (process-release? *target*)) (suspend) @@ -560,36 +521,29 @@ (go-virtual enter-playing) (none) ) - :post - (the-as (function none :behavior process-taskable) ja-post) + :post (the-as (function none :behavior process-taskable) ja-post) ) (defstate play-reject (process-taskable) :virtual #t - :enter - (the-as (function none :behavior process-taskable) process-taskable-play-anim-enter) - :exit - process-taskable-play-anim-exit - :trans - (behavior () + :enter (the-as (function none :behavior process-taskable) process-taskable-play-anim-enter) + :exit process-taskable-play-anim-exit + :trans (behavior () (process-taskable-play-anim-trans) ((-> self cur-trans-hook)) (none) ) - :code - (behavior () + :code (behavior () (process-taskable-play-anim-code (the-as art-joint-anim (get-art-elem self)) (get-reject-anim self #t)) (go-virtual release) (none) ) - :post - (the-as (function none :behavior process-taskable) ja-post) + :post (the-as (function none :behavior process-taskable) ja-post) ) (defstate query (process-taskable) :virtual #t - :enter - (behavior () + :enter (behavior () (init! (-> self query) (lookup-text! *common-text* (game-text-id confirm-play) #f) @@ -601,10 +555,8 @@ ) (none) ) - :exit - process-taskable-play-anim-exit - :trans - (behavior () + :exit process-taskable-play-anim-exit + :trans (behavior () (case (current-status (-> self tasks)) (((task-status need-reminder-a)) (case (get-response (-> self query)) @@ -635,16 +587,13 @@ ((-> self cur-trans-hook)) (none) ) - :code - process-taskable-anim-loop - :post - (the-as (function none :behavior process-taskable) ja-post) + :code process-taskable-anim-loop + :post (the-as (function none :behavior process-taskable) ja-post) ) (defstate play-anim (process-taskable) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('shadow) (cond @@ -672,12 +621,9 @@ ) ) ) - :enter - (the-as (function none :behavior process-taskable) process-taskable-play-anim-enter) - :exit - process-taskable-play-anim-exit - :trans - (behavior () + :enter (the-as (function none :behavior process-taskable) process-taskable-play-anim-enter) + :exit process-taskable-play-anim-exit + :trans (behavior () (process-taskable-play-anim-trans) (let ((a3-0 (handle->process (-> self cell-x)))) (if a3-0 @@ -687,14 +633,12 @@ ((-> self cur-trans-hook)) (none) ) - :code - (behavior () + :code (behavior () (process-taskable-play-anim-code (the-as art-joint-anim (get-art-elem self)) (play-anim! self #t)) (dummy-38 self) (none) ) - :post - (the-as (function none :behavior process-taskable) ja-post) + :post (the-as (function none :behavior process-taskable) ja-post) ) (defbehavior process-taskable-clean-up-after-talking process-taskable () @@ -759,20 +703,16 @@ (defstate hidden (process-taskable) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior process-taskable) process-taskable-hide-handler ) - :enter - (the-as (function none :behavior process-taskable) process-taskable-hide-enter) - :exit - (behavior () + :enter (the-as (function none :behavior process-taskable) process-taskable-hide-enter) + :exit (behavior () (process-taskable-hide-exit (= (-> self next-state name) 'hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) (process-entity-status! self (entity-perm-status bit-3) #f) ) @@ -781,8 +721,7 @@ ) (none) ) - :code - (the-as (function none :behavior process-taskable) anim-loop) + :code (the-as (function none :behavior process-taskable) anim-loop) ) ;; WARN: disable def twice: 4. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. @@ -799,20 +738,16 @@ (defstate hidden-other (process-taskable) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior process-taskable) process-taskable-hide-handler ) - :enter - (the-as (function none :behavior process-taskable) process-taskable-hide-enter) - :exit - (behavior () + :enter (the-as (function none :behavior process-taskable) process-taskable-hide-enter) + :exit (behavior () (process-taskable-hide-exit (= (-> self next-state name) 'hidden-other)) (none) ) - :trans - (behavior () + :trans (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) (process-entity-status! self (entity-perm-status bit-3) #f) ) @@ -829,14 +764,12 @@ ) (none) ) - :code - (the-as (function none :behavior process-taskable) anim-loop) + :code (the-as (function none :behavior process-taskable) anim-loop) ) (defstate be-clone (process-taskable) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as shadow-geo (cond ((= v1-0 'shadow) @@ -875,15 +808,13 @@ ) ) ) - :enter - (behavior ((arg0 handle)) + :enter (behavior ((arg0 handle)) (logior! (-> self skel status) (janim-status blerc)) (logclear! (-> self mask) (process-mask actor-pause)) (set-vector! (-> self draw bounds) 0.0 (-> self draw-bounds-y-offset) 0.0 (-> self draw bounds w)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self skel status) (janim-status blerc spool)) (logior! (-> self mask) (process-mask actor-pause)) (let ((v1-6 (-> self entity extra trans))) @@ -894,14 +825,12 @@ (ja-channel-set! 0) (none) ) - :trans - (behavior () + :trans (behavior () (draw-npc-shadow self) ((-> self cur-trans-hook)) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (clone-anim arg0 (-> self center-joint-index) #t "") (format #t "ERROR: handle invalid while ~S is cloning~%" (-> self name)) (go-virtual hidden) @@ -915,63 +844,56 @@ (defstate idle (process-taskable) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'attack) - (the-as symbol (when (-> self bounce-away) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'shove) - (set! (-> a1-3 param 0) (the-as uint #f)) - (let ((v1-4 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-4 shove-back) 12288.0) - (set! (-> v1-4 shove-up) 4096.0) - (set! (-> a1-3 param 1) (the-as uint v1-4)) - ) - (the-as symbol (send-event-function arg0 a1-3)) - ) - ) - ) - ) - ((= v1-0 'touch) - (the-as symbol (send-shove-back - (-> self root-override) - arg0 - (the-as touching-shapes-entry (-> arg3 param 0)) - 0.7 - 6144.0 - 16384.0 - ) - ) - ) - ((= v1-0 'clone) - (the-as symbol (go-virtual be-clone (the-as handle (-> arg3 param 0)))) - ) - ((= v1-0 'play-anim) - (logclear! (-> self mask) (process-mask actor-pause)) - (let ((v0-0 #t)) - (set! (-> self been-kicked) v0-0) - v0-0 - ) - ) - ((= v1-0 'hidden-other) - (the-as symbol (go-virtual hidden-other)) - ) - ) - ) + (the-as + object + (cond + ((= v1-0 'attack) + (the-as + symbol + (if (-> self bounce-away) + (the-as + symbol + (send-event arg0 'shove #f (static-attack-info ((shove-back (meters 3)) (shove-up (meters 1))))) + ) + ) + ) + ) + ((= v1-0 'touch) + (the-as symbol (send-shove-back + (-> self root-override) + arg0 + (the-as touching-shapes-entry (-> arg3 param 0)) + 0.7 + 6144.0 + 16384.0 + ) + ) + ) + ((= v1-0 'clone) + (the-as symbol (go-virtual be-clone (the-as handle (-> arg3 param 0)))) + ) + ((= v1-0 'play-anim) + (logclear! (-> self mask) (process-mask actor-pause)) + (let ((v0-0 #t)) + (set! (-> self been-kicked) v0-0) + v0-0 + ) + ) + ((= v1-0 'hidden-other) + (the-as symbol (go-virtual hidden-other)) + ) + ) + ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (process-taskable-clean-up-after-talking) (none) ) - :exit - (behavior () + :exit (behavior () (cond ((or (= (-> self next-state name) 'dead-state) (= (-> self next-state name) 'idle)) (process-entity-status! self (entity-perm-status bit-3) #f) @@ -988,8 +910,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.2)) (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) @@ -1077,10 +998,8 @@ ((-> self cur-trans-hook)) (none) ) - :code - process-taskable-anim-loop - :post - (behavior () + :code process-taskable-anim-loop + :post (behavior () (when *target* (when (!= (-> self neck-joint-index) -1) (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -1216,8 +1135,7 @@ ) (defstate othercam-running (othercam) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) (case arg2 (('die) @@ -1260,8 +1178,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (hide-hud-quick) (case (-> self spooling?) (('logo) @@ -1287,14 +1204,12 @@ (copy-settings-from-target! *setting-control*) (none) ) - :exit - (behavior () + :exit (behavior () (clear-pending-settings-from-process *setting-control* self 'process-mask) (copy-settings-from-target! *setting-control*) (none) ) - :code - (behavior () + :code (behavior () (loop (let ((s2-0 (-> self hand process 0))) (when (not s2-0) diff --git a/goal_src/engine/game/task/task-control.gc b/goal_src/engine/game/task/task-control.gc index fe06c4b727..0f22d6ff69 100644 --- a/goal_src/engine/game/task/task-control.gc +++ b/goal_src/engine/game/task/task-control.gc @@ -298,45 +298,30 @@ (define *assistant-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 12 :allocated-length 12 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task jungle-eggtop) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-eggtop) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-bike) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) (or (closed? arg0 (game-task jungle-eggtop) (task-status need-reminder)) (and (closed? arg0 (game-task jungle-eggtop) (task-status need-introduction)) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'pickup)) - (set! (-> a1-2 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-2))) (+ (get-reminder arg0 1) 3)) - ) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) + ) ) ) ) @@ -344,21 +329,14 @@ (new 'static 'task-cstage :game-task (game-task misty-bike) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) (or (closed? arg0 (game-task jungle-eggtop) (task-status need-reminder)) (and (closed? arg0 (game-task jungle-eggtop) (task-status need-introduction)) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'pickup)) - (set! (-> a1-2 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-2))) (+ (get-reminder arg0 1) 3)) - ) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) + ) ) ) ) @@ -367,34 +345,29 @@ :game-task (game-task jungle-eggtop) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-bike) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-bike) :status (task-status need-reminder-a) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-bike) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :status (task-status unknown) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (task-closed? (game-task village4-button) (task-status need-reward-speech)) ) @@ -402,22 +375,19 @@ (new 'static 'task-cstage :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-eggtop) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-bike) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -426,216 +396,144 @@ (define *assistant-village2-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 22 :allocated-length 22 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village2-levitator) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-levitator) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-levitator) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-levitator) :status (task-status need-reminder-a) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-levitator) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-0))) 45) - ) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 45) ) ) (new 'static 'task-cstage :game-task (game-task sunken-room) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-room) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-flutflut) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (and (task-closed? (game-task beach-flutflut) (task-status need-reminder)) - (or (closed? arg0 (game-task sunken-room) (task-status need-reminder)) - (and (closed? arg0 (game-task sunken-room) (task-status need-introduction)) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) pp) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'query) - (set! (-> a1-4 param 0) (the-as uint 'pickup)) - (set! (-> a1-4 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-4))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (and (task-closed? (game-task beach-flutflut) (task-status need-reminder)) + (or (closed? arg0 (game-task sunken-room) (task-status need-reminder)) + (and (closed? arg0 (game-task sunken-room) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) - ) + ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task swamp-flutflut) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (and (task-closed? (game-task beach-flutflut) (task-status need-reminder)) - (or (closed? arg0 (game-task sunken-room) (task-status need-reminder)) - (and (closed? arg0 (game-task sunken-room) (task-status need-introduction)) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) pp) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'query) - (set! (-> a1-4 param 0) (the-as uint 'pickup)) - (set! (-> a1-4 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-4))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (and (task-closed? (game-task beach-flutflut) (task-status need-reminder)) + (or (closed? arg0 (game-task sunken-room) (task-status need-reminder)) + (and (closed? arg0 (game-task sunken-room) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) - ) + ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task rolling-robbers) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (if (task-closed? (game-task beach-flutflut) (task-status need-reminder)) - (or (closed? arg0 (game-task swamp-flutflut) (task-status need-reminder)) - (and (closed? arg0 (game-task swamp-flutflut) (task-status need-introduction)) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) pp) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'query) - (set! (-> a1-4 param 0) (the-as uint 'pickup)) - (set! (-> a1-4 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-4))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (if (task-closed? (game-task beach-flutflut) (task-status need-reminder)) + (or (closed? arg0 (game-task swamp-flutflut) (task-status need-reminder)) + (and (closed? arg0 (game-task swamp-flutflut) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - (or (closed? arg0 (game-task sunken-room) (task-status need-reminder)) - (and (closed? arg0 (game-task sunken-room) (task-status need-introduction)) - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) pp) - (set! (-> a1-8 num-params) 2) - (set! (-> a1-8 message) 'query) - (set! (-> a1-8 param 0) (the-as uint 'pickup)) - (set! (-> a1-8 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-8))) (+ (get-reminder arg0 1) 3)) + ) + ) + (or (closed? arg0 (game-task sunken-room) (task-status need-reminder)) + (and (closed? arg0 (game-task sunken-room) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) - ) + ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task rolling-robbers) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (if (task-closed? (game-task beach-flutflut) (task-status need-reminder)) - (or (closed? arg0 (game-task swamp-flutflut) (task-status need-reminder)) - (and (closed? arg0 (game-task swamp-flutflut) (task-status need-introduction)) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) pp) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'query) - (set! (-> a1-4 param 0) (the-as uint 'pickup)) - (set! (-> a1-4 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-4))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (if (task-closed? (game-task beach-flutflut) (task-status need-reminder)) + (or (closed? arg0 (game-task swamp-flutflut) (task-status need-reminder)) + (and (closed? arg0 (game-task swamp-flutflut) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - (or (closed? arg0 (game-task sunken-room) (task-status need-reminder)) - (and (closed? arg0 (game-task sunken-room) (task-status need-introduction)) - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) pp) - (set! (-> a1-8 num-params) 2) - (set! (-> a1-8 message) 'query) - (set! (-> a1-8 param 0) (the-as uint 'pickup)) - (set! (-> a1-8 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-8))) (+ (get-reminder arg0 1) 3)) + ) + ) + (or (closed? arg0 (game-task sunken-room) (task-status need-reminder)) + (and (closed? arg0 (game-task sunken-room) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) - ) + ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task sunken-room) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-room) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-flutflut) :status (task-status unknown) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (task-closed? (game-task beach-flutflut) (task-status need-reminder)) ) @@ -644,8 +542,7 @@ :game-task (game-task swamp-flutflut) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (task-closed? (game-task beach-flutflut) (task-status need-reminder)) ) @@ -653,48 +550,41 @@ (new 'static 'task-cstage :game-task (game-task rolling-robbers) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-robbers) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-room) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-robbers) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-flutflut) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-levitator) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -703,49 +593,36 @@ (define *gambler-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task rolling-race) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-race) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-gambler-money) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-gambler-money) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-race) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task rolling-race) (task-status need-reward-speech)) ) ) @@ -753,8 +630,7 @@ :game-task (game-task village2-gambler-money) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task village2-gambler-money) (task-status need-reward-speech)) ) ) @@ -762,8 +638,7 @@ :game-task (game-task rolling-race) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task rolling-race) (task-status need-reminder)) ) ) @@ -771,22 +646,12 @@ :game-task (game-task village2-gambler-money) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -795,16 +660,14 @@ :game-task (game-task rolling-race) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task rolling-race) (task-status need-introduction)) ) ) (new 'static 'task-cstage :game-task (game-task village2-gambler-money) :status (task-status need-reminder) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task rolling-race) (task-status need-introduction)) ) ) @@ -815,49 +678,36 @@ (define *geologist-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task rolling-moles) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-moles) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-geologist-money) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-geologist-money) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-moles) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task rolling-moles) (task-status need-reward-speech)) ) ) @@ -865,8 +715,7 @@ :game-task (game-task village2-geologist-money) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task village2-geologist-money) (task-status need-reward-speech)) ) ) @@ -874,8 +723,7 @@ :game-task (game-task rolling-moles) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task rolling-moles) (task-status need-reminder)) ) ) @@ -883,22 +731,12 @@ :game-task (game-task village2-geologist-money) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -907,16 +745,14 @@ :game-task (game-task rolling-moles) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task rolling-moles) (task-status need-introduction)) ) ) (new 'static 'task-cstage :game-task (game-task village2-geologist-money) :status (task-status need-reminder) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task rolling-moles) (task-status need-introduction)) ) ) @@ -927,49 +763,36 @@ (define *mayor-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 11 :allocated-length 11 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task jungle-lurkerm) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-lurkerm) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-mayor-money) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-mayor-money) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-lurkerm) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task jungle-lurkerm) (task-status need-reward-speech)) ) ) @@ -977,8 +800,7 @@ :game-task (game-task village1-mayor-money) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task village1-mayor-money) (task-status need-reward-speech)) ) ) @@ -986,8 +808,7 @@ :game-task (game-task jungle-lurkerm) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task jungle-lurkerm) (task-status need-reminder)) ) ) @@ -995,22 +816,12 @@ :game-task (game-task village1-mayor-money) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -1019,8 +830,7 @@ :game-task (game-task jungle-lurkerm) :status (task-status need-reminder-a) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task jungle-lurkerm) (task-status need-introduction)) ) ) @@ -1028,16 +838,14 @@ :game-task (game-task jungle-lurkerm) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task jungle-lurkerm) (task-status need-introduction)) ) ) (new 'static 'task-cstage :game-task (game-task village1-mayor-money) :status (task-status need-reminder) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task jungle-lurkerm) (task-status need-introduction)) ) ) @@ -1048,119 +856,86 @@ (define *sage-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 14 :allocated-length 14 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task intro) :status (task-status need-introduction) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task intro) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task intro) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-ecorocks) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-ecorocks) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-cannon) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task beach-ecorocks) (task-status need-reminder)) - (and (closed? arg0 (game-task beach-ecorocks) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task beach-ecorocks) (task-status need-reminder)) + (and (closed? arg0 (game-task beach-ecorocks) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task misty-cannon) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task beach-ecorocks) (task-status need-reminder)) - (and (closed? arg0 (game-task beach-ecorocks) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task beach-ecorocks) (task-status need-reminder)) + (and (closed? arg0 (game-task beach-ecorocks) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task beach-ecorocks) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-cannon) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-cannon) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :status (task-status unknown) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (task-closed? (game-task village4-button) (task-status need-reward-speech)) ) @@ -1168,22 +943,19 @@ (new 'static 'task-cstage :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-ecorocks) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-cannon) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -1192,111 +964,79 @@ (define *sage-bluehut-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task rolling-plants) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-plants) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-arm) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task rolling-plants) (task-status need-reminder)) - (and (closed? arg0 (game-task rolling-plants) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task rolling-plants) (task-status need-reminder)) + (and (closed? arg0 (game-task rolling-plants) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task swamp-arm) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task rolling-plants) (task-status need-reminder)) - (and (closed? arg0 (game-task rolling-plants) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task rolling-plants) (task-status need-reminder)) + (and (closed? arg0 (game-task rolling-plants) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task rolling-plants) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-arm) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-arm) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-plants) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-arm) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -1305,63 +1045,41 @@ (define *oracle-village1-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village1-oracle-money1) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-oracle-money1) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-oracle-money2) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-oracle-money2) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-oracle-money1) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-oracle-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc)) ) ) ) @@ -1369,36 +1087,24 @@ (new 'static 'task-cstage :game-task (game-task village1-oracle-money1) :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-oracle-money1) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-oracle-money2) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-oracle-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc)) ) ) ) @@ -1406,15 +1112,13 @@ (new 'static 'task-cstage :game-task (game-task village1-oracle-money2) :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-oracle-money2) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -1423,63 +1127,41 @@ (define *oracle-village2-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village2-oracle-money1) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-oracle-money1) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-oracle-money2) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-oracle-money2) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-oracle-money1) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-oracle-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc)) ) ) ) @@ -1487,36 +1169,24 @@ (new 'static 'task-cstage :game-task (game-task village2-oracle-money1) :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-oracle-money1) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-oracle-money2) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-oracle-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc)) ) ) ) @@ -1524,15 +1194,13 @@ (new 'static 'task-cstage :game-task (game-task village2-oracle-money2) :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-oracle-money2) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -1541,63 +1209,41 @@ (define *oracle-village3-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village3-oracle-money1) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-oracle-money1) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-oracle-money2) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-oracle-money2) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-oracle-money1) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-oracle-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc)) ) ) ) @@ -1605,36 +1251,24 @@ (new 'static 'task-cstage :game-task (game-task village3-oracle-money1) :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-oracle-money1) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-oracle-money2) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-oracle-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc)) ) ) ) @@ -1642,15 +1276,13 @@ (new 'static 'task-cstage :game-task (game-task village3-oracle-money2) :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-oracle-money2) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -1659,95 +1291,65 @@ (define *miners-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 35 :allocated-length 35 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village3-miner-money1) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money1) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money2) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money2) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money3) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money3) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money4) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money4) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money1) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -1756,22 +1358,12 @@ :game-task (game-task village3-miner-money2) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -1780,22 +1372,12 @@ :game-task (game-task village3-miner-money3) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -1804,22 +1386,12 @@ :game-task (game-task village3-miner-money4) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -1827,219 +1399,164 @@ (new 'static 'task-cstage :game-task (game-task cave-gnawers) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task village3-miner-money4) (task-status need-reminder)) - (and (closed? arg0 (game-task village3-miner-money4) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task village3-miner-money4) (task-status need-reminder)) + (and (closed? arg0 (game-task village3-miner-money4) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task cave-gnawers) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task village3-miner-money4) (task-status need-reminder)) - (and (closed? arg0 (game-task village3-miner-money4) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task village3-miner-money4) (task-status need-reminder)) + (and (closed? arg0 (game-task village3-miner-money4) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task snow-eggtop) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task cave-gnawers) (task-status need-reminder)) - (and (closed? arg0 (game-task cave-gnawers) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task cave-gnawers) (task-status need-reminder)) + (and (closed? arg0 (game-task cave-gnawers) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task snow-eggtop) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task cave-gnawers) (task-status need-reminder)) - (and (closed? arg0 (game-task cave-gnawers) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task cave-gnawers) (task-status need-reminder)) + (and (closed? arg0 (game-task cave-gnawers) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money1) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money1) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money2) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money2) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money3) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money3) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money4) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money4) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-gnawers) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-gnawers) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-eggtop) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-eggtop) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money1) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money2) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money3) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money4) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-gnawers) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-eggtop) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -2048,140 +1565,102 @@ (define *sage-villagec-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 14 :allocated-length 14 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village3-button) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-button) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-button) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-dark-crystals) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-dark-crystals) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-ram) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task cave-dark-crystals) (task-status need-reminder)) - (and (closed? arg0 (game-task cave-dark-crystals) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task cave-dark-crystals) (task-status need-reminder)) + (and (closed? arg0 (game-task cave-dark-crystals) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task snow-ram) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task cave-dark-crystals) (task-status need-reminder)) - (and (closed? arg0 (game-task cave-dark-crystals) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task cave-dark-crystals) (task-status need-reminder)) + (and (closed? arg0 (game-task cave-dark-crystals) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task cave-dark-crystals) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-ram) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-ram) :status (task-status need-reminder-a) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-ram) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-dark-crystals) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-ram) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -2189,25 +1668,18 @@ (define *citb-greensage-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task citadel-sage-green) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task citadel-sage-green) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -2215,25 +1687,18 @@ (define *citb-bluesage-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task citadel-sage-blue) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task citadel-sage-blue) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -2241,25 +1706,18 @@ (define *citb-redsage-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task citadel-sage-red) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task citadel-sage-red) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -2267,25 +1725,18 @@ (define *citb-yellowsage-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task citadel-sage-yellow) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task citadel-sage-yellow) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -2293,358 +1744,262 @@ (define *task-controls* (the-as (array task-control) - (new - 'static - 'boxed-array - :type basic :length 116 :allocated-length 116 + (new 'static 'boxed-array :type basic '*null-task-control* '*null-task-control* '*assistant-tasks* '*mayor-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task jungle-tower) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-tower) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-tower) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-tower) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 7 :allocated-length 7 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task jungle-fishgame) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-fishgame) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-fishgame) :status (task-status need-reminder-a) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-fishgame) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-fishgame) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-fishgame) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task jungle-plant) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-plant) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-plant) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-plant) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task jungle-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task jungle-canyon-end) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-canyon-end) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-canyon-end) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-canyon-end) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task jungle-temple-door) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-temple-door) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-temple-door) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-temple-door) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village1-yakow) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-yakow) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-yakow) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-yakow) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-yakow) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) '*mayor-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village1-uncle-money) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-uncle-money) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-uncle-money) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -2652,15 +2007,13 @@ (new 'static 'task-cstage :game-task (game-task village1-uncle-money) :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-uncle-money) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -2669,405 +2022,303 @@ '*sage-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task beach-pelican) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-pelican) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-pelican) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-pelican) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task beach-flutflut) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-flutflut) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-flutflut) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-flutflut) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-flutflut) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task beach-seagull) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-seagull) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-seagull) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-seagull) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task beach-cannon) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-cannon) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-cannon) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-cannon) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task beach-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task beach-gimmie) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-gimmie) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-gimmie) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-gimmie) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task beach-sentinel) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-sentinel) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-sentinel) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-sentinel) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task misty-muse) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-muse) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-muse) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-muse) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-muse) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task misty-boat) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-boat) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-boat) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-boat) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task misty-warehouse) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-warehouse) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-warehouse) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-warehouse) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -3075,118 +2326,88 @@ '*assistant-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task misty-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task misty-bike-jump) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-bike-jump) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-bike-jump) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-bike-jump) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task misty-eco-challenge) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-eco-challenge) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-eco-challenge) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-eco-challenge) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -3194,18 +2415,12 @@ '*geologist-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village2-warrior-money) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) (and (not (task-closed? (game-task ogre-boss) (task-status need-reminder))) (not (task-closed? (game-task village2-levitator) (task-status need-reward-speech))) @@ -3215,10 +2430,8 @@ (new 'static 'task-cstage :game-task (game-task village2-warrior-money) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) (and (not (task-closed? (game-task ogre-boss) (task-status need-reminder))) (not (task-closed? (game-task village2-levitator) (task-status need-reward-speech))) @@ -3229,22 +2442,12 @@ :game-task (game-task village2-warrior-money) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -3252,15 +2455,13 @@ (new 'static 'task-cstage :game-task (game-task village2-warrior-money) :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-warrior-money) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -3268,564 +2469,421 @@ '*oracle-village2-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 6 :allocated-length 6 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task swamp-billy) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-billy) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-billy) :status (task-status need-reminder-a) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-billy) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-billy) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-billy) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) '*assistant-village2-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task swamp-battle) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-battle) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-battle) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-battle) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task swamp-tether-1) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-1) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-1) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-1) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task swamp-tether-2) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-2) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-2) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-2) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task swamp-tether-3) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-3) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-3) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-3) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task swamp-tether-4) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-4) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-4) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-4) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task swamp-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task sunken-platforms) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-platforms) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-platforms) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-platforms) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task sunken-pipe) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-pipe) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-pipe) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-pipe) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task sunken-slide) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-slide) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-slide) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-slide) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) '*assistant-village2-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task sunken-sharks) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-sharks) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-sharks) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-sharks) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task sunken-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task sunken-top-of-helix) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-top-of-helix) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-top-of-helix) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-top-of-helix) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task sunken-spinning-room) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-spinning-room) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-spinning-room) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-spinning-room) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -3835,157 +2893,117 @@ '*sage-bluehut-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task rolling-lake) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-lake) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-lake) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-lake) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task rolling-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task rolling-ring-chase-1) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-ring-chase-1) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-ring-chase-1) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-ring-chase-1) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task rolling-ring-chase-2) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-ring-chase-2) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-ring-chase-2) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-ring-chase-2) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -3993,313 +3011,233 @@ '*sage-villagec-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task snow-fort) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-fort) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-fort) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-fort) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task snow-ball) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-ball) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-ball) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-ball) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task snow-bunnies) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-bunnies) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-bunnies) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-bunnies) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task snow-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task snow-bumpers) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-bumpers) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-bumpers) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-bumpers) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task snow-cage) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-cage) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-cage) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-cage) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task firecanyon-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task firecanyon-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task firecanyon-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task firecanyon-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task firecanyon-end) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task firecanyon-end) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task firecanyon-end) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task firecanyon-end) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -4309,157 +3247,117 @@ '*citb-yellowsage-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village3-extra1) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-extra1) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-extra1) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-extra1) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village1-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village2-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village3-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -4467,625 +3365,465 @@ '*sage-villagec-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task cave-dark-climb) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-dark-climb) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-dark-climb) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-dark-climb) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task cave-robot-climb) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-robot-climb) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-robot-climb) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-robot-climb) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task cave-swing-poles) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-swing-poles) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-swing-poles) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-swing-poles) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task cave-spider-tunnel) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-spider-tunnel) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-spider-tunnel) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-spider-tunnel) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task cave-platforms) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-platforms) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-platforms) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-platforms) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task cave-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task ogre-boss) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-boss) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-boss) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-boss) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task ogre-end) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-end) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-end) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-end) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task ogre-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task lavatube-end) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-end) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-end) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-end) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task lavatube-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task citadel-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task citadel-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task citadel-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task citadel-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task training-gimmie) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-gimmie) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-gimmie) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-gimmie) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task training-door) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-door) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-door) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-door) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task training-climb) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-climb) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-climb) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-climb) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task training-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -5097,33 +3835,20 @@ '*oracle-village3-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task firecanyon-assistant) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-0))) 20) - ) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 20) ) ) (new 'static 'task-cstage :game-task (game-task firecanyon-assistant) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -5132,290 +3857,209 @@ '*sage-villagec-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task red-eggtop) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task red-eggtop) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task red-eggtop) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task red-eggtop) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task lavatube-balls) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-balls) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-balls) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-balls) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task lavatube-start) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-0))) 72) - ) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 72) ) ) (new 'static 'task-cstage :game-task (game-task lavatube-start) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) '*sage-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task ogre-secret) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-secret) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-secret) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-secret) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 3 :allocated-length 3 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village4-button) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village4-button) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village4-button) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task finalboss-movies) :status (task-status unknown) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task finalboss-movies) :status (task-status need-introduction) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task finalboss-movies) :status (task-status need-reminder-a) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task finalboss-movies) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task finalboss-movies) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task plunger-lurker-hit) :status (task-status unknown) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task plunger-lurker-hit) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task leaving-misty) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task leaving-misty) :status (task-status need-reminder) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :status (task-status unknown) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (task-closed? (game-task village4-button) (task-status need-reward-speech)) ) @@ -5423,8 +4067,7 @@ (new 'static 'task-cstage :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) diff --git a/goal_src/engine/game/voicebox.gc b/goal_src/engine/game/voicebox.gc index 51074fc0e6..a59cb77847 100644 --- a/goal_src/engine/game/voicebox.gc +++ b/goal_src/engine/game/voicebox.gc @@ -9,6 +9,7 @@ ;; DECOMP BEGINS + (import "goal_src/import/speaker-ag.gc") (deftype camera-voicebox (camera-slave) @@ -44,8 +45,7 @@ (defstate empty-state (process) - :code - (the-as (function none :behavior process) nothing) + :code (the-as (function none :behavior process) nothing) ) (defskelgroup *voicebox-sg* speaker speaker-lod0-jg speaker-idle-ja @@ -116,24 +116,21 @@ (defstate enter (voicebox) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('die) (go-virtual exit) ) ) ) - :trans - (behavior () + :trans (behavior () (voicebox-track) (if (< 0.1 (-> self blend)) (point-toward-point-clear-roll-pitch! (-> self root) (target-pos 0)) ) (none) ) - :code - (behavior () + :code (behavior () (set-setting! *setting-control* self 'sound-flava #f 20.0 6) (if (and *target* (logtest? (-> *target* control root-prim prim-core action) (collide-action ca-9))) (send-event @@ -160,34 +157,27 @@ (go-virtual idle) (none) ) - :post - (the-as (function none :behavior voicebox) ja-post) + :post (the-as (function none :behavior voicebox) ja-post) ) (defstate idle (voicebox) :virtual #t - :event - (-> (method-of-type voicebox enter) event) - :trans - voicebox-track - :code - (behavior () + :event (-> (method-of-type voicebox enter) event) + :trans voicebox-track + :code (behavior () (loop (suspend) (ja :num! (loop!)) ) (none) ) - :post - (the-as (function none :behavior voicebox) ja-post) + :post (the-as (function none :behavior voicebox) ja-post) ) (defstate exit (voicebox) :virtual #t - :trans - voicebox-track - :code - (behavior () + :trans voicebox-track + :code (behavior () (clear-pending-settings-from-process *setting-control* self 'sound-flava) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self seeker target) 1.0) @@ -208,8 +198,7 @@ 0 (none) ) - :post - (the-as (function none :behavior voicebox) ja-post) + :post (the-as (function none :behavior voicebox) ja-post) ) (defbehavior voicebox-init-by-other voicebox ((arg0 vector) (arg1 handle)) @@ -224,44 +213,24 @@ ) (defstate cam-voicebox (camera-voicebox) - :event - (-> cam-string event) - :enter - (-> cam-string enter) - :trans - (behavior () + :event (-> cam-string event) + :enter (-> cam-string enter) + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (deactivate self) ) (none) ) - :code - (-> cam-string code) + :code (-> cam-string code) ) (defun voicebox-spawn ((arg0 process) (arg1 vector)) (with-pp - (let* ((s3-0 (get-process *camera-dead-pool* camera-voicebox #x4000)) - (s4-0 (when s3-0 - (let ((t9-1 (method-of-type camera-voicebox activate))) - (t9-1 (the-as camera-voicebox s3-0) arg0 'camera-voicebox (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 cam-slave-init cam-voicebox #f) - (-> s3-0 ppointer) - ) - ) - ) - (when s4-0 - (let ((s5-1 (get-process *default-dead-pool* voicebox #x4000))) - (when s5-1 - (let ((t9-4 (method-of-type voicebox activate))) - (t9-4 (the-as voicebox s5-1) (ppointer->process s4-0) 'voicebox (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 voicebox-init-by-other arg1 (process->handle pp)) - (-> s5-1 ppointer) - ) + (let ((s4-0 (process-spawn camera-voicebox :init cam-slave-init cam-voicebox #f :from *camera-dead-pool* :to arg0)) + ) + (if s4-0 + (process-spawn voicebox arg1 (process->handle pp) :to (ppointer->process s4-0)) ) - ) ) ) ) diff --git a/goal_src/engine/gfx/depth-cue.gc b/goal_src/engine/gfx/depth-cue.gc index a52450a98b..0625dfecc4 100644 --- a/goal_src/engine/gfx/depth-cue.gc +++ b/goal_src/engine/gfx/depth-cue.gc @@ -9,50 +9,31 @@ (define *depth-cue-work* (new 'static 'depth-cue-work - :texture-strip-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + :texture-strip-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x50ab400000008001 #x43431) + :gif (new 'static 'array uint64 2 #x50ab400000008001 #x43431) ) - :temp-strip-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + :temp-strip-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x508b400000008001 #x43431) + :gif (new 'static 'array uint64 2 #x508b400000008001 #x43431) ) - :stencil-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x17 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x17 :cmd (vif-cmd direct) :msk #x1) + :stencil-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x17 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x17 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #xb003400000008002 #x44444444441) + :gif (new 'static 'array uint64 2 #xb003400000008002 #x44444444441) ) - :set-color - (new 'static 'vector4w :x #x80 :y #x80 :z #x80 :w #x80) - :draw-color - (new 'static 'vector4w :x #x84 :y #x84 :z #x84 :w #x80) - :depth - (new 'static 'depth-cue-data :data (new 'static 'vector :x 1.0 :z 163840.0)) - :front - (new 'static 'depth-cue-data :data (new 'static 'vector :x 0.999 :y 0.4 :z 4096.0 :w 1.0)) + :set-color (new 'static 'vector4w :x #x80 :y #x80 :z #x80 :w #x80) + :draw-color (new 'static 'vector4w :x #x84 :y #x84 :z #x84 :w #x80) + :depth (new 'static 'depth-cue-data :data (new 'static 'vector :x 1.0 :z 163840.0)) + :front (new 'static 'depth-cue-data :data (new 'static 'vector :x 0.999 :y 0.4 :z 4096.0 :w 1.0)) ) ) diff --git a/goal_src/engine/gfx/eye.gc b/goal_src/engine/gfx/eye.gc index f87038c67e..a331dad64a 100644 --- a/goal_src/engine/gfx/eye.gc +++ b/goal_src/engine/gfx/eye.gc @@ -7,64 +7,36 @@ ;; DECOMP BEGINS -(define *eye-work* - (new 'static 'eye-work - :sprite-tmpl - (new 'static 'dma-gif-packet - :dma-vif (new 'static 'dma-packet - :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) - ) - :gif0 (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :pre #x1 - :prim (new 'static 'gs-prim :prim (gs-prim-type sprite) :tme #x1 :fst #x1) - :nreg #x5 - ) - :gif1 (new 'static 'gif-tag-regs - :regs0 (gif-reg-id rgbaq) - :regs1 (gif-reg-id uv) - :regs2 (gif-reg-id xyz2) - :regs3 (gif-reg-id uv) - :regs4 (gif-reg-id xyz2) - ) - ) - :sprite-tmpl2 - (new 'static 'dma-gif-packet - :dma-vif (new 'static 'dma-packet - :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) - ) - :gif0 (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :pre #x1 - :prim (new 'static 'gs-prim :prim (gs-prim-type sprite) :tme #x1 :abe #x1 :fst #x1) - :nreg #x5 - ) - :gif1 (new 'static 'gif-tag-regs - :regs0 (gif-reg-id rgbaq) - :regs1 (gif-reg-id uv) - :regs2 (gif-reg-id xyz2) - :regs3 (gif-reg-id uv) - :regs4 (gif-reg-id xyz2) - ) - ) - :adgif-tmpl - (new 'static 'dma-gif-packet - :dma-vif (new 'static 'dma-packet - :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) - ) - :gif0 (new 'static 'gif-tag64 :nloop #x5 :eop #x1 :nreg #x1) - :gif1 (new 'static 'gif-tag-regs :regs0 (gif-reg-id a+d)) - ) - :blink-table - (new 'static 'array float 10 0.0 0.667 0.9 1.0 1.0 1.0 1.0 0.333 0.1 0.0) - ) +(define *eye-work* (new 'static 'eye-work + :sprite-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + ) + :gif (new 'static 'array uint64 2 #x508b400000008001 #x53531) + ) + :sprite-tmpl2 (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + ) + :gif (new 'static 'array uint64 2 #x50ab400000008001 #x53531) + ) + :adgif-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + ) + :gif (new 'static 'array uint64 2 #x1000000000008005 #xe) + ) + :blink-table (new 'static 'array float 10 0.0 0.667 0.9 1.0 1.0 1.0 1.0 0.333 0.1 0.0) + ) ) +;; WARN: Stack slot offset 16 signed mismatch +;; WARN: Stack slot offset 16 signed mismatch +;; WARN: Stack slot offset 16 signed mismatch +;; WARN: Stack slot offset 16 signed mismatch (defun render-eyes ((arg0 dma-buffer) (arg1 eye-control) (arg2 int)) (local-vars (sv-16 float)) (let ((s4-0 32) @@ -201,7 +173,6 @@ (a3-9 (the int (+ f28-0 f0-6))) (t1-0 (the int (+ f26-0 f0-6))) ) - ;; (format 0 "eye: ~f ~f~%" f28-0 f26-0) (set! (-> a1-25 0 quad) (-> *eye-work* sprite-tmpl dma-vif quad)) (set! (-> a1-25 1 quad) (-> *eye-work* sprite-tmpl quad 1)) (set-vector! (-> a1-25 2) 128 128 128 128) @@ -1115,7 +1086,6 @@ (none) ) -;; definition for function get-eye-block (defun get-eye-block ((arg0 int) (arg1 int)) (#when PC_PORT ;; hack to make this easier to figure out on the PC side. @@ -1128,7 +1098,6 @@ ) ) -;; definition for function convert-eye-data (defun convert-eye-data ((arg0 eye) (arg1 uint)) (local-vars (v0-0 float) @@ -1159,9 +1128,7 @@ ) ) -;; definition for function merc-eye-anim -;; INFO: Return type mismatch int vs none. -(defun merc-eye-anim ((arg0 manipy)) +(defun merc-eye-anim ((arg0 process-drawable)) (let* ((s5-0 (-> arg0 draw mgeo header eye-ctrl)) (a0-1 (-> arg0 skel root-channel 0)) (s4-0 (-> a0-1 frame-group)) diff --git a/goal_src/engine/gfx/merc/merc-death.gc b/goal_src/engine/gfx/merc/merc-death.gc index e5b765965d..4d9a809f5b 100644 --- a/goal_src/engine/gfx/merc/merc-death.gc +++ b/goal_src/engine/gfx/merc/merc-death.gc @@ -48,8 +48,7 @@ ) (defpart 41 - :init-specs - ((sp-flt spt-scale-x (meters 0.5)) + :init-specs ((sp-flt spt-scale-x (meters 0.5)) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 64.0 32.0 1.0) (sp-rnd-flt spt-g 16.0 32.0 1.0) @@ -67,8 +66,7 @@ ) (defpart 42 - :init-specs - ((sp-flt spt-fade-a -1.4222223) + :init-specs ((sp-flt spt-fade-a -1.4222223) (sp-int spt-timer 45) (sp-int spt-next-time 42) (sp-launcher-by-id spt-next-launcher 43) @@ -76,8 +74,7 @@ ) (defpart 43 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) (sp-flt spt-fade-a -0.21333334) (sp-int-plain-rnd spt-timer 0 296 1)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-flt spt-fade-a -0.21333334) (sp-int-plain-rnd spt-timer 0 296 1)) ) (defun merc-death-spawn ((arg0 int) (arg1 vector) (arg2 vector)) diff --git a/goal_src/engine/gfx/shadow/shadow-cpu.gc b/goal_src/engine/gfx/shadow/shadow-cpu.gc index ecddd88f20..7a076be527 100644 --- a/goal_src/engine/gfx/shadow/shadow-cpu.gc +++ b/goal_src/engine/gfx/shadow/shadow-cpu.gc @@ -24,26 +24,18 @@ (define *shadow-data* (new 'static 'shadow-data :texoffset (new 'static 'vector :x 256.5 :y 112.5) - :texscale - (new 'static 'vector :x 0.001953125 :y 0.00390625) - :clrs - (new 'static 'inline-array vector 2 + :texscale (new 'static 'vector :x 0.001953125 :y 0.00390625) + :clrs (new 'static 'inline-array vector 2 (new 'static 'vector :x (the-as float #x80) :w (the-as float #x82)) (new 'static 'vector :y (the-as float #x80) :w (the-as float #x7f)) ) - :dma-unpack-template - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1) - :vif1 - (new 'static 'vif-tag :cmd (vif-cmd unpack-v4-32)) + :dma-unpack-template (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1) + :vif1 (new 'static 'vif-tag :cmd (vif-cmd unpack-v4-32)) ) - :dma-cnt - (new 'static 'dma-tag :id (dma-tag-id cnt)) - :vif-unpack-v4-8 - (new 'static 'vif-tag :cmd (vif-cmd unpack-v4-8)) + :dma-cnt (new 'static 'dma-tag :id (dma-tag-id cnt)) + :vif-unpack-v4-8 (new 'static 'vif-tag :cmd (vif-cmd unpack-v4-8)) ) ) diff --git a/goal_src/engine/gfx/shadow/shadow.gc b/goal_src/engine/gfx/shadow/shadow.gc index 135487715a..f0ae0abeaa 100644 --- a/goal_src/engine/gfx/shadow/shadow.gc +++ b/goal_src/engine/gfx/shadow/shadow.gc @@ -176,8 +176,7 @@ ) (defpart 362 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-scale-x (meters 0.3)) (sp-rnd-flt spt-rot-z (degrees -180.0) (degrees 360.0) 1.0) diff --git a/goal_src/engine/gfx/shrub/shrub-work.gc b/goal_src/engine/gfx/shrub/shrub-work.gc index d07694b4b4..17e7b593dd 100644 --- a/goal_src/engine/gfx/shrub/shrub-work.gc +++ b/goal_src/engine/gfx/shrub/shrub-work.gc @@ -9,8 +9,7 @@ (define *instance-shrub-work* (new 'static 'instance-shrub-work - :matrix-tmpl - (new 'static 'inline-array qword 20 + :matrix-tmpl (new 'static 'inline-array qword 20 (new 'static 'qword :data (new 'static 'array uint32 4 #x10000005 #x0 #x0 #x6c050143)) (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050148)) (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05014d)) @@ -32,8 +31,7 @@ (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05019e)) (new 'static 'qword :data (new 'static 'array uint32 4 #x10000005 #x0 #x0 #x6c0501a3)) ) - :count-tmpl - (new 'static 'inline-array vector4w 20 + :count-tmpl (new 'static 'inline-array vector4w 20 (new 'static 'vector4w :x #x20000000 :z #x60010175 :w 10) (new 'static 'vector4w :x #x20000000 :z #x60010142 :w 1) (new 'static 'vector4w :x #x20000000 :z #x60010142 :w 2) @@ -55,424 +53,246 @@ (new 'static 'vector4w :x #x20000000 :z #x60010175 :w 8) (new 'static 'vector4w :x #x20000000 :z #x60010175 :w 9) ) - :mscalf-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1) + :mscalf-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1) ) - :mscalf-ret-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ret)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1) + :mscalf-ret-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ret)) + :vif0 (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1) ) - :adgif-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id next)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + :adgif-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id next)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x1000000000008005 #xe) + :gif (new 'static 'array uint64 2 #x1000000000008005 #xe) ) - :billboard-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #xd :id (dma-tag-id next)) - :vif1 - (new 'static 'vif-tag :imm #xd :cmd (vif-cmd direct) :msk #x1) + :billboard-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #xd :id (dma-tag-id next)) + :vif1 (new 'static 'vif-tag :imm #xd :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x303e400000008004 #x412) + :gif (new 'static 'array uint64 2 #x303e400000008004 #x412) ) - :shrub-near-packets - (new 'static 'inline-array shrub-near-packet 6 + :shrub-near-packets (new 'static 'inline-array shrub-near-packet 6 (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) + :matrix-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) + :header-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x9 :cmd (vif-cmd unpack-v2-16)) + :stq-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x9 :cmd (vif-cmd unpack-v2-16)) ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x400a :cmd (vif-cmd unpack-v3-8)) + :color-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x400a :cmd (vif-cmd unpack-v3-8)) ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #xb :cmd (vif-cmd unpack-v3-16)) + :vertex-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #xb :cmd (vif-cmd unpack-v3-16)) ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + :mscal-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + :init-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x345 #x117 #x0 #x0 #x0 #x1500000c) + :init-data (new 'static 'array uint32 8 #x0 #x0 #x345 #x117 #x0 #x0 #x0 #x1500000c) ) (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) + :matrix-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) + :header-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x120 :cmd (vif-cmd unpack-v2-16)) + :stq-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x120 :cmd (vif-cmd unpack-v2-16)) ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x4121 :cmd (vif-cmd unpack-v3-8)) + :color-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x4121 :cmd (vif-cmd unpack-v3-8)) ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x122 :cmd (vif-cmd unpack-v3-16)) + :vertex-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x122 :cmd (vif-cmd unpack-v3-16)) ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + :mscal-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + :init-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x363 #x22e #x0 #x0 #x0 #x1500000c) + :init-data (new 'static 'array uint32 8 #x0 #x0 #x363 #x22e #x0 #x0 #x0 #x1500000c) ) (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) + :matrix-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) + :header-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x237 :cmd (vif-cmd unpack-v2-16)) + :stq-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x237 :cmd (vif-cmd unpack-v2-16)) ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x4238 :cmd (vif-cmd unpack-v3-8)) + :color-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x4238 :cmd (vif-cmd unpack-v3-8)) ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x239 :cmd (vif-cmd unpack-v3-16)) + :vertex-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x239 :cmd (vif-cmd unpack-v3-16)) ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + :mscal-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + :init-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x345 #x0 #x0 #x0 #x0 #x1500000c) + :init-data (new 'static 'array uint32 8 #x0 #x0 #x345 #x0 #x0 #x0 #x0 #x1500000c) ) (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) + :matrix-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) + :header-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x9 :cmd (vif-cmd unpack-v2-16)) + :stq-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x9 :cmd (vif-cmd unpack-v2-16)) ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x400a :cmd (vif-cmd unpack-v3-8)) + :color-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x400a :cmd (vif-cmd unpack-v3-8)) ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #xb :cmd (vif-cmd unpack-v3-16)) + :vertex-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #xb :cmd (vif-cmd unpack-v3-16)) ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + :mscal-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + :init-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x363 #x117 #x0 #x0 #x0 #x1500000c) + :init-data (new 'static 'array uint32 8 #x0 #x0 #x363 #x117 #x0 #x0 #x0 #x1500000c) ) (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) + :matrix-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) + :header-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x120 :cmd (vif-cmd unpack-v2-16)) + :stq-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x120 :cmd (vif-cmd unpack-v2-16)) ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x4121 :cmd (vif-cmd unpack-v3-8)) + :color-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x4121 :cmd (vif-cmd unpack-v3-8)) ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x122 :cmd (vif-cmd unpack-v3-16)) + :vertex-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x122 :cmd (vif-cmd unpack-v3-16)) ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + :mscal-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + :init-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x345 #x22e #x0 #x0 #x0 #x1500000c) + :init-data (new 'static 'array uint32 8 #x0 #x0 #x345 #x22e #x0 #x0 #x0 #x1500000c) ) (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) + :matrix-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) + :header-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x237 :cmd (vif-cmd unpack-v2-16)) + :stq-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x237 :cmd (vif-cmd unpack-v2-16)) ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x4238 :cmd (vif-cmd unpack-v3-8)) + :color-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x4238 :cmd (vif-cmd unpack-v3-8)) ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x239 :cmd (vif-cmd unpack-v3-16)) + :vertex-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x239 :cmd (vif-cmd unpack-v3-16)) ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + :mscal-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + :init-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x363 #x0 #x0 #x0 #x0 #x1500000c) + :init-data (new 'static 'array uint32 8 #x0 #x0 #x363 #x0 #x0 #x0 #x0 #x1500000c) ) ) - :dma-ref - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) - :dma-end - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id end))) - :wind-const - (new 'static 'vector :x 0.5 :y 100.0 :z 0.0166 :w -1.0) + :dma-ref (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) + :dma-end (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id end))) + :wind-const (new 'static 'vector :x 0.5 :y 100.0 :z 0.0166 :w -1.0) :constants (new 'static 'vector :x 128.0 :y 1.0) - :color-constant - (new 'static 'vector4w :x #x47000000 :y #x47000000 :z #x47000000) - :start-bank - (new 'static 'array uint8 20 #x0 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) + :color-constant (new 'static 'vector4w :x #x47000000 :y #x47000000 :z #x47000000) + :start-bank (new 'static 'array uint8 20 #x0 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) ) diff --git a/goal_src/engine/gfx/time-of-day.gc b/goal_src/engine/gfx/time-of-day.gc index 5a663d6224..77777a9005 100644 --- a/goal_src/engine/gfx/time-of-day.gc +++ b/goal_src/engine/gfx/time-of-day.gc @@ -200,19 +200,7 @@ (defun start-time-of-day () "Start up the time of day process. Kill any existing ones" (kill-by-name 'time-of-day-proc *active-pool*) - (let ((gp-0 (get-process *default-dead-pool* time-of-day-proc #x4000))) - (set! *time-of-day-proc* - (the-as (pointer time-of-day-proc) - (when gp-0 - (let ((t9-2 (method-of-type time-of-day-proc activate))) - (t9-2 (the-as time-of-day-proc gp-0) *default-pool* 'time-of-day-proc (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 init-time-of-day) - (-> gp-0 ppointer ) - ) - ) - ) - ) + (set! *time-of-day-proc* (process-spawn time-of-day-proc :init init-time-of-day)) (none) ) diff --git a/goal_src/engine/gfx/water/water.gc b/goal_src/engine/gfx/water/water.gc index 7041008186..50a210f1e9 100644 --- a/goal_src/engine/gfx/water/water.gc +++ b/goal_src/engine/gfx/water/water.gc @@ -8,8 +8,7 @@ ;; DECOMP BEGINS (defpart 108 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.6) 1.0) (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) @@ -28,8 +27,7 @@ ) (defpart 109 - :init-specs - ((sp-flt spt-fade-a -0.2)) + :init-specs ((sp-flt spt-fade-a -0.2)) ) (defun birth-func-y->userdata ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) @@ -79,8 +77,7 @@ ) (defpart 110 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.05) (meters 0.1) 1.0) @@ -104,8 +101,7 @@ ) (defpart 111 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-flt spt-y (meters 0.15)) @@ -129,8 +125,7 @@ ) (defpart 112 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-z (meters -1) (meters 2) 1.0) @@ -152,18 +147,15 @@ ) (defpart 113 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 114)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 114)) ) (defpart 114 - :init-specs - ((sp-flt spt-fade-a -0.7111111)) + :init-specs ((sp-flt spt-fade-a -0.7111111)) ) (defpart 115 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-rnd-flt spt-num 0.04 0.03 1.0) (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) (sp-rnd-flt spt-z (meters -0.2) (meters 0.4) 1.0) @@ -185,8 +177,7 @@ ) (defpart 116 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.006666667)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.006666667)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a 0.0) (sp-int spt-next-time 150) @@ -195,13 +186,11 @@ ) (defpart 117 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.005)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.32)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.005)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.32)) ) (defpart 118 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) (sp-flt spt-num 0.06) (sp-flt spt-x (meters 10)) (sp-rnd-flt spt-scale-x (meters 0.75) (meters 1.5) 1.0) @@ -225,18 +214,15 @@ ) (defpart 119 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 90 119 1) (sp-launcher-by-id spt-next-launcher 120)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 90 119 1) (sp-launcher-by-id spt-next-launcher 120)) ) (defpart 120 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) (defpart 121 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-rnd-flt spt-num 0.05 0.4 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-z (meters 0.5) (meters 1.5) 1.0) @@ -259,13 +245,11 @@ ) (defpart 122 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 123)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 123)) ) (defpart 123 - :init-specs - ((sp-flt spt-fade-a -0.7111111)) + :init-specs ((sp-flt spt-fade-a -0.7111111)) ) (defpartgroup group-part-water-splash @@ -273,8 +257,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 124 :flags (is-3d) :period 900 :length 63) + :parts ((sp-item 124 :flags (is-3d) :period 900 :length 63) (sp-item 125 :period 900 :length 15) (sp-item 126 :flags (is-3d) :period 900 :length 15) (sp-item 127 :flags (is-3d) :period 900 :length 15) @@ -312,8 +295,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 124 :flags (is-3d) :period 900 :length 63) + :parts ((sp-item 124 :flags (is-3d) :period 900 :length 63) (sp-item 125 :period 900 :length 15) (sp-item 126 :flags (is-3d) :period 900 :length 15) (sp-item 127 :flags (is-3d) :period 900 :length 15) @@ -333,8 +315,7 @@ ) (defpart 129 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) (sp-rnd-flt spt-y (meters -0.2) (meters 0.4) 1.0) @@ -355,8 +336,7 @@ ) (defpart 133 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) (sp-rnd-flt spt-y (meters -0.2) (meters 0.4) 1.0) @@ -377,8 +357,7 @@ ) (defpart 131 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.3) (sp-rnd-flt spt-scale-x (meters 0.080000006) (meters 0.32000002) 1.0) (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) @@ -398,8 +377,7 @@ ) (defpart 132 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 3.2) (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) (sp-rnd-flt spt-y (meters -0.2) (meters 0.4) 1.0) @@ -425,8 +403,7 @@ ) (defpart 130 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x10 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x10 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.24000001) (meters 0.71999997) 1.0) (sp-flt spt-rot-x 16384.0) @@ -446,16 +423,14 @@ ) (defpart 136 - :init-specs - ((sp-flt spt-scalevel-y (meters 0.026666667)) + :init-specs ((sp-flt spt-scalevel-y (meters 0.026666667)) (sp-int spt-next-time 20) (sp-launcher-by-id spt-next-launcher 137) ) ) (defpart 137 - :init-specs - ((sp-flt spt-scalevel-y (meters 0)) + :init-specs ((sp-flt spt-scalevel-y (meters 0)) (sp-flt spt-fade-a -0.64) (sp-int spt-next-time 20) (sp-launcher-by-id spt-next-launcher 138) @@ -463,8 +438,7 @@ ) (defpart 138 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.0016666667)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.0016666667)) (sp-flt spt-scalevel-y (meters -0.026666667)) (sp-int spt-next-time 20) (sp-launcher-by-id spt-next-launcher 139) @@ -472,13 +446,11 @@ ) (defpart 139 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.0033333334)) (sp-flt spt-scalevel-y (meters -0.053333335))) + :init-specs ((sp-flt spt-scalevel-x (meters 0.0033333334)) (sp-flt spt-scalevel-y (meters -0.053333335))) ) (defpart 126 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) @@ -498,18 +470,15 @@ ) (defpart 134 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 140)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 140)) ) (defpart 140 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) (defpart 127 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-rnd-flt spt-num 0.5 1.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.4) (meters 0.8) 1.0) @@ -531,8 +500,7 @@ ) (defpart 128 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 3.2) (sp-flt spt-x (meters 0.96000004)) (sp-rnd-flt spt-scale-x (meters 0.35) (meters 0.075) 1.0) @@ -557,13 +525,11 @@ ) (defpart 135 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4)) ) (defpart 125 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-x (meters 0.8)) (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.05) 1.0) @@ -586,8 +552,7 @@ ) (defpart 124 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x10 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x10 :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters 0.96000004) (meters 0.16000001) 1.0) (sp-rnd-flt spt-scale-x (meters 0.32000002) (meters 0.96000004) 1.0) @@ -612,8 +577,7 @@ ) (defpart 141 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-flt spt-rotvel-x (degrees 0.16666667)) (sp-flt spt-scalevel-y (meters 0.016666668)) (sp-int spt-next-time 20) @@ -622,8 +586,7 @@ ) (defpart 142 - :init-specs - ((sp-flt spt-rotvel-x (degrees 0.13333334)) + :init-specs ((sp-flt spt-rotvel-x (degrees 0.13333334)) (sp-flt spt-scalevel-y (meters 0)) (sp-flt spt-fade-a -0.64) (sp-int spt-next-time 20) @@ -632,8 +595,7 @@ ) (defpart 143 - :init-specs - ((sp-flt spt-rotvel-x (degrees 0.1)) + :init-specs ((sp-flt spt-rotvel-x (degrees 0.1)) (sp-flt spt-scalevel-y (meters -0.016666668)) (sp-int spt-next-time 20) (sp-launcher-by-id spt-next-launcher 144) @@ -641,13 +603,11 @@ ) (defpart 144 - :init-specs - ((sp-flt spt-rotvel-x (degrees 0.06666667)) (sp-flt spt-scalevel-y (meters -0.033333335))) + :init-specs ((sp-flt spt-rotvel-x (degrees 0.06666667)) (sp-flt spt-scalevel-y (meters -0.033333335))) ) (defpart 145 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.05) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -964,25 +924,18 @@ ) ) (when (< (-> obj process root trans y) -409.6) - (send-event (-> obj process) 'no-look-around 450) + (send-event (-> obj process) 'no-look-around (seconds 1.5)) (when (zero? (logand (-> (the-as collide-shape-moving (-> obj process root)) root-prim prim-core action) (collide-action ca-14) ) ) (cond ((= (-> obj process type) target) - (let ((a1-32 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-32 from) pp) - (set! (-> a1-32 num-params) 2) - (set! (-> a1-32 message) 'attack) - (set! (-> a1-32 param 0) (the-as uint #f)) - (let ((v1-275 (new 'static 'attack-info :mask #xe0))) - (set! (-> v1-275 shove-up) 2048.0) - (set! (-> v1-275 shove-back) 0.0) - (set! (-> v1-275 mode) 'tar) - (set! (-> a1-32 param 1) (the-as uint v1-275)) - ) - (send-event-function (-> obj process) a1-32) + (send-event + (-> obj process) + 'attack + #f + (static-attack-info ((shove-up (meters 0.5)) (shove-back (meters 0)) (mode 'tar))) ) ) (else @@ -1214,26 +1167,19 @@ ) (defun splash-spawn ((arg0 basic) (arg1 basic) (arg2 int)) - (let ((s4-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker s4-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + (process-spawn + part-tracker + :init part-tracker-init + (if (zero? arg2) + (-> *part-group-id-table* 41) + (-> *part-group-id-table* 40) ) - (run-now-in-process - s4-0 - part-tracker-init - (if (zero? arg2) - (-> *part-group-id-table* 41) - (-> *part-group-id-table* 40) - ) - -1 - part-water-splash-callback - arg0 - #f - arg1 - ) - (-> s4-0 ppointer) - ) + -1 + part-water-splash-callback + arg0 + #f + arg1 + :to *entity-pool* ) 0 (none) @@ -1274,56 +1220,34 @@ ) (defmethod TODO-RENAME-26 water-vol ((obj water-vol)) - (with-pp - (cond - ((handle->process (-> obj target)) - (cond - ((not (dummy-10 (-> obj vol) (-> (the-as target (-> obj target process 0)) control trans))) - (dummy-27 obj) - ) - (else - (let ((v1-15 (-> (the-as target (-> obj target process 0)) water))) - (when (and (logtest? (water-flags wt19) (-> obj flags)) - (logtest? (-> v1-15 flags) (water-flags wt09)) - (>= (-> v1-15 surface-height) (-> v1-15 bottom 0 y)) - ) - (let ((v1-18 (-> obj attack-event))) - (case v1-18 - ((#f) - ) - (('heat) - (send-event (handle->process (-> obj target)) 'heat (* 10.0 (-> *display* seconds-per-frame))) - ) - (('drown-death 'lava 'dark-eco-pool) - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) pp) - (set! (-> a1-8 num-params) 2) - (set! (-> a1-8 message) 'attack-invinc) - (set! (-> a1-8 param 0) (the-as uint #f)) - (let ((a0-19 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-19 mode) v1-18) - (set! (-> a1-8 param 1) (the-as uint a0-19)) - ) - (if (send-event-function (handle->process (-> obj target)) a1-8) - (send-event obj 'notify 'attack) - ) + (cond + ((handle->process (-> obj target)) + (cond + ((not (dummy-10 (-> obj vol) (-> (the-as target (-> obj target process 0)) control trans))) + (dummy-27 obj) + ) + (else + (let ((v1-15 (-> (the-as target (-> obj target process 0)) water))) + (when (and (logtest? (water-flags wt19) (-> obj flags)) + (logtest? (-> v1-15 flags) (water-flags wt09)) + (>= (-> v1-15 surface-height) (-> v1-15 bottom 0 y)) ) - ) - (else - (let ((a1-10 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-10 from) pp) - (set! (-> a1-10 num-params) 2) - (set! (-> a1-10 message) 'attack) - (set! (-> a1-10 param 0) (the-as uint #f)) - (let ((a0-27 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-27 mode) v1-18) - (set! (-> a1-10 param 1) (the-as uint a0-27)) - ) - (if (send-event-function (handle->process (-> obj target)) a1-10) - (send-event obj 'notify 'attack) - ) + (let ((v1-18 (-> obj attack-event))) + (case v1-18 + ((#f) + ) + (('heat) + (send-event (handle->process (-> obj target)) 'heat (* 10.0 (-> *display* seconds-per-frame))) + ) + (('drown-death 'lava 'dark-eco-pool) + (if (send-event (handle->process (-> obj target)) 'attack-invinc #f (static-attack-info ((mode v1-18)))) + (send-event obj 'notify 'attack) + ) + ) + (else + (if (send-event (handle->process (-> obj target)) 'attack #f (static-attack-info ((mode v1-18)))) + (send-event obj 'notify 'attack) ) - ) ) ) ) @@ -1331,39 +1255,38 @@ ) ) ) - ((and *target* - (and (not (handle->process (-> *target* water volume))) (dummy-10 (-> obj vol) (-> *target* control trans))) - ) - (let ((s5-0 (-> *target* water))) - (process-entity-status! obj (entity-perm-status bit-3) #t) - (set! (-> s5-0 volume) (process->handle obj)) - (set! (-> obj target) (process->handle *target*)) - (logior! (-> s5-0 flags) (water-flags wt01)) - (set! (-> s5-0 base-height) (-> obj water-height)) - (set! (-> s5-0 ocean-offset) 0.0) - (logior! (-> s5-0 flags) (-> obj flags)) - (if (< 0.0 (-> obj wade-height)) - (set! (-> s5-0 wade-height) (-> obj wade-height)) - ) - (if (< 0.0 (-> obj swim-height)) - (set! (-> s5-0 swim-height) (-> obj swim-height)) - ) - (if (< 0.0 (-> obj bottom-height)) - (set! (-> s5-0 bottom-height) (-> obj bottom-height)) - ) - (set-zero! (-> s5-0 bob)) - ) + ) + ((and *target* + (and (not (handle->process (-> *target* water volume))) (dummy-10 (-> obj vol) (-> *target* control trans))) + ) + (let ((s5-0 (-> *target* water))) + (process-entity-status! obj (entity-perm-status bit-3) #t) + (set! (-> s5-0 volume) (process->handle obj)) + (set! (-> obj target) (process->handle *target*)) + (logior! (-> s5-0 flags) (water-flags wt01)) + (set! (-> s5-0 base-height) (-> obj water-height)) + (set! (-> s5-0 ocean-offset) 0.0) + (logior! (-> s5-0 flags) (-> obj flags)) + (if (< 0.0 (-> obj wade-height)) + (set! (-> s5-0 wade-height) (-> obj wade-height)) + ) + (if (< 0.0 (-> obj swim-height)) + (set! (-> s5-0 swim-height) (-> obj swim-height)) + ) + (if (< 0.0 (-> obj bottom-height)) + (set! (-> s5-0 bottom-height) (-> obj bottom-height)) + ) + (set-zero! (-> s5-0 bob)) ) - ) - 0 - (none) + ) ) + 0 + (none) ) (defstate water-vol-startup (water-vol) :virtual #t - :code - (behavior () + :code (behavior () (go-virtual water-vol-idle) (none) ) @@ -1371,8 +1294,7 @@ (defstate water-vol-idle (water-vol) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'update) (TODO-RENAME-26 self) @@ -1380,18 +1302,15 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (dummy-27 self) (none) ) - :trans - (behavior () + :trans (behavior () (TODO-RENAME-26 self) (none) ) - :code - (the-as (function none :behavior water-vol) anim-loop) + :code (the-as (function none :behavior water-vol) anim-loop) ) (defmethod set-stack-size! water-vol ((obj water-vol)) diff --git a/goal_src/engine/level/level-info.gc b/goal_src/engine/level/level-info.gc index 6796901602..c8761e7778 100644 --- a/goal_src/engine/level/level-info.gc +++ b/goal_src/engine/level/level-info.gc @@ -22,20 +22,14 @@ :ocean '*ocean-map-village1* :sky #t :sun-fade 1.0 - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "training-start" :level 'training - :trans - (new 'static 'vector :x -5393626.5 :y 28072.346 :z 4332472.5 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9995 :w 0.0297) - :camera-trans - (new 'static 'vector :x -5426915.0 :y 45930.906 :z 4353156.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.5571 0.0 -0.8304 0.1264 0.9883 -0.0848 0.8207 -0.1522 -0.5506) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x -5393626.5 :y 28072.346 :z 4332472.5 :w 1.0) + :quat (new 'static 'quaternion :y 0.9995 :w 0.0297) + :camera-trans (new 'static 'vector :x -5426915.0 :y 45930.906 :z 4353156.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.5571 0.0 -0.8304 0.1264 0.9883 -0.0848 0.8207 -0.1522 -0.5506) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -56,16 +50,11 @@ :name "training-warp" :level 'training :flags (continue-flags warp) - :trans - (new 'static 'vector :x -5383524.0 :y 28019.098 :z 4360302.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.084 :w 0.9964) - :camera-trans - (new 'static 'vector :x -5366765.0 :y 45646.234 :z 4325889.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9057 0.0 0.4238 -0.0666 0.9875 0.1424 -0.4186 -0.1572 0.8944) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x -5383524.0 :y 28019.098 :z 4360302.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.084 :w 0.9964) + :camera-trans (new 'static 'vector :x -5366765.0 :y 45646.234 :z 4325889.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9057 0.0 0.4238 -0.0666 0.9875 0.1424 -0.4186 -0.1572 0.8944) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -86,16 +75,11 @@ :name "game-start" :level 'training :flags (continue-flags warp game-start) - :trans - (new 'static 'vector :x -5393740.5 :y 28259.533 :z 4360945.5 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9993 :w 0.0359) - :camera-trans - (new 'static 'vector :x -5434444.5 :y 47050.344 :z 4372832.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.3536 0.0 -0.9353 0.1315 0.99 -0.0497 0.926 -0.1406 -0.35) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x -5393740.5 :y 28259.533 :z 4360945.5 :w 1.0) + :quat (new 'static 'quaternion :y 0.9993 :w 0.0359) + :camera-trans (new 'static 'vector :x -5434444.5 :y 47050.344 :z 4372832.5 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.3536 0.0 -0.9353 0.1315 0.99 -0.0497 0.926 -0.1406 -0.35) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -118,8 +102,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x -5079040.0 :z 4055040.0 :w 1024000.0) + :bsphere (new 'static 'sphere :x -5079040.0 :z 4055040.0 :w 1024000.0) :buzzer 95 :bottom-height (meters -114) :run-packages '("common" "villagep") @@ -142,18 +125,13 @@ :ocean '*ocean-map-village1* :sky #t :sun-fade 1.0 - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "village1-hut" :level 'village1 - :trans - (new 'static 'vector :x -638860.06 :y 139319.7 :z 769990.6 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9889 :w -0.148) - :camera-trans - (new 'static 'vector :x -668114.1 :y 164536.31 :z 828633.06 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.8947 0.0 -0.4464 0.1082 0.9701 -0.2169 0.4331 -0.2424 -0.868) + :trans (new 'static 'vector :x -638860.06 :y 139319.7 :z 769990.6 :w 1.0) + :quat (new 'static 'quaternion :y -0.9889 :w -0.148) + :camera-trans (new 'static 'vector :x -668114.1 :y 164536.31 :z 828633.06 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.8947 0.0 -0.4464 0.1082 0.9701 -0.2169 0.4331 -0.2424 -0.868) :load-commands '() :vis-nick 'vi1 :lev0 'village1 @@ -165,14 +143,10 @@ :name "village1-intro" :level 'village1 :flags (continue-flags warp sage-intro) - :trans - (new 'static 'vector :x -518468.8 :y 189424.03 :z 868568.7 :w 1.0) - :quat - (new 'static 'quaternion :y 0.591 :w 0.8066) - :camera-trans - (new 'static 'vector :x -559109.3 :y 200461.92 :z 826073.06 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.7221 0.0 -0.6917 -0.0517 0.9972 -0.054 0.6897 0.0747 0.7201) + :trans (new 'static 'vector :x -518468.8 :y 189424.03 :z 868568.7 :w 1.0) + :quat (new 'static 'quaternion :y 0.591 :w 0.8066) + :camera-trans (new 'static 'vector :x -559109.3 :y 200461.92 :z 826073.06 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7221 0.0 -0.6917 -0.0517 0.9972 -0.054 0.6897 0.0747 0.7201) :load-commands '() :vis-nick 'vi1 :lev0 'village1 @@ -184,14 +158,10 @@ :name "village1-warp" :level 'village1 :flags (continue-flags warp sage-ecorocks) - :trans - (new 'static 'vector :x -518468.8 :y 189424.03 :z 868568.7 :w 1.0) - :quat - (new 'static 'quaternion :y 0.591 :w 0.8066) - :camera-trans - (new 'static 'vector :x -559109.3 :y 200461.92 :z 826073.06 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.7221 0.0 -0.6917 -0.0517 0.9972 -0.054 0.6897 0.0747 0.7201) + :trans (new 'static 'vector :x -518468.8 :y 189424.03 :z 868568.7 :w 1.0) + :quat (new 'static 'quaternion :y 0.591 :w 0.8066) + :camera-trans (new 'static 'vector :x -559109.3 :y 200461.92 :z 826073.06 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7221 0.0 -0.6917 -0.0517 0.9972 -0.054 0.6897 0.0747 0.7201) :load-commands '() :vis-nick 'vi1 :lev0 'village1 @@ -203,14 +173,10 @@ :name "village1-demo-convo" :level 'village1 :flags (continue-flags sage-demo-convo) - :trans - (new 'static 'vector :x -542529.1 :y 189424.03 :z 847101.94 :w 1.0) - :quat - (new 'static 'quaternion :y -0.1717 :w -0.9851) - :camera-trans - (new 'static 'vector :x -559085.2 :y 202996.53 :z 826054.25 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.7868 0.0 -0.6171 0.0775 0.992 0.0989 0.6122 -0.1257 0.7806) + :trans (new 'static 'vector :x -542529.1 :y 189424.03 :z 847101.94 :w 1.0) + :quat (new 'static 'quaternion :y -0.1717 :w -0.9851) + :camera-trans (new 'static 'vector :x -559085.2 :y 202996.53 :z 826054.25 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7868 0.0 -0.6171 0.0775 0.992 0.0989 0.6122 -0.1257 0.7806) :load-commands '() :vis-nick 'vi1 :lev0 'village1 @@ -222,16 +188,11 @@ :name "intro-start" :level 'village1 :flags (continue-flags intro) - :trans - (new 'static 'vector :x 164316.78 :y 15128.576 :z 3390588.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.2339 :w 0.9722) - :camera-trans - (new 'static 'vector :x 204089.34 :y 36257.793 :z 3358341.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.6381 0.0 0.7699 -0.0938 0.9925 0.0777 -0.7642 -0.1218 0.6333) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x 164316.78 :y 15128.576 :z 3390588.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.2339 :w 0.9722) + :camera-trans (new 'static 'vector :x 204089.34 :y 36257.793 :z 3358341.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.6381 0.0 0.7699 -0.0938 0.9925 0.0777 -0.7642 -0.1218 0.6333) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -254,11 +215,9 @@ :tasks '(10 11 12 13 14 75) :priority #xc8 :load-commands '() - :alt-load-commands - '(((display village1) (load misty)) ((special village1) (display misty)) ((display village1) (load beach))) + :alt-load-commands '(((display village1) (load misty)) ((special village1) (display misty)) ((display village1) (load beach))) :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x -444416.0 :y 133120.0 :z 360448.0 :w 843776.0) + :bsphere (new 'static 'sphere :x -444416.0 :y 133120.0 :z 360448.0 :w 843776.0) :buzzer 75 :bottom-height (meters -20) :run-packages '("common") @@ -281,18 +240,13 @@ :ocean '*ocean-map-village1* :sky #t :sun-fade 1.0 - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "beach-start" :level 'beach - :trans - (new 'static 'vector :x -504960.22 :y 9477.325 :z -223513.81 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9486 :w -0.3163) - :camera-trans - (new 'static 'vector :x -487550.16 :y 28354.15 :z -184211.05 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9139 0.0 0.4058 -0.0551 0.9907 -0.1241 -0.4021 -0.1358 -0.9054) + :trans (new 'static 'vector :x -504960.22 :y 9477.325 :z -223513.81 :w 1.0) + :quat (new 'static 'quaternion :y 0.9486 :w -0.3163) + :camera-trans (new 'static 'vector :x -487550.16 :y 28354.15 :z -184211.05 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9139 0.0 0.4058 -0.0551 0.9907 -0.1241 -0.4021 -0.1358 -0.9054) :load-commands '() :vis-nick 'bea :lev0 'beach @@ -306,8 +260,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x -819200.0 :z -1556480.0 :w 1474560.0) + :bsphere (new 'static 'sphere :x -819200.0 :z -1556480.0 :w 1474560.0) :buzzer 20 :bottom-height (meters -20) :run-packages '("common") @@ -330,18 +283,13 @@ :ocean '*ocean-map-village1* :sky #t :sun-fade 1.0 - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "jungle-start" :level 'jungle - :trans - (new 'static 'vector :x 1057631.9 :y 86404.305 :z -647140.56 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9009 :w -0.4339) - :camera-trans - (new 'static 'vector :x 1004424.8 :y 111181.82 :z -611527.9 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.5568 0.0 -0.8306 0.201 0.9702 -0.1347 0.8059 -0.2419 -0.5402) + :trans (new 'static 'vector :x 1057631.9 :y 86404.305 :z -647140.56 :w 1.0) + :quat (new 'static 'quaternion :y -0.9009 :w -0.4339) + :camera-trans (new 'static 'vector :x 1004424.8 :y 111181.82 :z -611527.9 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.5568 0.0 -0.8306 0.201 0.9702 -0.1347 0.8059 -0.2419 -0.5402) :load-commands '() :vis-nick 'jun :lev0 'jungle @@ -353,11 +301,9 @@ :tasks '(2 3 4 5 7 8 9) :priority 100 :load-commands '() - :alt-load-commands - '(((display jungle) (display jungleb)) ((display jungle) (display village1))) + :alt-load-commands '(((display jungle) (display jungleb)) ((display jungle) (display village1))) :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 1474560.0 :y 2519040.0 :z -983040.0 :w 2457600.0) + :bsphere (new 'static 'sphere :x 1474560.0 :y 2519040.0 :z -983040.0 :w 2457600.0) :buzzer 7 :bottom-height (meters -20) :run-packages '("common") @@ -379,18 +325,13 @@ :mood-func 'update-mood-jungleb :ocean 'none :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "jungle-tower" :level 'jungleb - :trans - (new 'static 'vector :x 1469510.0 :y -204745.52 :z -959058.3 :w 1.0) - :quat - (new 'static 'quaternion :y -0.6194 :w -0.785) - :camera-trans - (new 'static 'vector :x 1485298.5 :y -189972.08 :z -936548.75 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.8614 0.0 0.5078 -0.1177 0.9727 -0.1997 -0.4939 -0.2318 -0.8379) + :trans (new 'static 'vector :x 1469510.0 :y -204745.52 :z -959058.3 :w 1.0) + :quat (new 'static 'quaternion :y -0.6194 :w -0.785) + :camera-trans (new 'static 'vector :x 1485298.5 :y -189972.08 :z -936548.75 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.8614 0.0 0.5078 -0.1177 0.9727 -0.1997 -0.4939 -0.2318 -0.8379) :load-commands '() :vis-nick 'jub :lev0 'jungle @@ -403,8 +344,7 @@ :priority 100 :load-commands '() :alt-load-commands '() - :bsphere - (new 'static 'sphere :x 1486848.0 :y -1269760.0 :z -1064960.0 :w 1228800.0) + :bsphere (new 'static 'sphere :x 1486848.0 :y -1269760.0 :z -1064960.0 :w 1228800.0) :buzzer 7 :bottom-height (meters -80) :run-packages '("common" "jungle") @@ -427,20 +367,14 @@ :ocean '*ocean-map-village1* :sky #t :sun-fade 0.25 - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "misty-start" :level 'misty - :trans - (new 'static 'vector :x 164316.78 :y 15128.576 :z 3390588.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.2339 :w 0.9722) - :camera-trans - (new 'static 'vector :x 204089.34 :y 36257.793 :z 3358341.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.6381 0.0 0.7699 -0.0938 0.9925 0.0777 -0.7642 -0.1218 0.6333) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x 164316.78 :y 15128.576 :z 3390588.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.2339 :w 0.9722) + :camera-trans (new 'static 'vector :x 204089.34 :y 36257.793 :z 3358341.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.6381 0.0 0.7699 -0.0938 0.9925 0.0777 -0.7642 -0.1218 0.6333) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -462,16 +396,11 @@ (new 'static 'continue-point :name "misty-silo" :level 'misty - :trans - (new 'static 'vector :x -672503.0 :y 82131.35 :z 3651465.8 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0878 :w 0.9961) - :camera-trans - (new 'static 'vector :x -675754.0 :y 102028.91 :z 3604800.8 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9975 0.0 -0.0704 0.0086 0.9924 0.1223 0.0698 -0.1226 0.9899) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x -672503.0 :y 82131.35 :z 3651465.8 :w 1.0) + :quat (new 'static 'quaternion :y 0.0878 :w 0.9961) + :camera-trans (new 'static 'vector :x -675754.0 :y 102028.91 :z 3604800.8 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9975 0.0 -0.0704 0.0086 0.9924 0.1223 0.0698 -0.1226 0.9899) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -493,16 +422,11 @@ (new 'static 'continue-point :name "misty-bike" :level 'misty - :trans - (new 'static 'vector :x 302533.44 :y 35901.848 :z 4138967.8 :w 1.0) - :quat - (new 'static 'quaternion :y -0.2809 :w 0.9597) - :camera-trans - (new 'static 'vector :x 338476.25 :y 55700.684 :z 4109729.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.6308 0.0 0.7759 -0.096 0.9923 0.078 -0.7699 -0.1237 0.6259) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x 302533.44 :y 35901.848 :z 4138967.8 :w 1.0) + :quat (new 'static 'quaternion :y -0.2809 :w 0.9597) + :camera-trans (new 'static 'vector :x 338476.25 :y 55700.684 :z 4109729.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.6308 0.0 0.7759 -0.096 0.9923 0.078 -0.7699 -0.1237 0.6259) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -524,16 +448,11 @@ (new 'static 'continue-point :name "misty-backside" :level 'misty - :trans - (new 'static 'vector :x -304192.72 :y 33270.99 :z 4646525.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.8443 :w -0.5357) - :camera-trans - (new 'static 'vector :x -346989.78 :y 54377.676 :z 4674685.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.5497 0.0 -0.8353 0.1009 0.9926 -0.0664 0.8291 -0.1208 -0.5457) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x -304192.72 :y 33270.99 :z 4646525.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.8443 :w -0.5357) + :camera-trans (new 'static 'vector :x -346989.78 :y 54377.676 :z 4674685.5 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.5497 0.0 -0.8353 0.1009 0.9926 -0.0664 0.8291 -0.1208 -0.5457) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -555,16 +474,11 @@ (new 'static 'continue-point :name "misty-silo2" :level 'misty - :trans - (new 'static 'vector :x -898000.06 :y 98038.17 :z 4162091.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.1102 :w 0.9938) - :camera-trans - (new 'static 'vector :x -931459.9 :y 118198.68 :z 4196081.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.6605 0.0 -0.7508 0.1086 0.9894 -0.0955 0.7429 -0.1447 -0.6535) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x -898000.06 :y 98038.17 :z 4162091.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.1102 :w 0.9938) + :camera-trans (new 'static 'vector :x -931459.9 :y 118198.68 :z 4196081.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.6605 0.0 -0.7508 0.1086 0.9894 -0.0955 0.7429 -0.1447 -0.6535) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -589,8 +503,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :z 4096000.0 :w 1269760.0) + :bsphere (new 'static 'sphere :z 4096000.0 :w 1269760.0) :buzzer 28 :bottom-height (meters -20) :run-packages '("common") @@ -612,18 +525,13 @@ :mood-func 'update-mood-firecanyon :ocean 'none :sky #t - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "firecanyon-start" :level 'firecanyon - :trans - (new 'static 'vector :x -87377.1 :y 126444.75 :z -681697.25 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9921 :w -0.1246) - :camera-trans - (new 'static 'vector :x -84559.055 :y 144685.47 :z -641194.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9976 0.0 0.0688 -0.01 0.9893 -0.1452 -0.068 -0.1456 -0.9869) + :trans (new 'static 'vector :x -87377.1 :y 126444.75 :z -681697.25 :w 1.0) + :quat (new 'static 'quaternion :y 0.9921 :w -0.1246) + :camera-trans (new 'static 'vector :x -84559.055 :y 144685.47 :z -641194.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9976 0.0 0.0688 -0.01 0.9893 -0.1452 -0.068 -0.1456 -0.9869) :load-commands '() :vis-nick 'fic :lev0 'firecanyon @@ -634,14 +542,10 @@ (new 'static 'continue-point :name "firecanyon-end" :level 'firecanyon - :trans - (new 'static 'vector :x 1360576.1 :y 126976.0 :z -5839533.5 :w 1.0) - :quat - (new 'static 'quaternion :y 0.1666 :w 0.986) - :camera-trans - (new 'static 'vector :x 1378912.6 :y 144452.81 :z -5872527.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.8847 0.0 0.466 -0.0744 0.9871 0.1414 -0.46 -0.1598 0.8733) + :trans (new 'static 'vector :x 1360576.1 :y 126976.0 :z -5839533.5 :w 1.0) + :quat (new 'static 'quaternion :y 0.1666 :w 0.986) + :camera-trans (new 'static 'vector :x 1378912.6 :y 144452.81 :z -5872527.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.8847 0.0 0.466 -0.0744 0.9871 0.1414 -0.46 -0.1598 0.8733) :load-commands '() :vis-nick 'fic :lev0 'village2 @@ -655,8 +559,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 419840.0 :y 151552.0 :z -3006464.0 :w 2048000.0) + :bsphere (new 'static 'sphere :x 419840.0 :y 151552.0 :z -3006464.0 :w 2048000.0) :buzzer 68 :bottom-height (meters -20) :run-packages '("common") @@ -678,18 +581,13 @@ :mood-func 'update-mood-village2 :ocean '*ocean-map-village2* :sky #t - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "village2-start" :level 'village2 - :trans - (new 'static 'vector :x 1460961.2 :y 108562.02 :z -6161391.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9917 :w 0.1278) - :camera-trans - (new 'static 'vector :x 1468018.8 :y 133790.92 :z -6096227.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9941 0.0 0.1076 -0.0261 0.9699 -0.2418 -0.1044 -0.2432 -0.9643) + :trans (new 'static 'vector :x 1460961.2 :y 108562.02 :z -6161391.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.9917 :w 0.1278) + :camera-trans (new 'static 'vector :x 1468018.8 :y 133790.92 :z -6096227.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9941 0.0 0.1076 -0.0261 0.9699 -0.2418 -0.1044 -0.2432 -0.9643) :load-commands '() :vis-nick 'vi2 :lev0 'village2 @@ -701,14 +599,10 @@ :name "village2-warp" :level 'village2 :flags (continue-flags warp) - :trans - (new 'static 'vector :x 1592492.9 :y 91648.0 :z -6328677.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.7469 :w 0.6648) - :camera-trans - (new 'static 'vector :x 1555766.1 :y 103759.46 :z -6318964.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.2562 0.0 -0.9666 -0.0253 0.9996 0.0067 0.9662 0.0262 -0.2561) + :trans (new 'static 'vector :x 1592492.9 :y 91648.0 :z -6328677.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.7469 :w 0.6648) + :camera-trans (new 'static 'vector :x 1555766.1 :y 103759.46 :z -6318964.5 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.2562 0.0 -0.9666 -0.0253 0.9996 0.0067 0.9662 0.0262 -0.2561) :load-commands '() :vis-nick 'vi2 :lev0 'village2 @@ -719,14 +613,10 @@ (new 'static 'continue-point :name "village2-dock" :level 'village2 - :trans - (new 'static 'vector :x 1264346.8 :y 19451.494 :z -6833563.5 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0258 :w 0.9996) - :camera-trans - (new 'static 'vector :x 1265547.2 :y 34647.656 :z -6862636.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9991 0.0 0.0411 -0.0088 0.9764 0.2155 -0.0401 -0.2156 0.9756) + :trans (new 'static 'vector :x 1264346.8 :y 19451.494 :z -6833563.5 :w 1.0) + :quat (new 'static 'quaternion :y 0.0258 :w 0.9996) + :camera-trans (new 'static 'vector :x 1265547.2 :y 34647.656 :z -6862636.5 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9991 0.0 0.0411 -0.0088 0.9764 0.2155 -0.0401 -0.2156 0.9756) :load-commands '() :vis-nick 'vi2 :lev0 'village2 @@ -740,8 +630,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 1392640.0 :y 81920.0 :z -6770688.0 :w 696320.0) + :bsphere (new 'static 'sphere :x 1392640.0 :y 81920.0 :z -6770688.0 :w 696320.0) :buzzer 76 :bottom-height (meters -20) :run-packages '("common") @@ -763,18 +652,13 @@ :mood-func 'update-mood-sunken :ocean '*ocean-map-sunken* :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "sunken-start" :level 'sunken - :trans - (new 'static 'vector :x 2172095.2 :y -591749.94 :z -6721553.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.5083 :w 0.8611) - :camera-trans - (new 'static 'vector :x 2138871.5 :y -572296.4 :z -6751967.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.7575 0.0 -0.6527 0.0858 0.9913 0.0995 0.647 -0.1314 0.7509) + :trans (new 'static 'vector :x 2172095.2 :y -591749.94 :z -6721553.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.5083 :w 0.8611) + :camera-trans (new 'static 'vector :x 2138871.5 :y -572296.4 :z -6751967.5 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7575 0.0 -0.6527 0.0858 0.9913 0.0995 0.647 -0.1314 0.7509) :load-commands '() :vis-nick 'sun :lev0 'sunken @@ -785,14 +669,10 @@ (new 'static 'continue-point :name "sunken1" :level 'sunken - :trans - (new 'static 'vector :x 3062988.5 :y -536575.56 :z -6527484.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.5304 :w 0.8477) - :camera-trans - (new 'static 'vector :x 3015461.2 :y -515480.38 :z -6546573.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.3725 0.0 -0.928 0.1121 0.9926 0.045 0.9212 -0.1208 0.3697) + :trans (new 'static 'vector :x 3062988.5 :y -536575.56 :z -6527484.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.5304 :w 0.8477) + :camera-trans (new 'static 'vector :x 3015461.2 :y -515480.38 :z -6546573.5 :w 1.0) + :camera-rot (new 'static 'array float 9 0.3725 0.0 -0.928 0.1121 0.9926 0.045 0.9212 -0.1208 0.3697) :load-commands '() :vis-nick 'sun :lev0 'sunken @@ -803,14 +683,10 @@ (new 'static 'continue-point :name "sunken2" :level 'sunken - :trans - (new 'static 'vector :x 3133625.5 :y -569343.56 :z -6909587.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9512 :w 0.3083) - :camera-trans - (new 'static 'vector :x 3170833.2 :y -548244.25 :z -6874378.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.6872 0.0 0.7263 -0.0878 0.9926 -0.0831 -0.721 -0.1209 -0.6822) + :trans (new 'static 'vector :x 3133625.5 :y -569343.56 :z -6909587.5 :w 1.0) + :quat (new 'static 'quaternion :y -0.9512 :w 0.3083) + :camera-trans (new 'static 'vector :x 3170833.2 :y -548244.25 :z -6874378.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.6872 0.0 0.7263 -0.0878 0.9926 -0.0831 -0.721 -0.1209 -0.6822) :load-commands '() :vis-nick 'sun :lev0 'sunken @@ -821,14 +697,10 @@ (new 'static 'continue-point :name "sunken-tube1" :level 'sunken - :trans - (new 'static 'vector :x 2649601.8 :y -569343.56 :z -7132970.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9936 :w 0.1124) - :camera-trans - (new 'static 'vector :x 2636150.2 :y -555656.4 :z -7114732.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.8024 0.0 -0.5967 0.1721 0.9574 -0.2315 0.5713 -0.2885 -0.7683) + :trans (new 'static 'vector :x 2649601.8 :y -569343.56 :z -7132970.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.9936 :w 0.1124) + :camera-trans (new 'static 'vector :x 2636150.2 :y -555656.4 :z -7114732.5 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.8024 0.0 -0.5967 0.1721 0.9574 -0.2315 0.5713 -0.2885 -0.7683) :load-commands '() :vis-nick 'sun :lev0 'sunken @@ -842,8 +714,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 2867200.0 :y -2048000.0 :z -6553600.0 :w 2048000.0) + :bsphere (new 'static 'sphere :x 2867200.0 :y -2048000.0 :z -6553600.0 :w 2048000.0) :buzzer 49 :bottom-height (meters -500) :run-packages '("common") @@ -865,18 +736,13 @@ :mood-func 'update-mood-sunken :ocean '*ocean-map-sunken* :sky #t - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "sunkenb-start" :level 'sunkenb - :trans - (new 'static 'vector :x 2229231.2 :y -1019912.2 :z -6788748.5 :w 1.0) - :quat - (new 'static 'quaternion :y 0.895 :w 0.446) - :camera-trans - (new 'static 'vector :x 2187840.0 :y -998915.7 :z -6759328.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.5786 0.0 -0.8155 0.0992 0.9925 -0.0704 0.8094 -0.1217 -0.5743) + :trans (new 'static 'vector :x 2229231.2 :y -1019912.2 :z -6788748.5 :w 1.0) + :quat (new 'static 'quaternion :y 0.895 :w 0.446) + :camera-trans (new 'static 'vector :x 2187840.0 :y -998915.7 :z -6759328.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.5786 0.0 -0.8155 0.0992 0.9925 -0.0704 0.8094 -0.1217 -0.5743) :load-commands '((alive "exit-chamber-1")) :vis-nick 'sub :lev0 'sunken @@ -887,14 +753,10 @@ (new 'static 'continue-point :name "sunkenb-helix" :level 'sunkenb - :trans - (new 'static 'vector :x 2466572.8 :y -1838989.2 :z -7299582.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.8841 :w 0.4672) - :camera-trans - (new 'static 'vector :x 2515616.2 :y -1817888.4 :z -7284843.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.2889 0.0 0.9573 -0.1163 0.9925 -0.0351 -0.9502 -0.1214 -0.2867) + :trans (new 'static 'vector :x 2466572.8 :y -1838989.2 :z -7299582.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.8841 :w 0.4672) + :camera-trans (new 'static 'vector :x 2515616.2 :y -1817888.4 :z -7284843.5 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.2889 0.0 0.9573 -0.1163 0.9925 -0.0351 -0.9502 -0.1214 -0.2867) :load-commands '() :vis-nick 'sub :lev0 'sunken @@ -908,8 +770,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 2867200.0 :y -2048000.0 :z -6553600.0 :w 2048000.0) + :bsphere (new 'static 'sphere :x 2867200.0 :y -2048000.0 :z -6553600.0 :w 2048000.0) :buzzer 49 :bottom-height (meters -500) :run-packages '("common" "sunken") @@ -931,20 +792,14 @@ :mood-func 'update-mood-swamp :ocean '*ocean-map-village2* :sky #t - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "swamp-start" :level 'swamp - :trans - (new 'static 'vector :x 1842537.2 :y 21027.227 :z -7333297.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9933 :w 0.1153) - :camera-trans - (new 'static 'vector :x 1862529.9 :y 44371.56 :z -7277995.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9403 0.0 0.3402 -0.0814 0.9708 -0.2252 -0.3303 -0.2394 -0.9129) - :load-commands - '((special "swamp-blimp-3" #t) + :trans (new 'static 'vector :x 1842537.2 :y 21027.227 :z -7333297.5 :w 1.0) + :quat (new 'static 'quaternion :y -0.9933 :w 0.1153) + :camera-trans (new 'static 'vector :x 1862529.9 :y 44371.56 :z -7277995.5 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9403 0.0 0.3402 -0.0814 0.9708 -0.2252 -0.3303 -0.2394 -0.9129) + :load-commands '((special "swamp-blimp-3" #t) (special "precursor-arm-3" #t) (special "swamp-tetherrock-13" #t) (special "swamp-tetherrock-14" #t) @@ -960,16 +815,11 @@ (new 'static 'continue-point :name "swamp-dock1" :level 'swamp - :trans - (new 'static 'vector :x 1360386.9 :y 5823.693 :z -8218890.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.585 :w -0.811) - :camera-trans - (new 'static 'vector :x 1314475.6 :y 26164.838 :z -8234152.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.3154 0.0 -0.9489 0.1134 0.9928 0.0376 0.9421 -0.1195 0.3131) - :load-commands - '((special "swamp-blimp-3" #t) + :trans (new 'static 'vector :x 1360386.9 :y 5823.693 :z -8218890.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.585 :w -0.811) + :camera-trans (new 'static 'vector :x 1314475.6 :y 26164.838 :z -8234152.5 :w 1.0) + :camera-rot (new 'static 'array float 9 0.3154 0.0 -0.9489 0.1134 0.9928 0.0376 0.9421 -0.1195 0.3131) + :load-commands '((special "swamp-blimp-3" #t) (special "precursor-arm-3" #t) (special "swamp-tetherrock-13" #t) (special "swamp-tetherrock-14" #t) @@ -985,16 +835,11 @@ (new 'static 'continue-point :name "swamp-cave1" :level 'swamp - :trans - (new 'static 'vector :x 1553700.5 :y 1835.4176 :z -8258429.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9871 :w -0.1599) - :camera-trans - (new 'static 'vector :x 1556873.2 :y 22715.598 :z -8208106.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9982 0.0 0.0596 -0.0072 0.9926 -0.1209 -0.0592 -0.1211 -0.9908) - :load-commands - '((special "swamp-blimp-3" #t) + :trans (new 'static 'vector :x 1553700.5 :y 1835.4176 :z -8258429.5 :w 1.0) + :quat (new 'static 'quaternion :y -0.9871 :w -0.1599) + :camera-trans (new 'static 'vector :x 1556873.2 :y 22715.598 :z -8208106.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9982 0.0 0.0596 -0.0072 0.9926 -0.1209 -0.0592 -0.1211 -0.9908) + :load-commands '((special "swamp-blimp-3" #t) (special "precursor-arm-3" #t) (special "swamp-tetherrock-13" #t) (special "swamp-tetherrock-14" #t) @@ -1010,16 +855,11 @@ (new 'static 'continue-point :name "swamp-dock2" :level 'swamp - :trans - (new 'static 'vector :x 1645872.4 :y 36495.77 :z -8427323.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.8294 :w -0.5586) - :camera-trans - (new 'static 'vector :x 1599338.9 :y 57590.168 :z -8405954.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.418 0.0 -0.9084 0.1106 0.9925 -0.0509 0.9016 -0.1218 -0.4149) - :load-commands - '((special "swamp-blimp-3" #t) + :trans (new 'static 'vector :x 1645872.4 :y 36495.77 :z -8427323.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.8294 :w -0.5586) + :camera-trans (new 'static 'vector :x 1599338.9 :y 57590.168 :z -8405954.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.418 0.0 -0.9084 0.1106 0.9925 -0.0509 0.9016 -0.1218 -0.4149) + :load-commands '((special "swamp-blimp-3" #t) (special "precursor-arm-3" #t) (special "swamp-tetherrock-13" #t) (special "swamp-tetherrock-14" #t) @@ -1035,16 +875,11 @@ (new 'static 'continue-point :name "swamp-cave2" :level 'swamp - :trans - (new 'static 'vector :x 2037539.2 :y 1103.872 :z -8560013.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0559 :w 0.9984) - :camera-trans - (new 'static 'vector :x 1995208.2 :y 21832.908 :z -8586304.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.5516 0.0 -0.834 0.097 0.9932 0.0641 0.8283 -0.1163 0.5479) - :load-commands - '((special "swamp-blimp-3" #t) + :trans (new 'static 'vector :x 2037539.2 :y 1103.872 :z -8560013.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.0559 :w 0.9984) + :camera-trans (new 'static 'vector :x 1995208.2 :y 21832.908 :z -8586304.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.5516 0.0 -0.834 0.097 0.9932 0.0641 0.8283 -0.1163 0.5479) + :load-commands '((special "swamp-blimp-3" #t) (special "precursor-arm-3" #t) (special "swamp-tetherrock-13" #t) (special "swamp-tetherrock-14" #t) @@ -1060,16 +895,11 @@ (new 'static 'continue-point :name "swamp-game" :level 'swamp - :trans - (new 'static 'vector :x 2612289.2 :y -2047.5905 :z -8315907.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.6975 :w 0.7165) - :camera-trans - (new 'static 'vector :x 2661940.5 :y 20693.81 :z -8317980.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.0406 0.0 0.9991 -0.1452 0.9893 0.0059 -0.9885 -0.1453 0.0402) - :load-commands - '((special "swamp-blimp-3" #t) + :trans (new 'static 'vector :x 2612289.2 :y -2047.5905 :z -8315907.5 :w 1.0) + :quat (new 'static 'quaternion :y -0.6975 :w 0.7165) + :camera-trans (new 'static 'vector :x 2661940.5 :y 20693.81 :z -8317980.5 :w 1.0) + :camera-rot (new 'static 'array float 9 0.0406 0.0 0.9991 -0.1452 0.9893 0.0059 -0.9885 -0.1453 0.0402) + :load-commands '((special "swamp-blimp-3" #t) (special "precursor-arm-3" #t) (special "swamp-tetherrock-13" #t) (special "swamp-tetherrock-14" #t) @@ -1085,16 +915,11 @@ (new 'static 'continue-point :name "swamp-cave3" :level 'swamp - :trans - (new 'static 'vector :x 2011811.4 :y 3711.7952 :z -7923027.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.5269 :w 0.8499) - :camera-trans - (new 'static 'vector :x 2053120.4 :y 22242.51 :z -7927784.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.1145 0.0 0.9934 -0.1412 0.9898 0.0162 -0.9833 -0.1422 0.1134) - :load-commands - '((special "swamp-blimp-3" #t) + :trans (new 'static 'vector :x 2011811.4 :y 3711.7952 :z -7923027.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.5269 :w 0.8499) + :camera-trans (new 'static 'vector :x 2053120.4 :y 22242.51 :z -7927784.5 :w 1.0) + :camera-rot (new 'static 'array float 9 0.1145 0.0 0.9934 -0.1412 0.9898 0.0162 -0.9833 -0.1422 0.1134) + :load-commands '((special "swamp-blimp-3" #t) (special "precursor-arm-3" #t) (special "swamp-tetherrock-13" #t) (special "swamp-tetherrock-14" #t) @@ -1113,8 +938,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 1986560.0 :z -8417280.0 :w 1003520.0) + :bsphere (new 'static 'sphere :x 1986560.0 :z -8417280.0 :w 1003520.0) :buzzer 43 :bottom-height (meters -20) :run-packages '("common") @@ -1136,18 +960,13 @@ :mood-func 'update-mood-rolling :ocean 'none :sky #t - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "rolling-start" :level 'rolling - :trans - (new 'static 'vector :x 432272.6 :y 42821.633 :z -6737529.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.545 :w 0.8383) - :camera-trans - (new 'static 'vector :x 494105.8 :y 67237.48 :z -6748524.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.1759 0.0 0.9843 -0.2371 0.9705 0.0423 -0.9553 -0.2409 0.1707) + :trans (new 'static 'vector :x 432272.6 :y 42821.633 :z -6737529.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.545 :w 0.8383) + :camera-trans (new 'static 'vector :x 494105.8 :y 67237.48 :z -6748524.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.1759 0.0 0.9843 -0.2371 0.9705 0.0423 -0.9553 -0.2409 0.1707) :load-commands '() :vis-nick 'rol :lev0 'rolling @@ -1161,8 +980,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x -753664.0 :y 131072.0 :z -6569984.0 :w 974848.0) + :bsphere (new 'static 'sphere :x -753664.0 :y 131072.0 :z -6569984.0 :w 974848.0) :buzzer 57 :bottom-height (meters -20) :run-packages '("common") @@ -1184,18 +1002,13 @@ :mood-func 'update-mood-ogre :ocean 'none :sky #t - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "ogre-start" :level 'ogre - :trans - (new 'static 'vector :x 849775.8 :y 163962.88 :z -7301166.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9931 :w 0.1166) - :camera-trans - (new 'static 'vector :x 848906.25 :y 185056.88 :z -7249962.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9998 0.0 -0.0159 0.0019 0.9925 -0.1215 0.0158 -0.1215 -0.9924) + :trans (new 'static 'vector :x 849775.8 :y 163962.88 :z -7301166.5 :w 1.0) + :quat (new 'static 'quaternion :y -0.9931 :w 0.1166) + :camera-trans (new 'static 'vector :x 848906.25 :y 185056.88 :z -7249962.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9998 0.0 -0.0159 0.0019 0.9925 -0.1215 0.0158 -0.1215 -0.9924) :load-commands '() :vis-nick 'ogr :lev0 'ogre @@ -1206,14 +1019,10 @@ (new 'static 'continue-point :name "ogre-race" :level 'ogre - :trans - (new 'static 'vector :x 841424.9 :y 163801.1 :z -8205419.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9857 :w 0.168) - :camera-trans - (new 'static 'vector :x 860479.9 :y 183815.38 :z -8162368.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9145 0.0 0.4045 -0.0497 0.9924 -0.1125 -0.4015 -0.123 -0.9075) + :trans (new 'static 'vector :x 841424.9 :y 163801.1 :z -8205419.5 :w 1.0) + :quat (new 'static 'quaternion :y -0.9857 :w 0.168) + :camera-trans (new 'static 'vector :x 860479.9 :y 183815.38 :z -8162368.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9145 0.0 0.4045 -0.0497 0.9924 -0.1125 -0.4015 -0.123 -0.9075) :load-commands '() :vis-nick 'ogr :lev0 'ogre @@ -1224,14 +1033,10 @@ (new 'static 'continue-point :name "ogre-end" :level 'ogre - :trans - (new 'static 'vector :x 3971233.5 :y 141227.62 :z -13935735.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.8721 :w 0.4892) - :camera-trans - (new 'static 'vector :x 3997892.2 :y 159604.73 :z -13904449.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.7611 0.0 0.6485 -0.0932 0.9896 -0.1094 -0.6417 -0.1438 -0.7532) + :trans (new 'static 'vector :x 3971233.5 :y 141227.62 :z -13935735.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.8721 :w 0.4892) + :camera-trans (new 'static 'vector :x 3997892.2 :y 159604.73 :z -13904449.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.7611 0.0 0.6485 -0.0932 0.9896 -0.1094 -0.6417 -0.1438 -0.7532) :load-commands '() :vis-nick 'ogr :lev0 'village3 @@ -1245,8 +1050,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 2334720.0 :y 180224.0 :z -10653696.0 :w 3653632.0) + :bsphere (new 'static 'sphere :x 2334720.0 :y 180224.0 :z -10653696.0 :w 3653632.0) :buzzer 88 :bottom-height (meters -20) :run-packages '("common") @@ -1268,18 +1072,13 @@ :mood-func 'update-mood-village3 :ocean #f :sky #t - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "village3-start" :level 'village3 - :trans - (new 'static 'vector :x 4468021.5 :y 186608.03 :z -14054268.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9999 :w 0.005) - :camera-trans - (new 'static 'vector :x 4469439.5 :y 207701.2 :z -14003077.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9996 0.0 0.0268 -0.0032 0.9925 -0.1216 -0.0266 -0.1216 -0.9922) + :trans (new 'static 'vector :x 4468021.5 :y 186608.03 :z -14054268.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.9999 :w 0.005) + :camera-trans (new 'static 'vector :x 4469439.5 :y 207701.2 :z -14003077.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9996 0.0 0.0268 -0.0032 0.9925 -0.1216 -0.0266 -0.1216 -0.9922) :load-commands '() :vis-nick 'vi3 :lev0 'village3 @@ -1291,14 +1090,10 @@ :name "village3-warp" :level 'village3 :flags (continue-flags warp) - :trans - (new 'static 'vector :x 4549776.0 :y 215375.88 :z -14285922.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.681 :w 0.7322) - :camera-trans - (new 'static 'vector :x 4543255.0 :y 226776.67 :z -14313317.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.8563 0.0 -0.2763 0.0456 0.8875 0.1413 0.2725 -0.1485 0.8446) + :trans (new 'static 'vector :x 4549776.0 :y 215375.88 :z -14285922.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.681 :w 0.7322) + :camera-trans (new 'static 'vector :x 4543255.0 :y 226776.67 :z -14313317.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.8563 0.0 -0.2763 0.0456 0.8875 0.1413 0.2725 -0.1485 0.8446) :load-commands '() :vis-nick 'vi3 :lev0 'village3 @@ -1309,14 +1104,10 @@ (new 'static 'continue-point :name "village3-farside" :level 'village3 - :trans - (new 'static 'vector :x 4423744.0 :y 198723.58 :z -14530641.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.6611 :w 0.7502) - :camera-trans - (new 'static 'vector :x 4381844.0 :y 218599.83 :z -14551361.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.442 0.0 -0.8969 0.1099 0.9924 0.0541 0.8902 -0.1225 0.4387) + :trans (new 'static 'vector :x 4423744.0 :y 198723.58 :z -14530641.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.6611 :w 0.7502) + :camera-trans (new 'static 'vector :x 4381844.0 :y 218599.83 :z -14551361.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.442 0.0 -0.8969 0.1099 0.9924 0.0541 0.8902 -0.1225 0.4387) :load-commands '() :vis-nick 'vi3 :lev0 'village3 @@ -1330,8 +1121,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 4571136.0 :y 389120.0 :z -14323712.0 :w 409600.0) + :bsphere (new 'static 'sphere :x 4571136.0 :y 389120.0 :z -14323712.0 :w 409600.0) :buzzer 77 :bottom-height (meters -20) :run-packages '("common") @@ -1354,18 +1144,13 @@ :ocean #f :sky #t :sun-fade 0.5 - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "snow-start" :level 'snow - :trans - (new 'static 'vector :x 4256260.0 :y 983713.8 :z -14182752.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.7906 :w -0.6122) - :camera-trans - (new 'static 'vector :x 4303859.5 :y 1012363.7 :z -14156672.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.4804 0.0 0.877 -0.2049 0.9723 -0.1122 -0.8527 -0.2336 -0.4671) + :trans (new 'static 'vector :x 4256260.0 :y 983713.8 :z -14182752.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.7906 :w -0.6122) + :camera-trans (new 'static 'vector :x 4303859.5 :y 1012363.7 :z -14156672.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.4804 0.0 0.877 -0.2049 0.9723 -0.1122 -0.8527 -0.2336 -0.4671) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1376,14 +1161,10 @@ (new 'static 'continue-point :name "snow-fort" :level 'snow - :trans - (new 'static 'vector :x 3430875.2 :y 897149.3 :z -13397581.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0968 :w 0.9952) - :camera-trans - (new 'static 'vector :x 3428789.8 :y 918241.25 :z -13448724.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9991 0.0 -0.0419 0.0051 0.9925 0.1216 0.0415 -0.1217 0.9916) + :trans (new 'static 'vector :x 3430875.2 :y 897149.3 :z -13397581.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.0968 :w 0.9952) + :camera-trans (new 'static 'vector :x 3428789.8 :y 918241.25 :z -13448724.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9991 0.0 -0.0419 0.0051 0.9925 0.1216 0.0415 -0.1217 0.9916) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1394,14 +1175,10 @@ (new 'static 'continue-point :name "snow-flut-flut" :level 'snow - :trans - (new 'static 'vector :x 2481850.0 :y 1054709.4 :z -13922438.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.8628 :w -0.5055) - :camera-trans - (new 'static 'vector :x 2497063.0 :y 1069339.9 :z -13900353.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.8224 0.0 0.5688 -0.135 0.9713 -0.1953 -0.5525 -0.2374 -0.7989) + :trans (new 'static 'vector :x 2481850.0 :y 1054709.4 :z -13922438.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.8628 :w -0.5055) + :camera-trans (new 'static 'vector :x 2497063.0 :y 1069339.9 :z -13900353.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.8224 0.0 0.5688 -0.135 0.9713 -0.1953 -0.5525 -0.2374 -0.7989) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1412,14 +1189,10 @@ (new 'static 'continue-point :name "snow-pass-to-fort" :level 'snow - :trans - (new 'static 'vector :x 3751044.8 :y 917612.1 :z -13828696.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.3387 :w -0.9408) - :camera-trans - (new 'static 'vector :x 3779776.0 :y 933972.8 :z -13845825.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.6061 0.0 0.7953 -0.1493 0.9822 0.1138 -0.7812 -0.1878 0.5953) + :trans (new 'static 'vector :x 3751044.8 :y 917612.1 :z -13828696.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.3387 :w -0.9408) + :camera-trans (new 'static 'vector :x 3779776.0 :y 933972.8 :z -13845825.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.6061 0.0 0.7953 -0.1493 0.9822 0.1138 -0.7812 -0.1878 0.5953) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1430,14 +1203,10 @@ (new 'static 'continue-point :name "snow-by-ice-lake" :level 'snow - :trans - (new 'static 'vector :x 3151164.5 :y 1049638.1 :z -14246464.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.6226 :w 0.7824) - :camera-trans - (new 'static 'vector :x 3203905.2 :y 1080037.8 :z -14270850.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.4189 0.0 0.9079 -0.2169 0.971 0.1001 -0.8816 -0.2389 0.4068) + :trans (new 'static 'vector :x 3151164.5 :y 1049638.1 :z -14246464.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.6226 :w 0.7824) + :camera-trans (new 'static 'vector :x 3203905.2 :y 1080037.8 :z -14270850.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.4189 0.0 0.9079 -0.2169 0.971 0.1001 -0.8816 -0.2389 0.4068) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1448,14 +1217,10 @@ (new 'static 'continue-point :name "snow-by-ice-lake-alt" :level 'snow - :trans - (new 'static 'vector :x 3053335.0 :y 1048927.9 :z -14058945.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9997 :w 0.022) - :camera-trans - (new 'static 'vector :x 3045845.5 :y 1068868.0 :z -14012568.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.987 0.0 -0.1601 0.0195 0.9924 -0.1207 0.1589 -0.1223 -0.9796) + :trans (new 'static 'vector :x 3053335.0 :y 1048927.9 :z -14058945.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.9997 :w 0.022) + :camera-trans (new 'static 'vector :x 3045845.5 :y 1068868.0 :z -14012568.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.987 0.0 -0.1601 0.0195 0.9924 -0.1207 0.1589 -0.1223 -0.9796) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1466,14 +1231,10 @@ (new 'static 'continue-point :name "snow-outside-fort" :level 'snow - :trans - (new 'static 'vector :x 3431014.0 :y 901474.7 :z -13600187.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.0954 :w -0.9954) - :camera-trans - (new 'static 'vector :x 3429969.0 :y 922565.44 :z -13651353.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9998 0.0 -0.0196 0.0023 0.9926 0.1213 0.0195 -0.1213 0.9924) + :trans (new 'static 'vector :x 3431014.0 :y 901474.7 :z -13600187.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.0954 :w -0.9954) + :camera-trans (new 'static 'vector :x 3429969.0 :y 922565.44 :z -13651353.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9998 0.0 -0.0196 0.0023 0.9926 0.1213 0.0195 -0.1213 0.9924) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1484,14 +1245,10 @@ (new 'static 'continue-point :name "snow-outside-cave" :level 'snow - :trans - (new 'static 'vector :x 3200864.2 :y 907400.4 :z -13676660.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.5867 :w -0.8097) - :camera-trans - (new 'static 'vector :x 3247600.8 :y 928464.06 :z -13697606.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.4062 0.0 0.9137 -0.1107 0.9926 0.0492 -0.907 -0.1211 0.4032) + :trans (new 'static 'vector :x 3200864.2 :y 907400.4 :z -13676660.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.5867 :w -0.8097) + :camera-trans (new 'static 'vector :x 3247600.8 :y 928464.06 :z -13697606.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.4062 0.0 0.9137 -0.1107 0.9926 0.0492 -0.907 -0.1211 0.4032) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1502,14 +1259,10 @@ (new 'static 'continue-point :name "snow-across-from-flut" :level 'snow - :trans - (new 'static 'vector :x 2721898.5 :y 1049845.0 :z -13743428.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.7688 :w -0.6394) - :camera-trans - (new 'static 'vector :x 2712702.5 :y 1070288.5 :z -13791593.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9554 0.0 -0.2951 0.0343 0.9932 0.1111 0.2931 -0.1163 0.9489) + :trans (new 'static 'vector :x 2721898.5 :y 1049845.0 :z -13743428.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.7688 :w -0.6394) + :camera-trans (new 'static 'vector :x 2712702.5 :y 1070288.5 :z -13791593.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9554 0.0 -0.2951 0.0343 0.9932 0.1111 0.2931 -0.1163 0.9489) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1523,8 +1276,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 3072000.0 :y 1142784.0 :z -14028800.0 :w 1290240.0) + :bsphere (new 'static 'sphere :x 3072000.0 :y 1142784.0 :z -14028800.0 :w 1290240.0) :buzzer 65 :bottom-height (meters 128) :run-packages '("common") @@ -1546,18 +1298,13 @@ :mood-func 'update-mood-maincave :ocean #f :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "maincave-start" :level 'maincave - :trans - (new 'static 'vector :x 4420967.0 :y 33006.387 :z -13154230.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0174 :w -0.9998) - :camera-trans - (new 'static 'vector :x 4428164.5 :y 54074.164 :z -13204933.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.99 0.0 0.1405 -0.0169 0.9927 0.1192 -0.1395 -0.1204 0.9828) + :trans (new 'static 'vector :x 4420967.0 :y 33006.387 :z -13154230.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.0174 :w -0.9998) + :camera-trans (new 'static 'vector :x 4428164.5 :y 54074.164 :z -13204933.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.99 0.0 0.1405 -0.0169 0.9927 0.1192 -0.1395 -0.1204 0.9828) :load-commands '() :vis-nick 'mai :lev0 'maincave @@ -1568,14 +1315,10 @@ (new 'static 'continue-point :name "maincave-to-darkcave" :level 'maincave - :trans - (new 'static 'vector :x 4172175.8 :y 154223.83 :z -12445165.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.2093 :w 0.9778) - :camera-trans - (new 'static 'vector :x 4193893.2 :y 175317.81 :z -12491520.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9052 0.0 0.4248 -0.0514 0.9926 0.1096 -0.4217 -0.1211 0.8986) + :trans (new 'static 'vector :x 4172175.8 :y 154223.83 :z -12445165.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.2093 :w 0.9778) + :camera-trans (new 'static 'vector :x 4193893.2 :y 175317.81 :z -12491520.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9052 0.0 0.4248 -0.0514 0.9926 0.1096 -0.4217 -0.1211 0.8986) :load-commands '() :vis-nick 'mai :lev0 'maincave @@ -1586,14 +1329,10 @@ (new 'static 'continue-point :name "maincave-to-robocave" :level 'maincave - :trans - (new 'static 'vector :x 4760896.5 :y 44221.234 :z -12409880.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.548 :w 0.8364) - :camera-trans - (new 'static 'vector :x 4745230.0 :y 57869.926 :z -12426885.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.7343 0.0 -0.6788 0.1872 0.9611 0.2026 0.6524 -0.2759 0.7058) + :trans (new 'static 'vector :x 4760896.5 :y 44221.234 :z -12409880.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.548 :w 0.8364) + :camera-trans (new 'static 'vector :x 4745230.0 :y 57869.926 :z -12426885.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7343 0.0 -0.6788 0.1872 0.9611 0.2026 0.6524 -0.2759 0.7058) :load-commands '() :vis-nick 'mai :lev0 'maincave @@ -1607,8 +1346,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 4517888.0 :y 114688.0 :z -12484608.0 :w 655360.0) + :bsphere (new 'static 'sphere :x 4517888.0 :y 114688.0 :z -12484608.0 :w 655360.0) :buzzer 85 :bottom-height (meters -60) :run-packages '("common") @@ -1630,18 +1368,13 @@ :mood-func 'update-mood-darkcave :ocean #f :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "darkcave-start" :level 'darkcave - :trans - (new 'static 'vector :x 3813246.2 :y 129487.664 :z -12114304.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.1439 :w 0.9895) - :camera-trans - (new 'static 'vector :x 3793301.0 :y 145573.48 :z -12139847.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.7892 0.0 -0.614 0.1178 0.9813 0.1515 0.6026 -0.1919 0.7745) + :trans (new 'static 'vector :x 3813246.2 :y 129487.664 :z -12114304.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.1439 :w 0.9895) + :camera-trans (new 'static 'vector :x 3793301.0 :y 145573.48 :z -12139847.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7892 0.0 -0.614 0.1178 0.9813 0.1515 0.6026 -0.1919 0.7745) :load-commands '() :vis-nick 'dar :lev0 'maincave @@ -1655,8 +1388,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 3620864.0 :y 266240.0 :z -11935744.0 :w 368640.0) + :bsphere (new 'static 'sphere :x 3620864.0 :y 266240.0 :z -11935744.0 :w 368640.0) :buzzer 85 :bottom-height (meters -60) :run-packages '("common" "maincave") @@ -1678,18 +1410,13 @@ :mood-func 'update-mood-robocave :ocean #f :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "robocave-start" :level 'robocave - :trans - (new 'static 'vector :x 5208223.5 :y 69697.945 :z -11781496.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.3654 :w -0.9308) - :camera-trans - (new 'static 'vector :x 5171715.0 :y 90796.85 :z -11817413.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.7006 0.0 -0.7134 0.0864 0.9926 0.0849 0.7082 -0.1212 0.6954) + :trans (new 'static 'vector :x 5208223.5 :y 69697.945 :z -11781496.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.3654 :w -0.9308) + :camera-trans (new 'static 'vector :x 5171715.0 :y 90796.85 :z -11817413.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7006 0.0 -0.7134 0.0864 0.9926 0.0849 0.7082 -0.1212 0.6954) :load-commands '() :vis-nick 'rob :lev0 'maincave @@ -1700,14 +1427,10 @@ (new 'static 'continue-point :name "robocave-bottom" :level 'robocave - :trans - (new 'static 'vector :x 5435461.5 :y -97111.24 :z -11588379.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.1086 :w 0.994) - :camera-trans - (new 'static 'vector :x 5409966.5 :y -76017.664 :z -11632764.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.8662 0.0 -0.4996 0.0605 0.9926 0.105 0.4959 -0.1212 0.8598) + :trans (new 'static 'vector :x 5435461.5 :y -97111.24 :z -11588379.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.1086 :w 0.994) + :camera-trans (new 'static 'vector :x 5409966.5 :y -76017.664 :z -11632764.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.8662 0.0 -0.4996 0.0605 0.9926 0.105 0.4959 -0.1212 0.8598) :load-commands '() :vis-nick 'rob :lev0 'maincave @@ -1721,8 +1444,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 5529600.0 :y 81920.0 :z -11468800.0 :w 512000.0) + :bsphere (new 'static 'sphere :x 5529600.0 :y 81920.0 :z -11468800.0 :w 512000.0) :buzzer 85 :bottom-height (meters -60) :run-packages '("common" "maincave") @@ -1744,18 +1466,13 @@ :mood-func 'update-mood-lavatube :ocean #f :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "lavatube-start" :level 'lavatube - :trans - (new 'static 'vector :x 5511317.0 :y 159871.8 :z -14621239.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.3753 :w -0.9268) - :camera-trans - (new 'static 'vector :x 5510636.5 :y 197720.06 :z -14663128.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9992 0.0 -0.0386 0.0178 0.8875 0.4603 0.0343 -0.4606 0.8868) + :trans (new 'static 'vector :x 5511317.0 :y 159871.8 :z -14621239.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.3753 :w -0.9268) + :camera-trans (new 'static 'vector :x 5510636.5 :y 197720.06 :z -14663128.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9992 0.0 -0.0386 0.0178 0.8875 0.4603 0.0343 -0.4606 0.8868) :load-commands '() :vis-nick 'lav :lev0 'lavatube @@ -1766,14 +1483,10 @@ (new 'static 'continue-point :name "lavatube-middle" :level 'lavatube - :trans - (new 'static 'vector :x 9081441.0 :y -3935.8464 :z -14056285.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.7002 :w -0.7139) - :camera-trans - (new 'static 'vector :x 9055362.0 :y 10606.592 :z -14050822.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.205 0.0 -0.9787 0.2321 0.9714 -0.0486 0.9508 -0.2371 -0.1991) + :trans (new 'static 'vector :x 9081441.0 :y -3935.8464 :z -14056285.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.7002 :w -0.7139) + :camera-trans (new 'static 'vector :x 9055362.0 :y 10606.592 :z -14050822.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.205 0.0 -0.9787 0.2321 0.9714 -0.0486 0.9508 -0.2371 -0.1991) :load-commands '() :vis-nick 'lav :lev0 'lavatube @@ -1784,14 +1497,10 @@ (new 'static 'continue-point :name "lavatube-after-ribbon" :level 'lavatube - :trans - (new 'static 'vector :x 9954895.0 :y 390513.06 :z -16548614.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.7485 :w -0.663) - :camera-trans - (new 'static 'vector :x 9923721.0 :y 406466.16 :z -16541633.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.2191 0.0 -0.9756 0.1906 0.9807 -0.0428 0.9568 -0.1953 -0.2149) + :trans (new 'static 'vector :x 9954895.0 :y 390513.06 :z -16548614.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.7485 :w -0.663) + :camera-trans (new 'static 'vector :x 9923721.0 :y 406466.16 :z -16541633.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.2191 0.0 -0.9756 0.1906 0.9807 -0.0428 0.9568 -0.1953 -0.2149) :load-commands '() :vis-nick 'lav :lev0 'lavatube @@ -1802,14 +1511,10 @@ (new 'static 'continue-point :name "lavatube-end" :level 'lavatube - :trans - (new 'static 'vector :x 11479892.0 :y -163656.5 :z -18266490.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9589 :w -0.2836) - :camera-trans - (new 'static 'vector :x 11526721.0 :y -143482.47 :z -18257412.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.3027 0.0 0.953 -0.1235 0.9915 -0.0392 -0.945 -0.1296 -0.3001) + :trans (new 'static 'vector :x 11479892.0 :y -163656.5 :z -18266490.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.9589 :w -0.2836) + :camera-trans (new 'static 'vector :x 11526721.0 :y -143482.47 :z -18257412.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.3027 0.0 0.953 -0.1235 0.9915 -0.0392 -0.945 -0.1296 -0.3001) :load-commands '() :vis-nick 'lav :lev0 'lavatube @@ -1823,8 +1528,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 8806400.0 :y 131072.0 :z -15564800.0 :w 3174400.0) + :bsphere (new 'static 'sphere :x 8806400.0 :y 131072.0 :z -15564800.0 :w 3174400.0) :buzzer 90 :bottom-height (meters -70) :run-packages '("common") @@ -1846,18 +1550,13 @@ :mood-func 'update-mood-citadel :ocean #f :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "citadel-start" :level 'citadel - :trans - (new 'static 'vector :x 11442706.0 :y -142755.84 :z -18869044.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9992 :w 0.0392) - :camera-trans - (new 'static 'vector :x 11441183.0 :y -122509.31 :z -18820882.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9991 0.0 -0.0411 0.005 0.9925 -0.122 0.0408 -0.1221 -0.9916) + :trans (new 'static 'vector :x 11442706.0 :y -142755.84 :z -18869044.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.9992 :w 0.0392) + :camera-trans (new 'static 'vector :x 11441183.0 :y -122509.31 :z -18820882.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9991 0.0 -0.0411 0.005 0.9925 -0.122 0.0408 -0.1221 -0.9916) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -1868,14 +1567,10 @@ (new 'static 'continue-point :name "citadel-entrance" :level 'citadel - :trans - (new 'static 'vector :x 11443969.0 :y -154216.03 :z -18472782.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9728 :w 0.2314) - :camera-trans - (new 'static 'vector :x 11436929.0 :y -134244.36 :z -18426254.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9898 0.0 -0.1424 0.0173 0.9925 -0.1207 0.1413 -0.1219 -0.9824) + :trans (new 'static 'vector :x 11443969.0 :y -154216.03 :z -18472782.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.9728 :w 0.2314) + :camera-trans (new 'static 'vector :x 11436929.0 :y -134244.36 :z -18426254.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9898 0.0 -0.1424 0.0173 0.9925 -0.1207 0.1413 -0.1219 -0.9824) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -1887,14 +1582,10 @@ :name "citadel-warp" :level 'citadel :flags (continue-flags warp) - :trans - (new 'static 'vector :x 11454895.0 :y -161791.6 :z -18204690.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.7511 :w 0.6601) - :camera-trans - (new 'static 'vector :x 11406872.0 :y -141278.0 :z -18194638.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.1989 0.0 -0.98 0.1179 0.9927 -0.0239 0.9728 -0.1203 -0.1974) + :trans (new 'static 'vector :x 11454895.0 :y -161791.6 :z -18204690.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.7511 :w 0.6601) + :camera-trans (new 'static 'vector :x 11406872.0 :y -141278.0 :z -18194638.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.1989 0.0 -0.98 0.1179 0.9927 -0.0239 0.9728 -0.1203 -0.1974) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -1905,14 +1596,10 @@ (new 'static 'continue-point :name "citadel-launch-start" :level 'citadel - :trans - (new 'static 'vector :x 10827551.0 :y -94047.02 :z -18946718.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.8377 :w -0.546) - :camera-trans - (new 'static 'vector :x 10862150.0 :y -75343.875 :z -18922316.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.5766 0.0 0.8169 -0.1125 0.9904 -0.0794 -0.8091 -0.1378 -0.5711) + :trans (new 'static 'vector :x 10827551.0 :y -94047.02 :z -18946718.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.8377 :w -0.546) + :camera-trans (new 'static 'vector :x 10862150.0 :y -75343.875 :z -18922316.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.5766 0.0 0.8169 -0.1125 0.9904 -0.0794 -0.8091 -0.1378 -0.5711) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -1923,14 +1610,10 @@ (new 'static 'continue-point :name "citadel-launch-end" :level 'citadel - :trans - (new 'static 'vector :x 11047507.0 :y -81514.086 :z -19495960.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0292 :w 0.9995) - :camera-trans - (new 'static 'vector :x 11033498.0 :y -63027.2 :z -19534916.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9413 0.0 -0.3373 0.0481 0.9897 0.1343 0.3339 -0.1427 0.9317) + :trans (new 'static 'vector :x 11047507.0 :y -81514.086 :z -19495960.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.0292 :w 0.9995) + :camera-trans (new 'static 'vector :x 11033498.0 :y -63027.2 :z -19534916.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9413 0.0 -0.3373 0.0481 0.9897 0.1343 0.3339 -0.1427 0.9317) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -1941,14 +1624,10 @@ (new 'static 'continue-point :name "citadel-plat-start" :level 'citadel - :trans - (new 'static 'vector :x 11443470.0 :y -120194.664 :z -19845628.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9907 :w -0.1355) - :camera-trans - (new 'static 'vector :x 11443545.0 :y -99100.266 :z -19794374.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9999 0.0 0.0016 -0.0001 0.9926 -0.1207 -0.0015 -0.1207 -0.9926) + :trans (new 'static 'vector :x 11443470.0 :y -120194.664 :z -19845628.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.9907 :w -0.1355) + :camera-trans (new 'static 'vector :x 11443545.0 :y -99100.266 :z -19794374.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9999 0.0 0.0016 -0.0001 0.9926 -0.1207 -0.0015 -0.1207 -0.9926) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -1959,14 +1638,10 @@ (new 'static 'continue-point :name "citadel-plat-end" :level 'citadel - :trans - (new 'static 'vector :x 11269726.0 :y -12132.352 :z -19614712.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.0419 :w 0.9991) - :camera-trans - (new 'static 'vector :x 11264449.0 :y 7920.8447 :z -19661710.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9938 0.0 -0.1103 0.0134 0.9924 0.1215 0.1095 -0.1223 0.9864) + :trans (new 'static 'vector :x 11269726.0 :y -12132.352 :z -19614712.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.0419 :w 0.9991) + :camera-trans (new 'static 'vector :x 11264449.0 :y 7920.8447 :z -19661710.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9938 0.0 -0.1103 0.0134 0.9924 0.1215 0.1095 -0.1223 0.9864) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -1977,14 +1652,10 @@ (new 'static 'continue-point :name "citadel-generator-start" :level 'citadel - :trans - (new 'static 'vector :x 12138031.0 :y -36900.863 :z -18933304.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.7487 :w 0.6628) - :camera-trans - (new 'static 'vector :x 12101831.0 :y -19811.123 :z -18933632.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.0093 0.0 -0.9999 0.1678 0.9858 0.0015 0.9857 -0.1678 0.0092) + :trans (new 'static 'vector :x 12138031.0 :y -36900.863 :z -18933304.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.7487 :w 0.6628) + :camera-trans (new 'static 'vector :x 12101831.0 :y -19811.123 :z -18933632.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.0093 0.0 -0.9999 0.1678 0.9858 0.0015 0.9857 -0.1678 0.0092) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -1995,14 +1666,10 @@ (new 'static 'continue-point :name "citadel-generator-end" :level 'citadel - :trans - (new 'static 'vector :x 11837483.0 :y -20177.715 :z -19506848.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.3564 :w 0.9342) - :camera-trans - (new 'static 'vector :x 11872697.0 :y 887.6032 :z -19544198.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.7296 0.0 0.6838 -0.0851 0.9922 0.0908 -0.6785 -0.1245 0.7239) + :trans (new 'static 'vector :x 11837483.0 :y -20177.715 :z -19506848.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.3564 :w 0.9342) + :camera-trans (new 'static 'vector :x 11872697.0 :y 887.6032 :z -19544198.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7296 0.0 0.6838 -0.0851 0.9922 0.0908 -0.6785 -0.1245 0.7239) :load-commands '() :vis-nick #f :lev0 'citadel @@ -2013,14 +1680,10 @@ (new 'static 'continue-point :name "citadel-elevator" :level 'citadel - :trans - (new 'static 'vector :x 11447961.0 :y 234055.27 :z -19169000.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.2351 :w 0.9719) - :camera-trans - (new 'static 'vector :x 11454465.0 :y 252947.66 :z -19126656.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9932 0.0 0.1161 -0.017 0.9892 -0.1454 -0.1148 -0.1464 -0.9825) + :trans (new 'static 'vector :x 11447961.0 :y 234055.27 :z -19169000.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.2351 :w 0.9719) + :camera-trans (new 'static 'vector :x 11454465.0 :y 252947.66 :z -19126656.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9932 0.0 0.1161 -0.017 0.9892 -0.1454 -0.1148 -0.1464 -0.9825) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -2034,8 +1697,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 11436032.0 :y -462848.0 :z -19750912.0 :w 1228800.0) + :bsphere (new 'static 'sphere :x 11436032.0 :y -462848.0 :z -19750912.0 :w 1228800.0) :buzzer 91 :bottom-height (meters -114) :run-packages '("common") @@ -2058,20 +1720,14 @@ :ocean #f :sky #t :sun-fade 1.0 - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "finalboss-start" :level 'finalboss - :trans - (new 'static 'vector :x 11548456.0 :y 2215872.0 :z -19409498.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.7325 :w 0.6807) - :camera-trans - (new 'static 'vector :x 11513311.0 :y 2234999.5 :z -19435708.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.5883 0.0 -0.8085 0.1074 0.9911 0.0781 0.8014 -0.1328 0.5831) - :load-commands - '((special "citb-exit-plat-4" #t)) + :trans (new 'static 'vector :x 11548456.0 :y 2215872.0 :z -19409498.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.7325 :w 0.6807) + :camera-trans (new 'static 'vector :x 11513311.0 :y 2234999.5 :z -19435708.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.5883 0.0 -0.8085 0.1074 0.9911 0.0781 0.8014 -0.1328 0.5831) + :load-commands '((special "citb-exit-plat-4" #t)) :vis-nick 'fin :lev0 'finalboss :disp0 'display @@ -2081,16 +1737,11 @@ (new 'static 'continue-point :name "finalboss-fight" :level 'finalboss - :trans - (new 'static 'vector :x 12288335.0 :y 1970461.9 :z -19848522.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.5359 :w -0.8442) - :camera-trans - (new 'static 'vector :x 12265366.0 :y 1984228.5 :z -19842574.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.243 0.0 -0.97 0.2594 0.9635 -0.065 0.9346 -0.2675 -0.2341) - :load-commands - '((special "citb-exit-plat-4" #t)) + :trans (new 'static 'vector :x 12288335.0 :y 1970461.9 :z -19848522.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.5359 :w -0.8442) + :camera-trans (new 'static 'vector :x 12265366.0 :y 1984228.5 :z -19842574.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.243 0.0 -0.97 0.2594 0.9635 -0.065 0.9346 -0.2675 -0.2341) + :load-commands '((special "citb-exit-plat-4" #t)) :vis-nick 'fin :lev0 'finalboss :disp0 'display @@ -2103,8 +1754,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 11837440.0 :y 2129920.0 :z -19578880.0 :w 778240.0) + :bsphere (new 'static 'sphere :x 11837440.0 :y 2129920.0 :z -19578880.0 :w 778240.0) :buzzer 91 :bottom-height (meters -114) :run-packages '("common") @@ -2152,18 +1802,14 @@ :mood-func 'update-mood-default :ocean #f :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "demo-start" :level 'demo :flags (continue-flags demo) - :trans - (new 'static 'vector :x 66396.16 :y 29782.016 :z -919973.5 :w 1.0) + :trans (new 'static 'vector :x 66396.16 :y 29782.016 :z -919973.5 :w 1.0) :quat (new 'static 'quaternion :w 1.0) - :camera-trans - (new 'static 'vector :x 76871.68 :y 55061.707 :z -938752.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.8743 0.0 0.4852 -0.2117 0.8997 0.3816 -0.4365 -0.4364 0.7866) + :camera-trans (new 'static 'vector :x 76871.68 :y 55061.707 :z -938752.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.8743 0.0 0.4852 -0.2117 0.8997 0.3816 -0.4365 -0.4364 0.7866) :load-commands '() :vis-nick 'dem :lev0 'demo @@ -2198,19 +1844,14 @@ :mood-func 'update-mood-village1 :ocean #f :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "title-start" :level 'title :flags (continue-flags title) - :trans - (new 'static 'vector :x -635598.9 :y 222551.66 :z 710496.25 :w 1.0) - :quat - (new 'static 'quaternion :y -0.3323 :w -0.9431) - :camera-trans - (new 'static 'vector :x -665644.25 :y 250803.0 :z 668470.9 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.8129 0.0 -0.5823 0.0958 0.9863 0.1337 0.5744 -0.1645 0.8018) + :trans (new 'static 'vector :x -635598.9 :y 222551.66 :z 710496.25 :w 1.0) + :quat (new 'static 'quaternion :y -0.3323 :w -0.9431) + :camera-trans (new 'static 'vector :x -665644.25 :y 250803.0 :z 668470.9 :w 1.0) + :camera-rot (new 'static 'array float 9 0.8129 0.0 -0.5823 0.0958 0.9863 0.1337 0.5744 -0.1645 0.8018) :load-commands '() :vis-nick 'tit :lev0 'title @@ -2224,8 +1865,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x -40960.0 :z 40960.0 :w 1126400.0) + :bsphere (new 'static 'sphere :x -40960.0 :z 40960.0 :w 1126400.0) :bottom-height (meters -10000000) :run-packages '("common") :wait-for-load #f @@ -2247,18 +1887,13 @@ :ocean #f :sky #t :sun-fade 1.0 - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "halfpipe" :level 'halfpipe - :trans - (new 'static 'vector :x -1048.9856 :y -172047.97 :z -212555.78 :w 1.0) - :quat - (new 'static 'quaternion :y 0.061 :w 0.9981) - :camera-trans - (new 'static 'vector :x -9941.401 :y -150049.17 :z -159587.94 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.979 0.0 -0.2037 0.0545 0.9634 -0.2622 0.1963 -0.2678 -0.9432) + :trans (new 'static 'vector :x -1048.9856 :y -172047.97 :z -212555.78 :w 1.0) + :quat (new 'static 'quaternion :y 0.061 :w 0.9981) + :camera-trans (new 'static 'vector :x -9941.401 :y -150049.17 :z -159587.94 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.979 0.0 -0.2037 0.0545 0.9634 -0.2622 0.1963 -0.2678 -0.9432) :load-commands '() :vis-nick #f :lev0 'halfpipe diff --git a/goal_src/engine/math/math.gc b/goal_src/engine/math/math.gc index d50f4d0e00..0ab9ef0a25 100644 --- a/goal_src/engine/math/math.gc +++ b/goal_src/engine/math/math.gc @@ -279,7 +279,7 @@ (define *random-generator* (new 'global 'random-generator)) ;; I wonder who wrote this code. -(set! (-> *random-generator* seed) #x666EDD1E) +(set! (-> *random-generator* seed) #x666edd1e) (defmacro sext32-64 (x) "Sign extend a 32-bit value to 64-bits" @@ -311,3 +311,9 @@ (the uint result) ) ) + +(defmacro rand-float-gen (&key (gen *random-generator*)) + "Generate a float from [0, 1)" + `(+ -1.0 (the-as float (logior #x3f800000 (/ (rand-uint31-gen ,gen) 256)))) + ) + diff --git a/goal_src/engine/nav/navigate.gc b/goal_src/engine/nav/navigate.gc index 42717454e1..53395f4222 100644 --- a/goal_src/engine/nav/navigate.gc +++ b/goal_src/engine/nav/navigate.gc @@ -140,37 +140,28 @@ ) (define *default-nav-mesh* (new 'static 'nav-mesh - :bounds - (new 'static 'sphere :x 12288.0 :y -200704.0 :z 12288.0 :w 20480.0) - :origin - (new 'static 'vector :y -200704.0 :w 1.0) + :bounds (new 'static 'sphere :x 12288.0 :y -200704.0 :z 12288.0 :w 20480.0) + :origin (new 'static 'vector :y -200704.0 :w 1.0) :vertex-count 4 - :vertex - (new 'static 'inline-array nav-vertex 4 + :vertex (new 'static 'inline-array nav-vertex 4 (new 'static 'nav-vertex :z 16384.0 :w 1.0) (new 'static 'nav-vertex :z 8192.0 :w 1.0) (new 'static 'nav-vertex :x 8192.0 :z 8192.0 :w 1.0) (new 'static 'nav-vertex :x 8192.0 :w 1.0) ) :poly-count 2 - :poly - (new 'static 'inline-array nav-poly 2 + :poly (new 'static 'inline-array nav-poly 2 (new 'static 'nav-poly - :vertex - (new 'static 'array uint8 3 #x0 #x2 #x1) - :adj-poly - (new 'static 'array uint8 3 #xff #x1 #xff) + :vertex (new 'static 'array uint8 3 #x0 #x2 #x1) + :adj-poly (new 'static 'array uint8 3 #xff #x1 #xff) ) (new 'static 'nav-poly :id #x1 - :vertex - (new 'static 'array uint8 3 #x1 #x2 #x3) - :adj-poly - (new 'static 'array uint8 3 #x0 #xff #xff) + :vertex (new 'static 'array uint8 3 #x1 #x2 #x3) + :adj-poly (new 'static 'array uint8 3 #x0 #xff #xff) ) ) - :route - (new 'static 'inline-array vector4ub 4 + :route (new 'static 'inline-array vector4ub 4 (new 'static 'vector4ub :data (new 'static 'array uint8 4 #xcb #x0 #x0 #x0)) (new 'static 'vector4ub) (new 'static 'vector4ub) @@ -243,17 +234,11 @@ (vector+! arg1 arg1 (-> obj origin)) ) -(define *edge-vert0-table* - (the-as (array int8) (new 'static 'boxed-array :type int8 :length 3 :allocated-length 3 1 2 0)) - ) +(define *edge-vert0-table* (the-as (array int8) (new 'static 'boxed-array :type int8 1 2 0))) -(define *edge-vert1-table* - (the-as (array int8) (new 'static 'boxed-array :type int8 :length 3 :allocated-length 3 2 0 1)) - ) +(define *edge-vert1-table* (the-as (array int8) (new 'static 'boxed-array :type int8 2 0 1))) -(define *edge-mask-table* - (the-as (array int8) (new 'static 'boxed-array :type int8 :length 3 :allocated-length 3 1 2 4)) - ) +(define *edge-mask-table* (the-as (array int8) (new 'static 'boxed-array :type int8 1 2 4))) (defun inc-mod3 ((arg0 int)) (local-vars (v0-1 int) (v1-1 int)) diff --git a/goal_src/engine/target/logic-target.gc b/goal_src/engine/target/logic-target.gc index 540dda682c..459d167c4c 100644 --- a/goal_src/engine/target/logic-target.gc +++ b/goal_src/engine/target/logic-target.gc @@ -1116,24 +1116,14 @@ ) ) (let ((v1-146 (-> self current-level))) - (when (and (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (seconds 2)) - (and v1-146 - (< (-> self control trans y) (-> v1-146 info bottom-height)) - (not (and (= *cheat-mode* 'debug) (cpad-hold? (-> self control unknown-cpad-info00 number) r2))) - ) - ) - (let ((a1-32 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-32 from) self) - (set! (-> a1-32 num-params) 2) - (set! (-> a1-32 message) 'attack-invinc) - (set! (-> a1-32 param 0) (the-as uint #f)) - (let ((a0-102 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-102 mode) 'endlessfall) - (set! (-> a1-32 param 1) (the-as uint a0-102)) - ) - (send-event-function self a1-32) + (if (and (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (seconds 2)) + (and v1-146 + (< (-> self control trans y) (-> v1-146 info bottom-height)) + (not (and (= *cheat-mode* 'debug) (cpad-hold? (-> self control unknown-cpad-info00 number) r2))) + ) + ) + (send-event self 'attack-invinc #f (static-attack-info ((mode 'endlessfall)))) ) - ) ) 0 (none) @@ -2042,18 +2032,7 @@ (set! (-> self control unknown-vector52 quad) (-> self control trans quad)) (set! (-> self control unknown-vector52 y) (+ -819200.0 (-> self control unknown-vector52 y))) (set! (-> self align) (new 'process 'align-control self)) - (let ((s5-1 (get-process *16k-dead-pool* sidekick #x4000))) - (set! (-> self sidekick) - (the-as (pointer sidekick) (when s5-1 - (let ((t9-37 (method-of-type sidekick activate))) - (t9-37 (the-as sidekick s5-1) self 'sidekick (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 init-sidekick) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> self sidekick) (process-spawn sidekick :init init-sidekick :from *16k-dead-pool* :to self)) (set! (-> self manipy) (the-as (pointer manipy) #f)) (set! (-> self event-hook) target-generic-event-handler) (set! (-> self current-level) #f) @@ -2081,17 +2060,16 @@ (set! (-> *level* border?) #f) (set! (-> *setting-control* default border-mode) #f) (stop arg0) - (let* ((s5-0 (get-process *target-dead-pool* target #x4000)) - (v1-3 (when s5-0 - (let ((t9-2 (method-of-type target activate))) - ;; note: this constant must be DPROCESS_STACK_SIZE - (t9-2 (the-as target s5-0) *target-pool* 'target (&-> *dram-stack* DPROCESS_STACK_SIZE)) - ) - (run-now-in-process s5-0 init-target arg1) - (-> s5-0 ppointer) - ) - ) - ) + (let ((v1-3 (process-spawn + target + :init init-target + arg1 + :from *target-dead-pool* + :to *target-pool* + :stack *kernel-dram-stack* + ) + ) + ) (if v1-3 (set! *target* (the-as target (-> v1-3 0 self))) (set! *target* #f) diff --git a/goal_src/engine/target/sidekick.gc b/goal_src/engine/target/sidekick.gc index 2e7cac7c27..5d1344be3b 100644 --- a/goal_src/engine/target/sidekick.gc +++ b/goal_src/engine/target/sidekick.gc @@ -8,6 +8,7 @@ (load-art-import sidekick) ;; DECOMP BEGINS + (import "goal_src/import/sidekick-ag.gc") (define *sidekick-remap* '(("run-to-stance-left" "run-to-stance") @@ -65,8 +66,7 @@ ) (defstate sidekick-clone (sidekick) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) (case arg2 (('matrix) @@ -122,10 +122,8 @@ ) ) ) - :code - (the-as (function none :behavior sidekick) looping-code) - :post - (behavior () + :code (the-as (function none :behavior sidekick) looping-code) + :post (behavior () (let ((v1-0 'process-drawable-art-error) (a0-0 (-> self parent-override)) ) diff --git a/goal_src/engine/target/target-death.gc b/goal_src/engine/target/target-death.gc index 74b5753f3e..1848835481 100644 --- a/goal_src/engine/target/target-death.gc +++ b/goal_src/engine/target/target-death.gc @@ -6,6 +6,7 @@ ;; dgos: GAME, ENGINE ;; DECOMP BEGINS + (import "goal_src/import/deathcam-ag.gc") (defskelgroup *deathcam-sg* deathcam deathcam-lod0-jg deathcam-idle-ja @@ -39,10 +40,8 @@ ) (defstate target-continue (target) - :event - target-generic-event-handler - :exit - (behavior () + :event target-generic-event-handler + :exit (behavior () (set! (-> *load-boundary-target* 0 quad) (-> (camera-pos) quad)) (set! (-> *load-boundary-target* 1 quad) (-> (target-pos 0) quad)) (set! (-> *load-boundary-target* 2 quad) (-> *load-boundary-target* 0 quad)) @@ -60,8 +59,7 @@ (clear-pending-settings-from-process *setting-control* self 'music) (none) ) - :code - (behavior ((arg0 continue-point)) + :code (behavior ((arg0 continue-point)) (set! (-> self state-time) (-> *display* base-frame-counter)) (if (-> *art-control* reserve-buffer) (reserve-free *art-control* (-> *art-control* reserve-buffer heap)) @@ -239,44 +237,36 @@ ) ((logtest? (-> arg0 flags) (continue-flags sage-demo-convo)) (set-blackout-frames (seconds 1)) - (let ((s5-5 (get-process *default-dead-pool* process #x4000))) - (when s5-5 - (let ((t9-60 (method-of-type process activate))) - (t9-60 s5-5 *default-pool* 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process - s5-5 - (lambda () - (local-vars (v1-10 basic)) - (let ((gp-0 (entity-by-name "sage-23"))) - (when gp-0 - (set-blackout-frames (seconds 100)) - (entity-birth-no-kill gp-0) - (suspend) - (suspend) - (send-event - (if gp-0 - (-> gp-0 extra process) - ) - 'play-anim + (process-spawn-function + process + (lambda () + (local-vars (v1-10 basic)) + (let ((gp-0 (entity-by-name "sage-23"))) + (when gp-0 + (set-blackout-frames (seconds 100)) + (entity-birth-no-kill gp-0) + (suspend) + (suspend) + (send-event + (if gp-0 + (-> gp-0 extra process) ) - ) + 'play-anim ) - (let ((gp-1 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-1) (seconds 2)) - (suspend) - ) - ) - (until (not v1-10) - (suspend) - (set! v1-10 (and *target* (logtest? (-> *target* state-flags) (state-flags sf08)))) - ) - (set! (-> *cpad-list* cpads 0 change-time) (-> *display* base-frame-counter)) - (reset-actors 'dead) - (start 'play (get-continue-by-name *game-info* "misty-start")) ) ) - (-> s5-5 ppointer) + (let ((gp-1 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-1) (seconds 2)) + (suspend) + ) + ) + (until (not v1-10) + (suspend) + (set! v1-10 (and *target* (logtest? (-> *target* state-flags) (state-flags sf08)))) + ) + (set! (-> *cpad-list* cpads 0 change-time) (-> *display* base-frame-counter)) + (reset-actors 'dead) + (start 'play (get-continue-by-name *game-info* "misty-start")) ) ) ) @@ -454,15 +444,7 @@ (when (and s5-8 (not (null? (-> s5-8 continues)))) (format 0 "~A ~A ~A~%" (-> arg0 level) (-> s5-8 name) (car (-> s5-8 continues))) (inspect global) - (let ((gp-1 (get-process *default-dead-pool* process #x4000))) - (when gp-1 - (let ((t9-104 (method-of-type process activate))) - (t9-104 gp-1 *default-pool* 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process gp-1 (lambda ((arg0 continue-point)) (start 'play arg0)) (car (-> s5-8 continues))) - (-> gp-1 ppointer) - ) - ) + (process-spawn-function process (lambda ((arg0 continue-point)) (start 'play arg0)) (car (-> s5-8 continues))) ) ) ) @@ -473,8 +455,7 @@ (go target-stance) (none) ) - :post - target-no-move-post + :post target-no-move-post ) (define *smack-mods* (new 'static 'surface @@ -499,8 +480,7 @@ :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 - :mult-hook - (lambda :behavior target + :mult-hook (lambda :behavior target ((arg0 surface) (arg1 surface) (arg2 surface) (arg3 int)) (when (= arg3 1) (let ((f30-0 (-> self control unknown-float40)) @@ -545,8 +525,7 @@ :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 - :mult-hook - (lambda :behavior target + :mult-hook (lambda :behavior target ((arg0 surface) (arg1 surface) (arg2 surface) (arg3 int)) (when (= arg3 1) (let ((f30-0 (-> self control unknown-float40)) @@ -581,26 +560,19 @@ ) (defbehavior target-hit-effect target ((arg0 attack-info)) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker s5-0) self 'part-tracker (the-as pointer #x70004000)) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 1) + -1 + #f + #f + #f + (if (logtest? (-> arg0 mask) (attack-mask intersection)) + (-> arg0 intersection) + (-> self control root-prim prim-core) ) - (run-now-in-process - s5-0 - part-tracker-init - (-> *part-group-id-table* 1) - -1 - #f - #f - #f - (if (logtest? (-> arg0 mask) 4) - (-> arg0 intersection) - (-> self control root-prim prim-core) - ) - ) - (-> s5-0 ppointer) - ) + :to self ) (let ((v1-9 (-> arg0 mode))) (cond @@ -622,15 +594,7 @@ ) (case (-> arg0 mode) (('burn 'burnup) - (let ((gp-1 (get-process *default-dead-pool* process #x4000))) - (when gp-1 - (let ((t9-10 (method-of-type process activate))) - (t9-10 gp-1 self 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process gp-1 process-drawable-burn-effect 1200) - (-> gp-1 ppointer) - ) - ) + (process-spawn-function process process-drawable-burn-effect 1200 :to self) ) (('tar) (sound-play-by-name (static-sound-name "get-burned") (new-sound-id) 1024 0 0 1 #t) @@ -707,7 +671,7 @@ (let ((s5-0 #f)) (if (and (!= (-> arg0 angle) 'front) (!= (-> arg0 angle) 'shove) - (logtest? (-> arg0 mask) 2) + (logtest? (-> arg0 mask) (attack-mask vector)) (!= (-> arg0 shove-back) 0.0) ) (forward-up-nopitch->quaternion (-> self control dir-targ) arg1 (-> self control dynam gravity-normal)) @@ -720,7 +684,7 @@ (set! (-> self control unknown-surface00) *smack-up-mods*) ) (('front) - (if (and (logtest? (-> arg0 mask) 2) (!= (-> arg0 shove-back) 0.0)) + (if (and (logtest? (-> arg0 mask) (attack-mask vector)) (!= (-> arg0 shove-back) 0.0)) (forward-up-nopitch->quaternion (-> self control dir-targ) (vector-negate! (new 'stack-no-clear 'vector) arg1) @@ -844,10 +808,8 @@ ) (defstate target-hit (target) - :event - target-standard-event-handler - :exit - (behavior () + :event target-standard-event-handler + :exit (behavior () (let ((gp-0 (new-stack-vector0)) (f30-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) ) @@ -872,8 +834,7 @@ (target-exit) (none) ) - :trans - (behavior () + :trans (behavior () (when (= *cheat-mode* 'debug) (when (and (not *pause-lock*) (cpad-hold? (-> self control unknown-cpad-info00 number) r2)) (pickup-collectable! (-> self fact-info-target) (pickup-type eco-green) (the-as float 1.0) (the-as handle #f)) @@ -882,8 +843,7 @@ ) (none) ) - :code - (behavior ((arg0 symbol) (arg1 attack-info)) + :code (behavior ((arg0 symbol) (arg1 attack-info)) (logclear! (-> self water flags) (water-flags wt16)) (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((gp-0 (-> self attack-info))) @@ -908,7 +868,7 @@ ) ) (combine! gp-0 arg1) - (when (zero? (logand (-> gp-0 mask) 2)) + (when (zero? (logand (-> gp-0 mask) (attack-mask vector))) (vector-z-quaternion! (-> gp-0 vector) (-> self control unknown-quaternion00)) (vector-xz-normalize! (-> gp-0 vector) (- (fabs (-> gp-0 shove-back)))) (set! (-> gp-0 vector y) (-> gp-0 shove-up)) @@ -1012,16 +972,12 @@ (go target-hit-ground #f) (none) ) - :post - target-post + :post target-post ) (define *death-spool-array* (the-as (array spool-anim) - (new - 'static - 'boxed-array - :type spool-anim :length 11 :allocated-length 11 + (new 'static 'boxed-array :type spool-anim (new 'static 'spool-anim :name "death-0181" :index 3 :parts 1 :command-list '()) (new 'static 'spool-anim :name "death-0182" :index 4 :parts 1 :command-list '()) (new 'static 'spool-anim :name "death-0184" :index 5 :parts 1 :command-list '()) @@ -1077,8 +1033,7 @@ ) (defstate target-death (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'end-mode) @@ -1114,8 +1069,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self state-flags) (state-flags sf03 sf15)) (target-exit) (clear-pending-settings-from-process *setting-control* self 'process-mask) @@ -1126,21 +1080,12 @@ (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) (none) ) - :trans - (-> target-hit trans) - :code - (behavior ((arg0 symbol)) + :trans (-> target-hit trans) + :code (behavior ((arg0 symbol)) (set! (-> self control unknown-uint20) (the-as uint #f)) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'target) - (set! (-> a1-0 param 0) (the-as uint 'die)) - (set! (-> a1-0 param 1) (the-as uint arg0)) - (set! (-> self control unknown-int21) - (the-as int (send-event-function (handle->process (-> self attack-info attacker)) a1-0)) - ) - ) + (set! (-> self control unknown-int21) + (the-as int (send-event (handle->process (-> self attack-info attacker)) 'target 'die arg0)) + ) (set! (-> self neck flex-blend) 0.0) (target-timed-invulnerable-off self) (set-setting! *setting-control* self 'process-mask 'set (the-as float 0.0) #x14a0000) @@ -1202,26 +1147,30 @@ (cond ((= arg0 'dark-eco-pool) (sound-play-by-name (static-sound-name "death-darkeco") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-6 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-6 - (let ((t9-21 (method-of-type part-tracker activate))) - (t9-21 (the-as part-tracker gp-6) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-6 part-tracker-init (-> *part-group-id-table* 31) -1 #f #f #f (-> self control trans)) - (-> gp-6 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 31) + -1 + #f + #f + #f + (-> self control trans) + :to *entity-pool* ) ) ((or (= arg0 'lava) (= arg0 'melt)) (sound-play-by-name (static-sound-name "death-melt") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-8 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-8 - (let ((t9-26 (method-of-type part-tracker activate))) - (t9-26 (the-as part-tracker gp-8) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-8 part-tracker-init (-> *part-group-id-table* 32) -1 #f #f #f (-> self control trans)) - (-> gp-8 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 32) + -1 + #f + #f + #f + (-> self control trans) + :to *entity-pool* ) ) ) @@ -1357,23 +1306,16 @@ ) ) (('burn 'burnup) - (let ((gp-15 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-15 - (let ((t9-52 (method-of-type part-tracker activate))) - (t9-52 (the-as part-tracker gp-15) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-15 - part-tracker-init - (-> *part-group-id-table* 708) - -1 - #f - #f - #f - (-> self control trans) - ) - (-> gp-15 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 708) + -1 + #f + #f + #f + (-> self control trans) + :to *entity-pool* ) (target-death-anim (the-as spool-anim #f)) ) @@ -1421,19 +1363,11 @@ (send-event (ppointer->process (-> self sidekick)) 'matrix 'play-anim) (send-event (ppointer->process (-> self sidekick)) 'shadow #f) (send-event self 'blend-shape #t) - (let* ((s5-7 (get-process *default-dead-pool* pov-camera #x4000)) - (s5-8 - (ppointer->handle - (when s5-7 - (let ((t9-68 (method-of-type pov-camera activate))) - (t9-68 (the-as pov-camera s5-7) *target-pool* 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process s5-7 pov-camera-init-by-other (-> self control trans) *deathcam-sg* gp-18 4 self '()) - (-> s5-7 ppointer) - ) - ) - ) - ) + (let ((s5-8 (ppointer->handle + (process-spawn pov-camera (-> self control trans) *deathcam-sg* gp-18 4 self '() :to *target-pool*) + ) + ) + ) (send-event (handle->process s5-8) 'music-movie-volume 0.0) (send-event (handle->process s5-8) 'sfx-movie-volume 50.0) (set! (-> self post-hook) target-no-ja-move-post) @@ -1461,8 +1395,7 @@ (anim-loop) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) diff --git a/goal_src/engine/target/target-handler.gc b/goal_src/engine/target/target-handler.gc index d1c53ba1a0..8eb9373ab2 100644 --- a/goal_src/engine/target/target-handler.gc +++ b/goal_src/engine/target/target-handler.gc @@ -322,7 +322,7 @@ 'shove ) ) - (set! (-> s5-0 mask) (the-as uint 2248)) + (set! (-> s5-0 mask) (attack-mask attacker shove-back shove-up angle)) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.1)) (go arg3 'shove s5-0) ) @@ -342,7 +342,7 @@ (when (zero? (logand (-> self state-flags) (state-flags sf03))) (cond ((or (logtest? (-> self state-flags) (state-flags sf04 sf05 sf06)) - (and (logtest? (-> arg1 mask) 32) + (and (logtest? (-> arg1 mask) (attack-mask mode)) (= (-> arg1 mode) 'darkeco) (and (and (= (-> self fact-info-target eco-type) (pickup-type eco-red)) (>= (-> self fact-info-target eco-level) 1.0) @@ -381,18 +381,18 @@ ) (when a1-2 (get-intersect-point (-> self attack-info-rec intersection) a1-2 (-> self control) arg3) - (logior! (-> self attack-info-rec mask) 4) + (logior! (-> self attack-info-rec mask) (attack-mask intersection)) ) ) ) (set! (-> self attack-info-rec prev-state) (-> self state)) - (logior! (-> self attack-info-rec mask) 8192) - (when (zero? (logand (-> self attack-info-rec mask) 8)) + (logior! (-> self attack-info-rec mask) (attack-mask atki13)) + (when (zero? (logand (-> self attack-info-rec mask) (attack-mask attacker))) (set! (-> self attack-info-rec attacker) (process->handle arg2)) - (logior! (-> self attack-info-rec mask) 8) + (logior! (-> self attack-info-rec mask) (attack-mask attacker)) ) (cond - ((and (logtest? (-> self attack-info-rec mask) 32) + ((and (logtest? (-> self attack-info-rec mask) (attack-mask mode)) (and (= (-> self attack-info-rec mode) 'damage) (not (and (= (-> self game mode) 'play) (>= 1.0 (-> self fact-info-target health)))) ) @@ -403,29 +403,22 @@ (- (-> *FACT-bank* health-single-inc)) (the-as handle #f) ) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker gp-1) self 'part-tracker (the-as pointer #x70004000)) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 1) + -1 + #f + #f + #f + (if (logtest? (-> self attack-info-rec mask) (attack-mask intersection)) + (-> self attack-info-rec intersection) + (-> self control root-prim prim-core) ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 1) - -1 - #f - #f - #f - (if (logtest? (-> self attack-info-rec mask) 4) - (-> self attack-info-rec intersection) - (-> self control root-prim prim-core) - ) - ) - (-> gp-1 ppointer) - ) + :to self ) (target-timed-invulnerable - (if (logtest? (-> self attack-info-rec mask) 16) + (if (logtest? (-> self attack-info-rec mask) (attack-mask invinc-time)) (-> self attack-info-rec invinc-time) (-> *TARGET-bank* hit-invulnerable-timeout) ) @@ -810,9 +803,9 @@ (('shove) (when (!= (-> self next-state name) 'target-hit) (mem-copy! (the-as pointer (-> self attack-info-rec)) (the-as pointer (-> arg3 param 1)) 104) - (when (zero? (logand (-> self attack-info-rec mask) 8)) + (when (zero? (logand (-> self attack-info-rec mask) (attack-mask attacker))) (set! (-> self attack-info-rec attacker) (process->handle arg0)) - (logior! (-> self attack-info-rec mask) 8) + (logior! (-> self attack-info-rec mask) (attack-mask attacker)) ) (go target-hit 'shove (-> self attack-info-rec)) ) diff --git a/goal_src/engine/target/target-part.gc b/goal_src/engine/target/target-part.gc index d237512763..2e1feda33e 100644 --- a/goal_src/engine/target/target-part.gc +++ b/goal_src/engine/target/target-part.gc @@ -194,13 +194,11 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 56) (sp-item 57)) + :parts ((sp-item 56) (sp-item 57)) ) (defpart 56 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -221,13 +219,11 @@ ) (defpart 58 - :init-specs - ((sp-flt spt-fade-a -0.64)) + :init-specs ((sp-flt spt-fade-a -0.64)) ) (defpart 57 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 12)) (sp-flt spt-rot-z (degrees 0.0)) @@ -248,13 +244,11 @@ :duration 10 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 59) (sp-item 60)) + :parts ((sp-item 59) (sp-item 60)) ) (defpart 59 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 24.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -282,8 +276,7 @@ ) (defpart 60 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 32.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) @@ -311,13 +304,11 @@ :duration 10 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 62) (sp-item 63) (sp-item 64)) + :parts ((sp-item 62) (sp-item 63) (sp-item 64)) ) (defpart 62 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -343,13 +334,11 @@ ) (defpart 61 - :init-specs - ((sp-flt spt-fade-r -0.7111111) (sp-flt spt-fade-g 0.7111111) (sp-flt spt-fade-b 0.35555556)) + :init-specs ((sp-flt spt-fade-r -0.7111111) (sp-flt spt-fade-g 0.7111111) (sp-flt spt-fade-b 0.35555556)) ) (defpart 63 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.66) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -371,8 +360,7 @@ ) (defpart 64 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -392,8 +380,7 @@ :duration 10 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 65) (sp-item 66)) + :parts ((sp-item 65) (sp-item 66)) ) (defpartgroup group-punch-hit @@ -401,13 +388,11 @@ :duration 10 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 65) (sp-item 66)) + :parts ((sp-item 65) (sp-item 66)) ) (defpart 65 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 0.75)) (sp-flt spt-scale-x (meters 3)) @@ -431,13 +416,11 @@ ) (defpart 67 - :init-specs - ((sp-flt spt-fade-a -2.1333334)) + :init-specs ((sp-flt spt-fade-a -2.1333334)) ) (defpart 66 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 3)) @@ -457,8 +440,7 @@ :duration 10 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 68) + :parts ((sp-item 68) (sp-item 69) (sp-item 72 :binding 71) (sp-item 71 :flags (start-dead launch-asap)) @@ -485,8 +467,7 @@ ) (defpart 68 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-func spt-birth-func 'birth-func-copy-target-y-rot) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) @@ -511,8 +492,7 @@ ) (defpart 69 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-func spt-birth-func 'birth-func-copy-target-y-rot) (sp-flt spt-num 8.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) @@ -537,8 +517,7 @@ ) (defpart 72 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 12.0 8.0 1.0) (sp-flt spt-scale-x (meters 1)) (sp-copy-from-other spt-scale-y -4) @@ -552,8 +531,7 @@ ) (defpart 71 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-rnd-flt spt-y (meters -1.3333334) (meters 2.6666667) 1.0) @@ -579,13 +557,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 73) (sp-item 74) (sp-item 75)) + :parts ((sp-item 73) (sp-item 74) (sp-item 75)) ) (defpart 73 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -609,8 +585,7 @@ ) (defpart 74 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -634,8 +609,7 @@ ) (defpart 75 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -662,13 +636,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2371) (sp-item 2372) (sp-item 2370)) + :parts ((sp-item 2371) (sp-item 2372) (sp-item 2370)) ) (defpart 2371 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -692,8 +664,7 @@ ) (defpart 2372 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -717,8 +688,7 @@ ) (defpart 2370 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -745,13 +715,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 76) (sp-item 77) (sp-item 78)) + :parts ((sp-item 76) (sp-item 77) (sp-item 78)) ) (defpart 76 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -775,8 +743,7 @@ ) (defpart 77 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -800,8 +767,7 @@ ) (defpart 78 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -828,8 +794,7 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 76) (sp-item 77) (sp-item 78)) + :parts ((sp-item 76) (sp-item 77) (sp-item 78)) ) (defpartgroup group-land-poof-grass @@ -837,13 +802,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 79) (sp-item 80) (sp-item 81)) + :parts ((sp-item 79) (sp-item 80) (sp-item 81)) ) (defpart 79 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -867,8 +830,7 @@ ) (defpart 80 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -892,8 +854,7 @@ ) (defpart 81 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -921,13 +882,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 82) (sp-item 83)) + :parts ((sp-item 82) (sp-item 83)) ) (defpart 82 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -951,8 +910,7 @@ ) (defpart 83 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -980,8 +938,7 @@ :duration 5 :linger-duration 750 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 82) (sp-item 83) (sp-item 84) (sp-item 84)) + :parts ((sp-item 82) (sp-item 83) (sp-item 84) (sp-item 84)) ) (defpartgroup group-land-poof-stone @@ -989,13 +946,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 85) (sp-item 86)) + :parts ((sp-item 85) (sp-item 86)) ) (defpart 85 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1019,8 +974,7 @@ ) (defpart 86 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1048,13 +1002,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2373) (sp-item 2374)) + :parts ((sp-item 2373) (sp-item 2374)) ) (defpart 2373 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1076,8 +1028,7 @@ ) (defpart 2374 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1105,8 +1056,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 87)) + :parts ((sp-item 87)) ) (defpartgroup group-just-poof-stone @@ -1114,13 +1064,11 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 87)) + :parts ((sp-item 87)) ) (defpart 87 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1143,8 +1091,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2375) (sp-item 2376 :flags (is-3d))) + :parts ((sp-item 2375) (sp-item 2376 :flags (is-3d))) ) (defpartgroup group-just-poof-snow @@ -1152,8 +1099,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2375)) + :parts ((sp-item 2375)) ) (defpartgroup group-just-footprint-snow @@ -1161,13 +1107,11 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2376 :flags (is-3d))) + :parts ((sp-item 2376 :flags (is-3d))) ) (defpart 2376 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) (sp-func spt-birth-func 'birth-func-target-orient) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.25)) @@ -1184,8 +1128,7 @@ ) (defpart 2375 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1208,8 +1151,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2375)) + :parts ((sp-item 2375)) ) (defpartgroup group-just-poof-ice @@ -1217,8 +1159,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2375)) + :parts ((sp-item 2375)) ) (defpartgroup group-run-poof-crwood @@ -1226,8 +1167,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 89) (sp-item 89) (sp-item 84)) + :parts ((sp-item 89) (sp-item 89) (sp-item 84)) ) (defpartgroup group-just-poof-crwood @@ -1235,13 +1175,11 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 88)) + :parts ((sp-item 88)) ) (defpart 84 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-flt spt-y (meters -1)) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) @@ -1266,13 +1204,11 @@ ) (defpart 90 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 150 149 1) (sp-launcher-by-id spt-next-launcher 91)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 150 149 1) (sp-launcher-by-id spt-next-launcher 91)) ) (defpart 91 - :init-specs - ((sp-flt spt-fade-a -0.08)) + :init-specs ((sp-flt spt-fade-a -0.08)) ) (defpartgroup group-run-poof-wood @@ -1280,8 +1216,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 89)) + :parts ((sp-item 89)) ) (defpartgroup group-just-poof-wood @@ -1289,13 +1224,11 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 89)) + :parts ((sp-item 89)) ) (defpart 89 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1318,8 +1251,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2377)) + :parts ((sp-item 2377)) ) (defpartgroup group-just-poof-pcmetal @@ -1327,13 +1259,11 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2377)) + :parts ((sp-item 2377)) ) (defpart 2377 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1356,8 +1286,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 92) (sp-item 93 :flags (is-3d))) + :parts ((sp-item 92) (sp-item 93 :flags (is-3d))) ) (defpartgroup group-just-poof-grass @@ -1365,8 +1294,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 92)) + :parts ((sp-item 92)) ) (defpartgroup group-just-footprint-grass @@ -1374,13 +1302,11 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 93 :flags (is-3d))) + :parts ((sp-item 93 :flags (is-3d))) ) (defpart 92 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1399,8 +1325,7 @@ ) (defpart 93 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) (sp-func spt-birth-func 'birth-func-target-orient) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.25)) @@ -1421,8 +1346,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 88) (sp-item 94 :flags (is-3d))) + :parts ((sp-item 88) (sp-item 94 :flags (is-3d))) ) (defpartgroup group-just-poof-sand @@ -1430,8 +1354,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 88)) + :parts ((sp-item 88)) ) (defpartgroup group-just-footprint-sand @@ -1439,13 +1362,11 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 94 :flags (is-3d))) + :parts ((sp-item 94 :flags (is-3d))) ) (defpart 88 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1464,8 +1385,7 @@ ) (defpart 94 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) (sp-func spt-birth-func 'birth-func-target-orient) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.25)) @@ -1486,8 +1406,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2378)) + :parts ((sp-item 2378)) ) (defpartgroup group-just-poof-dirt @@ -1495,8 +1414,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2378)) + :parts ((sp-item 2378)) ) (defpartgroup group-just-footprint-dirt @@ -1504,13 +1422,11 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2379 :flags (is-3d))) + :parts ((sp-item 2379 :flags (is-3d))) ) (defpart 2378 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1529,8 +1445,7 @@ ) (defpart 2379 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) (sp-func spt-birth-func 'birth-func-target-orient) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.25)) @@ -1547,8 +1462,7 @@ ) (defpart 95 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 6.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -1570,8 +1484,7 @@ ) (defpart 2253 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 6.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -1593,8 +1506,7 @@ ) (defpart 96 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -1617,8 +1529,7 @@ ) (defpart 2250 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 6.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -1653,13 +1564,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 100) (sp-item 101)) + :parts ((sp-item 100) (sp-item 101)) ) (defpart 100 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 6.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1683,8 +1592,7 @@ ) (defpart 101 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -1711,13 +1619,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2380) (sp-item 2381)) + :parts ((sp-item 2380) (sp-item 2381)) ) (defpart 2380 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 6.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1741,8 +1647,7 @@ ) (defpart 2381 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -1769,13 +1674,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 102) (sp-item 103)) + :parts ((sp-item 102) (sp-item 103)) ) (defpart 102 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 6.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1799,8 +1702,7 @@ ) (defpart 103 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 0.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -1828,13 +1730,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 104)) + :parts ((sp-item 104)) ) (defpart 104 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 6.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1862,13 +1762,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2382)) + :parts ((sp-item 2382)) ) (defpart 2382 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 6.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1896,13 +1794,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2383)) + :parts ((sp-item 2383)) ) (defpart 2383 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 6.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1930,8 +1826,7 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2383)) + :parts ((sp-item 2383)) ) (defpartgroup group-slide-poof-wood @@ -1939,13 +1834,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 105)) + :parts ((sp-item 105)) ) (defpart 105 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 6.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1973,13 +1866,11 @@ :duration 5 :linger-duration 750 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 105)) + :parts ((sp-item 105)) ) (defpart 106 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -1998,8 +1889,7 @@ ) (defpart 2265 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -2018,8 +1908,7 @@ ) (defpart 2262 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -2038,8 +1927,7 @@ ) (defpart 107 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 0.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -2063,8 +1951,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 295 :fade-after (meters 100) :period 600 :length 5 :binding 296) + :parts ((sp-item 295 :fade-after (meters 100) :period 600 :length 5 :binding 296) (sp-item 296 :flags (start-dead launch-asap) :binding 297) (sp-item 297 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead)) (sp-item 296 :flags (start-dead launch-asap) :binding 297) @@ -2108,8 +1995,7 @@ :duration 75 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2003) (sp-item 2004) (sp-item 2005) (sp-item 2006)) + :parts ((sp-item 2003) (sp-item 2004) (sp-item 2005) (sp-item 2006)) ) (defpartgroup group-burn-death @@ -2117,13 +2003,11 @@ :duration 150 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2003)) + :parts ((sp-item 2003)) ) (defpart 2006 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2143,8 +2027,7 @@ ) (defpart 2003 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-x (meters 0) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 3) 1.0) @@ -2170,8 +2053,7 @@ ) (defpart 2004 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters 0.5) (meters 2) 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) @@ -2197,8 +2079,7 @@ ) (defpart 2005 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 3) 1.0) @@ -2229,13 +2110,11 @@ ) (defpart 2007 - :init-specs - ((sp-flt spt-fade-a -0.08)) + :init-specs ((sp-flt spt-fade-a -0.08)) ) (defpart 2002 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2258,8 +2137,7 @@ ) (defpart 2008 - :init-specs - ((sp-flt spt-fade-a -0.28444445)) + :init-specs ((sp-flt spt-fade-a -0.28444445)) ) (defbehavior process-drawable-burn-effect target ((arg0 time-frame)) @@ -2315,8 +2193,7 @@ ) (defpart 2391 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) (sp-func spt-birth-func 'birth-func-target-orient) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.02)) @@ -2339,29 +2216,25 @@ :id 611 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2474 :flags (launch-asap))) + :parts ((sp-item 2474 :flags (launch-asap))) ) (defpartgroup group-part-first-person-hud-right :id 612 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2475 :flags (launch-asap))) + :parts ((sp-item 2475 :flags (launch-asap))) ) (defpartgroup group-part-first-person-hud-selector :id 613 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2476 :flags (launch-asap))) + :parts ((sp-item 2476 :flags (launch-asap))) ) (defpart 2474 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3.5)) (sp-flt spt-scale-y (meters 13)) @@ -2376,8 +2249,7 @@ ) (defpart 2475 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3.5)) (sp-flt spt-rot-z (degrees 180.0)) @@ -2393,8 +2265,7 @@ ) (defpart 2476 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-copy-from-other spt-scale-y -4) diff --git a/goal_src/engine/target/target-util.gc b/goal_src/engine/target/target-util.gc index 7884b3e466..78da531f41 100644 --- a/goal_src/engine/target/target-util.gc +++ b/goal_src/engine/target/target-util.gc @@ -8,6 +8,7 @@ (define-extern target-collide-set! (function symbol float int :behavior target)) ;; DECOMP BEGINS + (import "goal_src/import/eichar-ag.gc") (defskelgroup *jchar-sg* eichar eichar-lod0-jg -1 @@ -21,10 +22,8 @@ (define *target-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #x2)) - :shadow-dir - (new 'static 'vector :x -0.4226 :y -0.9063 :w 409600.0) + :center (new 'static 'vector :w (the-as float #x2)) + :shadow-dir (new 'static 'vector :x -0.4226 :y -0.9063 :w 409600.0) :bot-plane (new 'static 'plane :y 1.0 :w 37683.2) :top-plane (new 'static 'plane :y 1.0 :w 4096.0) ) @@ -180,8 +179,7 @@ :root-offset (new 'static 'vector :y 4915.2 :w 1.0) :body-radius (meters 0.7) :edge-radius (meters 0.35) - :edge-offset - (new 'static 'vector :y 4915.2 :z 4096.0 :w 1.0) + :edge-offset (new 'static 'vector :y 4915.2 :z 4096.0 :w 1.0) :head-radius (meters 0.7) :head-height (meters 1.4) :head-offset (new 'static 'vector :y 4915.2 :w 1.0) @@ -997,41 +995,41 @@ (with-pp (let ((s4-0 (-> arg0 mask))) (set! (-> obj mask) (-> arg0 mask)) - (if (logtest? s4-0 8) + (if (logtest? s4-0 (attack-mask attacker)) (set! (-> obj attacker) (-> arg0 attacker)) ) - (if (logtest? s4-0 32) + (if (logtest? s4-0 (attack-mask mode)) (set! (-> obj mode) (-> arg0 mode)) ) - (if (logtest? s4-0 2048) + (if (logtest? s4-0 (attack-mask angle)) (set! (-> obj angle) (-> arg0 angle)) ) - (if (logtest? s4-0 512) + (if (logtest? s4-0 (attack-mask dist)) (set! (-> obj dist) (-> arg0 dist)) ) - (if (logtest? s4-0 1024) + (if (logtest? s4-0 (attack-mask control)) (set! (-> obj control) (-> arg0 control)) ) - (if (logtest? s4-0 256) + (if (logtest? s4-0 (attack-mask speed)) (set! (-> obj speed) (-> arg0 speed)) ) - (if (logtest? s4-0 64) + (if (logtest? s4-0 (attack-mask shove-back)) (set! (-> obj shove-back) (-> arg0 shove-back)) ) - (if (logtest? s4-0 128) + (if (logtest? s4-0 (attack-mask shove-up)) (set! (-> obj shove-up) (-> arg0 shove-up)) ) - (if (logtest? s4-0 16) + (if (logtest? s4-0 (attack-mask invinc-time)) (set! (-> obj invinc-time) (-> arg0 invinc-time)) ) - (if (logtest? s4-0 4096) + (if (logtest? s4-0 (attack-mask rotate-to)) (set! (-> obj rotate-to) (-> arg0 rotate-to)) ) - (if (logtest? s4-0 4) + (if (logtest? s4-0 (attack-mask intersection)) (set! (-> obj intersection quad) (-> arg0 intersection quad)) ) (cond - ((zero? (logand s4-0 2)) + ((zero? (logand s4-0 (attack-mask vector))) (let* ((s3-0 pp) (s2-0 (handle->process (-> obj attacker))) (v1-39 (if (and (nonzero? s2-0) (type-type? (-> s2-0 type) process-drawable)) @@ -1046,7 +1044,7 @@ (-> (the-as process-drawable s3-0) root trans) (-> (the-as process-drawable v1-39) root trans) ) - (logior! (-> obj mask) 2) + (logior! (-> obj mask) (attack-mask vector)) ) ) ) @@ -1062,18 +1060,18 @@ ) ) (set! (-> obj vector quad) (-> arg0 vector quad)) - (if (zero? (logand s4-0 64)) + (if (zero? (logand s4-0 (attack-mask shove-back))) (set! (-> obj shove-back) (vector-xz-length (-> obj vector))) ) - (if (zero? (logand s4-0 128)) + (if (zero? (logand s4-0 (attack-mask shove-up))) (set! (-> obj shove-up) (-> obj vector y)) ) ) ) - (if (zero? (logand (-> obj mask) 512)) + (if (zero? (logand (-> obj mask) (attack-mask dist))) (set! (-> obj dist) (fabs (-> obj shove-back))) ) - (if (logtest? s4-0 1) + (if (logtest? s4-0 (attack-mask trans)) (set! (-> obj trans quad) (-> arg0 trans quad)) ) ) diff --git a/goal_src/engine/target/target.gc b/goal_src/engine/target/target.gc index 049eb8e862..ad7e435084 100644 --- a/goal_src/engine/target/target.gc +++ b/goal_src/engine/target/target.gc @@ -334,36 +334,29 @@ ) (defstate target-startup (target) - :event - target-standard-event-handler - :code - (behavior () + :event target-standard-event-handler + :code (behavior () (suspend) (suspend) (go target-stance) (none) ) - :post - target-no-move-post + :post target-no-move-post ) (defstate target-stance (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (set! (-> self control unknown-surface00) *walk-mods*) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control unknown-float81) 0.0) (target-state-hook-exit) (none) ) - :trans - (behavior () + :trans (behavior () ((-> self state-hook)) (if (logtest? (-> self water flags) (water-flags wt10)) (go target-wade-stance) @@ -412,8 +405,7 @@ (fall-test) (none) ) - :code - (behavior () + :code (behavior () (let ((s5-0 22) (gp-0 (new 'stack 'ground-tween-info)) ) @@ -465,11 +457,10 @@ ((ja-group? eichar-attack-punch-ja) (set! (-> self control unknown-float81) (-> self control unknown-float80)) (set! (-> self control unknown-surface00) *walk-no-turn-mods*) - (ja-no-eval :group! - (if (rand-vu-percent? (the-as float 0.3)) - eichar-attack-punch-alt-end-ja - eichar-attack-punch-end-ja - ) + (ja-no-eval :group! (if (rand-vu-percent? (the-as float 0.3)) + eichar-attack-punch-alt-end-ja + eichar-attack-punch-end-ja + ) :num! (seek!) :frame-num 0.0 ) @@ -587,27 +578,22 @@ ) (none) ) - :post - target-post + :post target-post ) (defstate target-walk (target) - :event - target-walk-event-handler - :enter - (behavior () + :event target-walk-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *walk-mods*) (none) ) - :exit - (behavior () + :exit (behavior () (target-effect-exit) (target-state-hook-exit) (none) ) - :trans - (behavior () + :trans (behavior () ((-> self state-hook)) (when (= (-> self control ground-pat material) (pat-material ice)) (target-effect-exit) @@ -673,8 +659,7 @@ (fall-test) (none) ) - :code - (behavior () + :code (behavior () (let ((f28-0 0.0) (f30-0 (fmax 0.0 (fmin 1.0 (* 0.000048828126 (+ -16384.0 (-> self control unknown-float01)))))) (gp-0 #f) @@ -824,11 +809,10 @@ ) (until (ja-done? 0) (suspend) - (ja :num! - (seek! max (/ (* (fmax 20480.0 (-> self control unknown-float01)) (-> *display* seconds-per-frame)) - (/ (-> *TARGET-bank* run-up-cycle-dist) (-> *TARGET-bank* run-cycle-length)) - ) - ) + (ja :num! (seek! max (/ (* (fmax 20480.0 (-> self control unknown-float01)) (-> *display* seconds-per-frame)) + (/ (-> *TARGET-bank* run-up-cycle-dist) (-> *TARGET-bank* run-cycle-length)) + ) + ) ) ) (set! f28-0 30.0) @@ -977,22 +961,18 @@ ) (none) ) - :post - target-post + :post target-post ) (defstate target-turn-around (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (vector-turn-to (-> self control transv)) (set! (-> self control unknown-surface00) *turn-around-mods*) (set! (-> self control unknown-float81) 1.0) (none) ) - :exit - (behavior () + :exit (behavior () (target-state-hook-exit) (set-forward-vel (the-as float 0.0)) (set! (-> self control unknown-float01) 0.0) @@ -1000,8 +980,7 @@ (set! (-> self control unknown-float81) 0.0) (none) ) - :trans - (behavior () + :trans (behavior () ((-> self state-hook)) (if (and (logtest? (logior (logior (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) @@ -1028,8 +1007,7 @@ (slide-down-test) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.04)) (ja :group! eichar-turn-around-ja :num! min) (quaternion-rotate-y! (-> self control dir-targ) (-> self control dir-targ) (the-as float 32768.0)) @@ -1048,25 +1026,20 @@ (go target-walk) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) (defstate target-slide-down (target) - :event - target-walk-event-handler - :enter - (behavior () + :event target-walk-event-handler + :enter (behavior () (set! (-> self control unknown-surface00) *jump-mods*) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control unknown-dword35) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (when (or (logtest? (-> self control status) (cshape-moving-flags onsurf)) (if (< (target-move-dist (-> *TARGET-bank* stuck-time)) (-> *TARGET-bank* stuck-distance)) #t @@ -1077,8 +1050,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (if (not (ja-group? eichar-duck-stance-ja)) (ja-channel-push! 1 (seconds 0.1)) ) @@ -1091,8 +1063,7 @@ ) (none) ) - :post - target-post + :post target-post ) (defbehavior init-var-jump target ((arg0 float) (arg1 float) (arg2 vector) (arg3 vector) (arg4 vector)) @@ -1227,17 +1198,14 @@ ) (defstate target-duck-stance (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (set! (-> self control unknown-float81) 1.0) (set! (-> self control unknown-surface00) *duck-mods*) (target-collide-set! 'duck (the-as float 1.0)) (none) ) - :exit - (behavior () + :exit (behavior () (if (not (or (= (-> self next-state name) 'target-duck-walk) (= (-> self next-state name) 'target-duck-stance) (= (-> self next-state name) 'target-walk) @@ -1251,8 +1219,7 @@ (target-collide-set! 'normal (the-as float 0.0)) (none) ) - :trans - (behavior () + :trans (behavior () ((-> self state-hook)) (if (and (or (zero? (logand (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons l1 r1)) ) @@ -1292,8 +1259,7 @@ (slide-down-test) (none) ) - :code - (behavior () + :code (behavior () (cond ((ja-group? eichar-duck-roll-ja) (ja-no-eval :group! eichar-duck-roll-end-ja :num! (seek!) :frame-num 0.0) @@ -1325,15 +1291,12 @@ ) (none) ) - :post - target-post + :post target-post ) (defstate target-duck-walk (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (set! (-> self control unknown-float81) 1.0) (target-collide-set! 'duck (the-as float 1.0)) (if (not (ja-group? eichar-duck-roll-ja)) @@ -1341,10 +1304,8 @@ ) (none) ) - :exit - (-> target-duck-stance exit) - :trans - (behavior () + :exit (-> target-duck-stance exit) + :trans (behavior () ((-> self state-hook)) (if (and (or (zero? (logand (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons l1 r1)) ) @@ -1385,8 +1346,7 @@ (slide-down-test) (none) ) - :code - (behavior () + :code (behavior () (cond ((and (ja-group? eichar-duck-walk-ja) (= (-> self skel root-channel 0) (-> self skel channel))) ) @@ -1403,26 +1363,22 @@ (if (= (-> self skel root-channel 0) (-> self skel channel)) (set! (-> self control unknown-surface00) *duck-mods*) ) - (ja :num! - (loop! (fmin 1.0 (/ (-> self control unknown-float01) - (* 60.0 (/ (-> *TARGET-bank* duck-walk-cycle-dist) (-> *TARGET-bank* run-cycle-length))) - ) - ) - ) + (ja :num! (loop! (fmin 1.0 (/ (-> self control unknown-float01) + (* 60.0 (/ (-> *TARGET-bank* duck-walk-cycle-dist) (-> *TARGET-bank* run-cycle-length))) + ) + ) + ) ) (suspend) ) (none) ) - :post - target-post + :post target-post ) (defstate target-jump (target) - :event - target-jump-event-handler - :enter - (behavior ((arg0 float) (arg1 float) (arg2 surface)) + :event target-jump-event-handler + :enter (behavior ((arg0 float) (arg1 float) (arg2 surface)) (when (= (-> self control unknown-symbol40) 'launch) (level-hint-spawn (game-text-id daxter-screaming-jump) @@ -1488,10 +1444,8 @@ ) (none) ) - :exit - target-exit - :trans - (behavior () + :exit target-exit + :trans (behavior () (set! (-> self control unknown-float123) (fmax (-> self control unknown-float123) @@ -1543,8 +1497,7 @@ ) (none) ) - :code - (behavior ((arg0 float) (arg1 float) (arg2 surface)) + :code (behavior ((arg0 float) (arg1 float) (arg2 surface)) (ja-channel-push! 2 (seconds 0.05)) (ja :group! eichar-jump-ja :num! min) (ja :chan 1 :group! eichar-jump-forward-ja :num! (chan 0) :frame-interp (-> self control unknown-float122)) @@ -1577,25 +1530,19 @@ (target-falling-anim -1 (seconds 0.2)) (none) ) - :post - target-post + :post target-post ) (defstate target-jump-forward (target) - :event - target-jump-event-handler - :enter - (behavior ((arg0 float) (arg1 float)) + :event target-jump-event-handler + :enter (behavior ((arg0 float) (arg1 float)) ((-> target-jump enter) arg0 arg1 (the-as surface #f)) (set! (-> self control unknown-surface00) *forward-jump-mods*) (none) ) - :exit - target-exit - :trans - (-> target-jump trans) - :code - (behavior ((arg0 float) (arg1 float)) + :exit target-exit + :trans (-> target-jump trans) + :code (behavior ((arg0 float) (arg1 float)) (ja-channel-set! 1) (ja-no-eval :group! eichar-jump-ja :num! (seek!) :frame-num (ja-aframe (the-as float 3.0) 0)) (until (ja-done? 0) @@ -1610,15 +1557,12 @@ ) (none) ) - :post - target-post + :post target-post ) (defstate target-double-jump (target) - :event - target-jump-event-handler - :enter - (behavior ((arg0 float) (arg1 float)) + :event target-jump-event-handler + :enter (behavior ((arg0 float) (arg1 float)) (when (= (-> self control unknown-symbol40) 'launch) enter-state (let ((a0-3 (-> self control unknown-dword60)) @@ -1635,10 +1579,8 @@ (set! (-> self control unknown-surface00) *double-jump-mods*) (none) ) - :exit - target-exit - :trans - (behavior () + :exit target-exit + :trans (behavior () (target-falling-trans #f (the-as time-frame (if (ja-group? eichar-jump-loop-ja) 15 -1 @@ -1676,8 +1618,7 @@ ) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (ja-channel-push! 2 (seconds 0.05)) (dummy-10 (-> self skel effect) 'jump-double (the-as float -1.0) -1) (ja-no-eval :group! eichar-jump-ja :num! (seek!) :frame-num (ja-aframe (the-as float 5.0) 0)) @@ -1690,15 +1631,12 @@ (target-falling-anim -1 (seconds 0.2)) (none) ) - :post - target-post + :post target-post ) (defstate target-high-jump (target) - :event - target-jump-event-handler - :enter - (behavior ((arg0 float) (arg1 float) (arg2 basic)) + :event target-jump-event-handler + :enter (behavior ((arg0 float) (arg1 float) (arg2 basic)) (when (and (= (-> self control unknown-symbol40) 'launch) (!= arg2 'launch)) enter-state (let ((a0-3 (-> self control unknown-dword60)) @@ -1734,10 +1672,8 @@ ) (none) ) - :exit - target-exit - :trans - (behavior () + :exit target-exit + :trans (behavior () (target-falling-trans #f (the-as time-frame (if (ja-group? eichar-jump-loop-ja) 15 -1 @@ -1779,26 +1715,20 @@ ) (none) ) - :code - (-> target-jump code) - :post - target-post + :code (-> target-jump code) + :post target-post ) (defstate target-duck-high-jump (target) - :event - target-standard-event-handler - :enter - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + :event target-standard-event-handler + :enter (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self control status) (cshape-moving-flags onsurf onground tsurf)) (set! (-> self control unknown-surface00) *turn-around-mods*) (none) ) - :exit - target-exit - :code - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + :exit target-exit + :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (if (not (and (ja-group? eichar-duck-stance-ja) (= (-> self skel root-channel 0) (-> self skel channel)))) (ja-channel-push! 1 (seconds 0.04)) ) @@ -1821,15 +1751,12 @@ (go target-duck-high-jump-jump arg0 arg1 arg2) (none) ) - :post - target-post + :post target-post ) (defstate target-duck-high-jump-jump (target) - :event - target-jump-event-handler - :enter - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + :event target-jump-event-handler + :enter (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (sound-play-by-name (static-sound-name "jump") (new-sound-id) 819 -609 0 1 #t) (init-var-jump arg0 arg1 (the-as vector #t) (the-as vector #f) (-> self control transv)) @@ -1845,12 +1772,9 @@ ) (none) ) - :exit - target-exit - :trans - (-> target-high-jump trans) - :code - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + :exit target-exit + :trans (-> target-high-jump trans) + :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (let ((f30-0 (the-as float (if (= arg2 'launch) 110.0 35.0 @@ -1905,22 +1829,18 @@ (the-as none 0) (none) ) - :post - target-post + :post target-post ) (defstate target-falling (target) - :event - target-jump-event-handler - :enter - (behavior ((arg0 symbol)) + :event target-jump-event-handler + :enter (behavior ((arg0 symbol)) (set! (-> self control unknown-surface00) *jump-mods*) (set! (-> self control unknown-uint20) (the-as uint arg0)) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (target-falling-trans (-> self control unknown-spoolanim00) (the-as time-frame (if (= (-> self control unknown-spoolanim00) #f) @@ -1931,20 +1851,16 @@ ) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (target-falling-anim -1 (seconds 0.33)) (none) ) - :post - target-post + :post target-post ) (defstate target-hit-ground (target) - :event - target-walk-event-handler - :enter - (behavior ((arg0 symbol)) + :event target-walk-event-handler + :enter (behavior ((arg0 symbol)) (cond ((= arg0 'stuck) ) @@ -1999,8 +1915,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (logtest? (logior (logior (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) ) @@ -2034,21 +1949,17 @@ (slide-down-test) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (target-hit-ground-anim #f) (go target-stance) (none) ) - :post - target-post + :post target-post ) (defstate target-attack (target) - :event - target-dangerous-event-handler - :enter - (behavior () + :event target-dangerous-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (target-start-attack) (target-danger-set! 'spin #f) @@ -2057,18 +1968,15 @@ (set! (-> self neck flex-blend) 0.0) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control unknown-dword33) (-> *display* base-frame-counter)) (target-exit) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.05)) (ja-no-eval :group! eichar-attack-from-stance-ja - :num! - (seek! max (-> self control unknown-surface01 align-speed)) + :num! (seek! max (-> self control unknown-surface01 align-speed)) :frame-num 0.0 ) (until (ja-done? 0) @@ -2102,13 +2010,11 @@ (go target-stance) (none) ) - :post - target-post + :post target-post ) (defstate target-running-attack (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touched) (cond @@ -2168,8 +2074,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (if (or (and (= (-> self fact-info-target eco-type) (pickup-type eco-yellow)) (>= (-> self fact-info-target eco-level) 1.0) ) @@ -2191,8 +2096,7 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) (set! (-> *run-attack-mods* turnv) 0.0) @@ -2201,8 +2105,7 @@ (target-exit) (none) ) - :trans - (behavior () + :trans (behavior () (when (!= (-> self state-time) (-> *display* base-frame-counter)) (if (and (or (smack-surface? #t) (and (>= (-> self control unknown-float63) 0.7) @@ -2289,8 +2192,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (if (logtest? (-> self water flags) (water-flags wt09)) (sound-play-by-name (static-sound-name "swim-stroke") (new-sound-id) 1024 0 0 1 #t) ) @@ -2390,13 +2292,11 @@ (go target-stance) (none) ) - :post - target-post + :post target-post ) (defstate target-attack-air (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v0-0 (target-bonk-event-handler arg0 arg1 arg2 arg3))) (cond (v0-0 @@ -2409,8 +2309,7 @@ ) ) ) - :enter - (behavior ((arg0 symbol)) + :enter (behavior ((arg0 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self control status) (cshape-moving-flags onsurf onground tsurf)) (target-start-attack) @@ -2477,15 +2376,13 @@ (set! (-> self control unknown-vector52 quad) (-> self control trans quad)) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) ((-> target-attack exit)) (none) ) - :trans - (behavior () + :trans (behavior () (when (logtest? (-> self control status) (cshape-moving-flags onsurf)) (set-quaternion! (-> self control) (-> self control dir-targ)) (go target-hit-ground #f) @@ -2520,8 +2417,7 @@ ) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! eichar-attack-from-jump-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -2583,30 +2479,24 @@ (go target-falling #f) (none) ) - :post - target-post + :post target-post ) (defstate target-attack-uppercut (target) - :event - target-dangerous-event-handler - :enter - (behavior ((arg0 float) (arg1 float)) + :event target-dangerous-event-handler + :enter (behavior ((arg0 float) (arg1 float)) (set! (-> self state-time) (-> *display* base-frame-counter)) (target-start-attack) (target-danger-set! 'uppercut #f) (set! (-> self control unknown-surface00) *turn-around-mods*) (none) ) - :exit - target-exit - :code - (behavior ((arg0 float) (arg1 float)) + :exit target-exit + :code (behavior ((arg0 float) (arg1 float)) (let ((s3-0 (ja-group? eichar-duck-stance-ja))) (ja-no-eval :group! eichar-attack-uppercut-ja :num! (seek! (ja-aframe (the-as float 7.0) 0)) - :frame-num - (the-as float (if s3-0 + :frame-num (the-as float (if s3-0 (ja-aframe (the-as float 5.0) 0) 0.0 ) @@ -2620,15 +2510,12 @@ (go target-attack-uppercut-jump arg0 arg1) (none) ) - :post - target-post + :post target-post ) (defstate target-attack-uppercut-jump (target) - :event - target-dangerous-event-handler - :enter - (behavior ((arg0 float) (arg1 float)) + :event target-dangerous-event-handler + :enter (behavior ((arg0 float) (arg1 float)) (if (and (= (-> self control ground-pat material) (pat-material ice)) (< 32768.0 (-> self control unknown-float01)) ) @@ -2642,10 +2529,8 @@ (target-danger-set! 'uppercut #f) (none) ) - :exit - target-exit - :trans - (behavior () + :exit target-exit + :trans (behavior () (if (logtest? (-> self control status) (cshape-moving-flags onsurf)) (go target-hit-ground #f) ) @@ -2694,8 +2579,7 @@ (slide-down-test) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (TODO-RENAME-9 (-> self align)) (until (ja-done? 0) (suspend) @@ -2723,13 +2607,11 @@ (go target-falling #f) (none) ) - :post - target-post + :post target-post ) (defstate target-flop (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v0-0 (target-bonk-event-handler arg0 arg1 arg2 arg3))) (cond (v0-0 @@ -2763,8 +2645,7 @@ ) ) ) - :enter - (behavior ((arg0 float) (arg1 float) (arg2 float)) + :enter (behavior ((arg0 float) (arg1 float) (arg2 float)) (if (and (= (-> self fact-info-target eco-type) (pickup-type eco-yellow)) (>= (-> self fact-info-target eco-level) 1.0) ) @@ -2798,16 +2679,14 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (target-danger-set! 'harmless #f) (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) (set! (-> self control dynam gravity quad) (-> self control unknown-dynamics00 gravity quad)) (none) ) - :trans - (behavior () + :trans (behavior () (delete-back-vel) (let ((gp-1 (logtest? (-> self control status) (cshape-moving-flags onsurf)))) (when (and (not gp-1) (let ((v1-6 (ja-group))) @@ -2831,16 +2710,7 @@ ) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.5)) (dummy-10 (-> self skel effect) 'group-red-eco-strike-ground (ja-frame-num 0) 0) - (let* ((s4-1 (get-process *default-dead-pool* touch-tracker #x4000)) - (s5-1 (when s4-1 - (let ((t9-6 (method-of-type touch-tracker activate))) - (t9-6 (the-as touch-tracker s4-1) self 'touch-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 touch-tracker-init (-> self control trans) 4096.0 30) - (-> s4-1 ppointer) - ) - ) - ) + (let ((s5-1 (process-spawn touch-tracker :init touch-tracker-init (-> self control trans) 4096.0 30 :to self))) (send-event (ppointer->process s5-1) 'event 'attack 'flop) (send-event (ppointer->process s5-1) @@ -2882,8 +2752,7 @@ ) (none) ) - :code - (behavior ((arg0 float) (arg1 float) (arg2 float)) + :code (behavior ((arg0 float) (arg1 float) (arg2 float)) (ja-channel-set! 2) (ja-no-eval :group! eichar-flop-down-ja :num! (seek!) :frame-num 0.0) (ja :chan 1 :group! eichar-moving-flop-down-ja :num! (chan 0) :frame-num 0.0) @@ -2983,13 +2852,11 @@ ) (none) ) - :post - target-post + :post target-post ) (defstate target-flop-hit-ground (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('swim) #f @@ -2999,8 +2866,7 @@ ) ) ) - :enter - (behavior ((arg0 symbol)) + :enter (behavior ((arg0 symbol)) (let ((f0-1 (vector-dot (-> self control dynam gravity-normal) (vector-! (new 'stack-no-clear 'vector) (-> self control unknown-vector111) (-> self control trans)) @@ -3021,10 +2887,8 @@ (set! (-> self state-flags) (logior (state-flags sf20) (-> self state-flags))) (none) ) - :exit - target-exit - :trans - (behavior () + :exit target-exit + :trans (behavior () (when (!= (-> self control unknown-spoolanim00) 'stuck) (if (and (cpad-pressed? (-> self control unknown-cpad-info00 number) circle) (can-feet?)) (go target-attack-air 'flop) @@ -3056,26 +2920,22 @@ (slide-down-test) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (target-hit-ground-anim arg0) (go target-falling #f) (none) ) - :post - target-post + :post target-post ) (defstate target-wheel (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (= arg2 'touched) (send-event arg0 'roll) ) (target-standard-event-handler arg0 arg1 arg2 arg3) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *wheel-mods*) (+! (-> self control unknown-int50) 1) @@ -3092,8 +2952,7 @@ 0 (none) ) - :exit - (behavior () + :exit (behavior () (when (!= (-> self next-state name) 'target-wheel) (set! (-> self control unknown-int50) 0) (set! (-> self control unknown-dword30) (-> *display* base-frame-counter)) @@ -3101,8 +2960,7 @@ (target-exit) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 0)) 0 (let ((s5-0 0) @@ -3189,22 +3047,17 @@ (go target-duck-stance) (none) ) - :post - target-post + :post target-post ) (defstate target-wheel-flip (target) - :event - target-standard-event-handler - :enter - (behavior ((arg0 float) (arg1 float)) + :event target-standard-event-handler + :enter (behavior ((arg0 float) (arg1 float)) (set! (-> self control unknown-surface00) *wheel-flip-mods*) (none) ) - :exit - target-exit - :trans - (behavior () + :exit target-exit + :trans (behavior () (if (and (or (smack-surface? #f) (< (target-move-dist (-> *TARGET-bank* stuck-time)) (-> *TARGET-bank* stuck-distance)) ) @@ -3225,8 +3078,7 @@ ) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (ja-channel-push! 1 (seconds 0.04)) (ja :group! eichar-wheel-flip-ja :num! min) (let ((f30-0 1.0)) @@ -3327,8 +3179,7 @@ ) (none) ) - :post - target-post + :post target-post ) diff --git a/goal_src/engine/target/target2.gc b/goal_src/engine/target/target2.gc index 4f3a3fac36..7e8a618f10 100644 --- a/goal_src/engine/target/target2.gc +++ b/goal_src/engine/target/target2.gc @@ -12,8 +12,7 @@ ;; DECOMP BEGINS (defstate target-load-wait (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('loading) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -24,10 +23,8 @@ ) ) ) - :exit - target-exit - :code - (behavior () + :exit target-exit + :code (behavior () (set! (-> self control unknown-surface00) *walk-no-turn-mods*) (set! (-> self state-time) (-> *display* base-frame-counter)) (while (< (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.05)) @@ -62,13 +59,11 @@ (go target-stance) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) (defstate target-stance-ambient (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('movie) (go target-stance) @@ -78,8 +73,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self neck flex-blend) 0.0) ((-> target-stance enter)) (let ((v1-2 (rand-vu-int-count 4))) @@ -109,8 +103,7 @@ (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (let ((a0-0 (-> self control unknown-spoolanim00))) (when a0-0 (ja-abort-spooled-anim a0-0 (the-as art-joint-anim #f) -1) @@ -122,8 +115,7 @@ (target-exit) (none) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* (-> self control unknown-spoolanim00 name) 0 self (the-as float -99.0)) (if (or (cpad-hold? (-> self control unknown-cpad-info00 number) start l1 r1 triangle circle x square) *progress-process* @@ -132,8 +124,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (while (let ((v1-13 (file-status *art-control* (-> self control unknown-spoolanim00 name) 0))) (not (or (= v1-13 'locked) (= v1-13 'active))) ) @@ -152,8 +143,7 @@ (go target-stance) (none) ) - :post - target-post + :post target-post ) (deftype first-person-hud (process) @@ -287,21 +277,18 @@ ) (defstate hud-waiting (first-person-hud) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('go-away) (go hud-going-out) ) ) ) - :enter - (behavior () + :enter (behavior () (disable-hud (the-as int (-> *hud-parts* power))) (none) ) - :code - (behavior () + :code (behavior () (loop (dotimes (gp-0 (-> self nb-of-particles)) (if (= (-> self particles gp-0 part matrix) -1) @@ -318,10 +305,8 @@ ) (defstate hud-coming-in (first-person-hud) - :event - (-> hud-waiting event) - :code - (behavior () + :event (-> hud-waiting event) + :code (behavior () (loop (seekl! (-> self in-out-position) 0 (the int (* 350.0 (-> *display* time-adjust-ratio)))) (if (zero? (-> self in-out-position)) @@ -331,18 +316,15 @@ ) (none) ) - :post - (behavior () + :post (behavior () (dumb-15 self) (none) ) ) (defstate hud-normal (first-person-hud) - :event - (-> hud-waiting event) - :code - (behavior () + :event (-> hud-waiting event) + :code (behavior () (loop (if (or (not *progress-process*) (= (-> *progress-process* 0 next-state name) 'progress-going-out) @@ -358,8 +340,7 @@ ) (defstate hud-going-out (first-person-hud) - :code - (behavior () + :code (behavior () (loop (seekl! (-> self in-out-position) 4096 (the int (* 350.0 (-> *display* time-adjust-ratio)))) (if (= (-> self in-out-position) 4096) @@ -369,8 +350,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (dumb-15 self) (none) ) @@ -444,16 +424,11 @@ ;; ERROR: function was not converted to expressions. Cannot decompile. (defstate target-stance-look-around (target) - :event - target-standard-event-handler - :enter - (-> target-stance enter) - :exit - (-> target-stance exit) - :trans - (-> target-stance trans) - :code - (behavior () + :event target-standard-event-handler + :enter (-> target-stance enter) + :exit (-> target-stance exit) + :trans (-> target-stance trans) + :code (behavior () (while (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) self) (set! (-> a1-0 num-params) 0) @@ -472,13 +447,11 @@ ((the-as (function none :behavior target) (-> target-stance code))) (none) ) - :post - target-post + :post target-post ) (defstate target-look-around (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) (-> self state name) @@ -496,8 +469,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self cam-user-mode) 'look-around) (set! (-> self control unknown-surface00) *duck-mods*) (logior! (-> self state-flags) (state-flags sf09)) @@ -509,23 +481,12 @@ (deactivate a0-5) ) ) - (let ((gp-0 (get-process *default-dead-pool* first-person-hud #x4000))) - (set! (-> self fp-hud) - (ppointer->handle - (when gp-0 - (let ((t9-5 (method-of-type first-person-hud activate))) - (t9-5 (the-as first-person-hud gp-0) *dproc* 'first-person-hud (&+ *fp-hud-stack* #x3800)) - ) - (run-now-in-process gp-0 first-person-hud-init-by-other) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! (-> self fp-hud) + (ppointer->handle (process-spawn first-person-hud :to *dproc* :stack (&+ *fp-hud-stack* #x3800))) + ) (none) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self fp-hud)))) (if a0-1 (send-event a0-1 'go-away) @@ -533,22 +494,15 @@ ) (set! (-> self cam-user-mode) 'normal) (target-exit) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'query-state) - (set! (-> a1-2 param 0) (the-as uint cam-eye)) - (when (send-event-function *camera* a1-2) - (send-event *camera* 'no-intro) - (send-event *camera* 'force-blend 60) - (send-event *camera* 'clear-entity) - (camera-change-to (the-as string 'base) 60 #f) - ) + (when (send-event *camera* 'query-state cam-eye) + (send-event *camera* 'no-intro) + (send-event *camera* 'force-blend (seconds 0.2)) + (send-event *camera* 'clear-entity) + (camera-change-to (the-as string 'base) 60 #f) ) (none) ) - :trans - (behavior () + :trans (behavior () (local-vars (sv-48 vector)) (rlet ((vf0 :class vf) (vf4 :class vf) @@ -634,15 +588,9 @@ (none) ) ) - :code - (behavior () - (while (let ((f30-0 8192.0) - (a1-0 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 0) - (set! (-> a1-0 message) 'dist-from-interp-dest) - (< f30-0 (send-event-function *camera* a1-0)) + :code (behavior () + (while (let ((f30-0 8192.0)) + (< f30-0 (send-event *camera* 'dist-from-interp-dest)) ) (if (!= (-> self cam-user-mode) 'look-around) (go target-stance) @@ -659,13 +607,11 @@ ) (none) ) - :post - target-no-move-post + :post target-no-move-post ) (defstate target-billy-game (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) (-> self state name) @@ -680,8 +626,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self neck flex-blend) 0.0) (set! (-> self control unknown-surface00) *duck-mods*) (logior! (-> self state-flags) (state-flags sf09)) @@ -694,44 +639,26 @@ (deactivate a0-6) ) ) - (let ((gp-0 (get-process *default-dead-pool* first-person-hud #x4000))) - (set! (-> self fp-hud) - (ppointer->handle - (when gp-0 - (let ((t9-6 (method-of-type first-person-hud activate))) - (t9-6 (the-as first-person-hud gp-0) *dproc* 'first-person-hud (&+ *fp-hud-stack* #x3800)) - ) - (run-now-in-process gp-0 first-person-hud-init-by-other) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! (-> self fp-hud) + (ppointer->handle (process-spawn first-person-hud :to *dproc* :stack (&+ *fp-hud-stack* #x3800))) + ) (none) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self fp-hud)))) (if a0-1 (send-event a0-1 'go-away) ) ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'query-state) - (set! (-> a1-2 param 0) (the-as uint cam-billy)) - (when (send-event-function *camera* a1-2) - (send-event *camera* 'no-intro) - (send-event *camera* 'force-blend 0) - (camera-change-to (the-as string 'base) 0 #f) - ) + (when (send-event *camera* 'query-state cam-billy) + (send-event *camera* 'no-intro) + (send-event *camera* 'force-blend 0) + (camera-change-to (the-as string 'base) 0 #f) ) (target-exit) (none) ) - :trans - (behavior () + :trans (behavior () (local-vars (sv-48 vector)) (rlet ((vf0 :class vf) (vf4 :class vf) @@ -806,20 +733,17 @@ (none) ) ) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (set! (-> self control transv quad) (the-as uint128 0)) (anim-loop) (none) ) - :post - target-no-move-post + :post target-no-move-post ) (defstate target-grab (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) (-> self state name) @@ -856,22 +780,19 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self control unknown-surface00) *grab-mods*) (set! (-> self neck flex-blend) 0.0) (logior! (-> self state-flags) (state-flags sf04 sf08)) (set! (-> self control unknown-uint20) (the-as uint 'stance)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self state-flags) (state-flags sf04)) (target-exit) (none) ) - :code - (behavior () + :code (behavior () (set-forward-vel (the-as float (-> (new 'static 'array int32 1 0) 0))) (let ((gp-0 0)) (while (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) @@ -981,8 +902,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (if (logtest? (-> self control status) (cshape-moving-flags onsurf)) (set! (-> self control transv quad) (the-as uint128 0)) ) @@ -992,15 +912,13 @@ ) (defstate target-pole-cycle (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (= arg2 'query) (= (-> arg3 param 0) 'mode)) (-> self state name) (target-standard-event-handler arg0 arg1 arg2 arg3) ) ) - :enter - (behavior ((arg0 handle)) + :enter (behavior ((arg0 handle)) (set! (-> self control unknown-handle10) arg0) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *pole-mods*) @@ -1012,15 +930,13 @@ (set! (-> self control unknown-int21) (the-as int #f)) (none) ) - :exit - (behavior () + :exit (behavior () (target-collide-set! 'normal (the-as float (-> (new 'static 'array int32 1 0) 0))) (logclear! (-> self control root-prim prim-core action) (collide-action ca-8)) (set! (-> self control unknown-handle10) (the-as handle #f)) (none) ) - :trans - (behavior () + :trans (behavior () (when (and (logtest? (logior (logior (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) ) @@ -1066,8 +982,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (target-compute-pole) (set! (-> self control unknown-uint20) (the-as uint (vector-dot @@ -1112,21 +1027,16 @@ ) (none) ) - :post - target-no-move-post + :post target-no-move-post ) (defstate target-pole-flip-up (target) - :event - target-standard-event-handler - :exit - (-> target-pole-cycle exit) - :code - (behavior ((arg0 object) (arg1 object) (arg2 float)) + :event target-standard-event-handler + :exit (-> target-pole-cycle exit) + :code (behavior ((arg0 object) (arg1 object) (arg2 float)) (ja-no-eval :group! (-> self draw art-group data 81) :num! (seek!) - :frame-num - (ja-aframe (+ 1.0 (fmin 17.0 (ja-aframe-num 0))) 0) + :frame-num (ja-aframe (+ 1.0 (fmin 17.0 (ja-aframe-num 0))) 0) ) (until (ja-done? 0) (suspend) @@ -1136,25 +1046,19 @@ (go target-pole-flip-up-jump (the-as float arg0) (the-as float arg1)) (none) ) - :post - target-no-move-post + :post target-no-move-post ) (defstate target-pole-flip-up-jump (target) - :event - target-standard-event-handler - :enter - (-> target-jump-forward enter) - :exit - target-exit - :trans - (behavior () + :event target-standard-event-handler + :enter (-> target-jump-forward enter) + :exit target-exit + :trans (behavior () ((-> target-jump-forward trans)) (vector-flatten! (-> self control transv) (-> self control transv) (-> self control unknown-vector100)) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (sound-play-by-name (static-sound-name "jump") (new-sound-id) 1024 0 0 1 #t) (send-event *camera* 'damp-up) (ja :group! (-> self draw art-group data 83) :num! min) @@ -1176,17 +1080,13 @@ ) (none) ) - :post - target-post + :post target-post ) (defstate target-pole-flip-forward (target) - :event - target-standard-event-handler - :exit - (-> target-pole-cycle exit) - :code - (behavior ((arg0 float) (arg1 float) (arg2 float)) + :event target-standard-event-handler + :exit (-> target-pole-cycle exit) + :code (behavior ((arg0 float) (arg1 float) (arg2 float)) (ja-no-eval :group! (-> self draw art-group data 82) :num! (seek! (ja-aframe (the-as float 16.0) 0)) :frame-num (ja-aframe (+ 1.0 (ja-aframe-num 0)) 0) @@ -1199,29 +1099,23 @@ (go target-pole-flip-forward-jump arg0 arg1) (none) ) - :post - target-no-move-post + :post target-no-move-post ) (defstate target-pole-flip-forward-jump (target) - :event - target-standard-event-handler - :enter - (behavior ((arg0 float) (arg1 float)) + :event target-standard-event-handler + :enter (behavior ((arg0 float) (arg1 float)) ((-> target-jump enter) arg0 arg1 (the-as surface #f)) (set! (-> self control unknown-surface00) *forward-pole-jump-mods*) (none) ) - :exit - target-exit - :trans - (behavior () + :exit target-exit + :trans (behavior () ((-> target-jump-forward trans)) (vector-flatten! (-> self control transv) (-> self control transv) (-> self control unknown-vector100)) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (sound-play-by-name (static-sound-name "jump") (new-sound-id) 1024 0 0 1 #t) (until (ja-done? 0) (suspend) @@ -1230,13 +1124,11 @@ ((the-as (function none :behavior target) (-> target-pole-flip-up-jump code))) (none) ) - :post - target-post + :post target-post ) (defstate target-edge-grab (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('end-mode) (go target-falling 'target-edge-grab) @@ -1246,8 +1138,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *edge-grab-mods*) (set! (-> self control unknown-dword41) (-> *display* base-frame-counter)) @@ -1257,16 +1148,14 @@ (send-event *camera* 'ease-in) (none) ) - :exit - (behavior () + :exit (behavior () (when (logtest? (-> self control root-prim prim-core action) (collide-action ca-7)) (logclear! (-> self control root-prim prim-core action) (collide-action ca-3 ca-7)) (send-event *camera* 'damp-up) ) (none) ) - :trans - (behavior () + :trans (behavior () (when (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.2)) (logtest? (logior (logior (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) @@ -1306,8 +1195,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (target-compute-edge) (set! (-> self control unknown-uint20) (the-as uint (vector-dot @@ -1355,13 +1243,11 @@ ) (none) ) - :post - target-no-move-post + :post target-no-move-post ) (defstate target-edge-grab-jump (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('end-mode) (go target-falling 'target-edge-grab) @@ -1371,10 +1257,8 @@ ) ) ) - :exit - (-> target-edge-grab exit) - :code - (behavior ((arg0 float) (arg1 float)) + :exit (-> target-edge-grab exit) + :code (behavior ((arg0 float) (arg1 float)) (ja-channel-set! 1) (set-quaternion! (-> self control) (-> self control dir-targ)) (logclear! (-> self control root-prim prim-core action) (collide-action ca-3 ca-7)) @@ -1399,17 +1283,13 @@ (go target-jump-forward arg0 arg1) (none) ) - :post - target-no-move-post + :post target-no-move-post ) (defstate target-edge-grab-off (target) - :event - target-standard-event-handler - :exit - (-> target-edge-grab exit) - :code - (behavior () + :event target-standard-event-handler + :exit (-> target-edge-grab exit) + :code (behavior () (ja-channel-set! 1) (set-quaternion! (-> self control) (-> self control dir-targ)) (send-event *camera* 'damp-up) @@ -1439,15 +1319,12 @@ (go target-falling 'target-edge-grab) (none) ) - :post - target-no-move-post + :post target-no-move-post ) (defstate target-yellow-blast (target) - :event - (-> target-running-attack event) - :enter - (behavior () + :event (-> target-running-attack event) + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *run-attack-mods*) (set! (-> *run-attack-mods* turnv) 655360.0) @@ -1477,16 +1354,14 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> *run-attack-mods* turnv) 0.0) (set! (-> *run-attack-mods* turnvv) 0.0) (set! (-> self control unknown-dword31) (-> *display* base-frame-counter)) (target-exit) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (the-as handle #f))) (ja-channel-push! 1 (seconds 0.075)) (level-hint-spawn @@ -1569,8 +1444,7 @@ ) (none) ) - :post - target-post + :post target-post ) (define *yellow-jump-mods* (new 'static 'surface @@ -1598,10 +1472,8 @@ ) (defstate target-yellow-jump-blast (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (set! (-> self control unknown-surface00) *yellow-jump-mods*) (let ((gp-0 (new-stack-vector0))) (let ((f0-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) @@ -1621,15 +1493,13 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (rot->dir-targ! (-> self control)) (set! (-> self control unknown-dword31) (-> *display* base-frame-counter)) (target-exit) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! eichar-yellow-jumping-blast-ja :num! (seek! (ja-aframe (the-as float 15.0) 0)) @@ -1657,29 +1527,22 @@ ) ) (ja :num! (seek!)) - (let ((gp-3 (get-process *default-dead-pool* projectile-yellow #x4000))) - (when gp-3 - (let ((t9-9 (method-of-type projectile-yellow activate))) - (t9-9 (the-as projectile-yellow gp-3) self 'projectile-yellow (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-3 - projectile-init-by-other - (-> self entity) - (-> self control unknown-vector90) - (vector-float*! - (new 'stack-no-clear 'vector) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self control quat)) - (the-as float (-> *TARGET-bank* yellow-projectile-speed)) - ) - (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) - 16 - 0 - ) - #f - ) - (-> gp-3 ppointer) + (process-spawn + projectile-yellow + :init projectile-init-by-other + (-> self entity) + (-> self control unknown-vector90) + (vector-float*! + (new 'stack-no-clear 'vector) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self control quat)) + (the-as float (-> *TARGET-bank* yellow-projectile-speed)) ) + (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) + 16 + 0 + ) + #f + :to self ) (set! (-> self control unknown-dword82) (-> *display* base-frame-counter)) (let ((gp-4 (-> *display* base-frame-counter))) @@ -1698,22 +1561,17 @@ ) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) (defstate target-eco-powerup (target) - :event - target-standard-event-handler - :exit - target-exit - :trans - (behavior () + :event target-standard-event-handler + :exit target-exit + :trans (behavior () (slide-down-test) (none) ) - :code - (behavior ((arg0 object) (arg1 float)) + :code (behavior ((arg0 object) (arg1 float)) (set! (-> self neck flex-blend) 0.0) (set! (-> self state-time) (-> *display* base-frame-counter)) (if (= arg1 (-> *FACT-bank* eco-full-inc)) @@ -1722,15 +1580,13 @@ ) (ja-channel-push! 1 (seconds 0.05)) (ja-no-eval :group! eichar-powerup-ja - :num! - (seek! max (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) + :num! (seek! max (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) 2.0 3.0 ) ) ) - :frame-num - (ja-aframe + :frame-num (ja-aframe (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) (-> (new 'static 'array int32 1 0) 0) 6.0 @@ -1787,22 +1643,18 @@ (go target-falling 'target-eco-powerup) (none) ) - :post - target-post + :post target-post ) (defstate target-wade-stance (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *wade-mods*) (set-zero! (-> self water bob)) (none) ) - :exit - (behavior () + :exit (behavior () (target-state-hook-exit) (target-exit) (let ((v1-1 (-> self skel effect))) @@ -1811,8 +1663,7 @@ 0 (none) ) - :trans - (behavior () + :trans (behavior () ((-> self state-hook)) (when (and (zero? (logand (-> self water flags) (water-flags wt10))) (>= (- (-> *display* base-frame-counter) (-> self water wade-time)) (seconds 0.05)) @@ -1849,21 +1700,15 @@ ) (none) ) - :code - (-> target-stance code) - :post - target-post + :code (-> target-stance code) + :post target-post ) (defstate target-wade-walk (target) - :event - target-standard-event-handler - :enter - (-> target-wade-stance enter) - :exit - (-> target-wade-stance exit) - :trans - (behavior () + :event target-standard-event-handler + :enter (-> target-wade-stance enter) + :exit (-> target-wade-stance exit) + :trans (behavior () ((-> self state-hook)) (when (and (zero? (logand (-> self water flags) (water-flags wt10))) (>= (- (-> *display* base-frame-counter) (-> self water wade-time)) (seconds 0.1)) @@ -1900,8 +1745,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 105) (f30-0 0.0) ) @@ -2075,8 +1919,7 @@ ) (none) ) - :post - target-post + :post target-post ) (defbehavior target-swim-tilt target ((arg0 float) (arg1 float) (arg2 float) (arg3 float)) @@ -2121,17 +1964,14 @@ ) (defstate target-swim-stance (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *swim-mods*) (logior! (-> self water flags) (water-flags wt04)) (none) ) - :exit - (behavior () + :exit (behavior () (target-state-hook-exit) (set! (-> self control unknown-surface00 target-speed) 28672.0) (target-exit) @@ -2146,8 +1986,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () ((-> self state-hook)) (if (and (logtest? (-> self control status) (cshape-moving-flags onsurf)) (zero? (logand (-> self control status) (cshape-moving-flags on-water))) @@ -2204,15 +2043,13 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((v1-2 (ja-group))) (cond ((or (= v1-2 eichar-swim-up-ja) (= v1-2 eichar-swim-down-to-up-ja)) (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! eichar-swim-up-to-stance-ja - :num! - (seek! + :num! (seek! max (the-as float (if (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) 1.0 @@ -2257,24 +2094,19 @@ ) (none) ) - :post - target-swim-post + :post target-swim-post ) (defstate target-swim-walk (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () ((-> target-swim-stance enter)) (die-on-next-update! (-> self water bob)) (set! (-> self control unknown-uint20) (the-as uint (-> *display* base-frame-counter))) (none) ) - :exit - (-> target-swim-stance exit) - :trans - (behavior () + :exit (-> target-swim-stance exit) + :trans (behavior () ((-> self state-hook)) (if (and (logtest? (-> self control status) (cshape-moving-flags onsurf)) (zero? (logand (-> self control status) (cshape-moving-flags on-water))) @@ -2332,8 +2164,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((v1-2 (ja-group))) (cond ((or (= v1-2 eichar-swim-up-ja) (= v1-2 eichar-swim-down-to-up-ja) (= v1-2 eichar-swim-up-to-stance-ja)) @@ -2373,22 +2204,20 @@ ) (none) ) - :post - target-swim-post + :post target-swim-post ) (defstate target-swim-down (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack 'attack-invinc) (let ((v1-2 (the-as attack-info (-> arg3 param 1)))) - (when (or (zero? (logand (-> v1-2 mask) 32)) (= (-> v1-2 mode) 'generic) (= (-> v1-2 mode) 'drown)) + (when (or (zero? (logand (-> v1-2 mask) (attack-mask mode))) (= (-> v1-2 mode) 'generic) (= (-> v1-2 mode) 'drown)) (set! (-> v1-2 mode) 'damage) (if (and (= (-> self game mode) 'play) (>= 1.0 (-> self fact-info-target health))) (set! (-> v1-2 mode) 'drown-death) ) - (logior! (-> v1-2 mask) 32) + (logior! (-> v1-2 mask) (attack-mask mode)) (set! (-> self control unknown-uint20) (the-as uint #t)) ) ) @@ -2396,8 +2225,7 @@ ) (target-standard-event-handler arg0 arg1 arg2 arg3) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self water flags) (water-flags wt04)) (set! (-> self control unknown-surface00) *dive-mods*) @@ -2410,8 +2238,7 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) (target-exit) @@ -2426,8 +2253,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self water swim-time)) (seconds 0.5)) (go target-stance) ) @@ -2457,8 +2283,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 60) (s5-0 3000) (f30-0 0.0) @@ -2557,19 +2382,14 @@ ) (none) ) - :post - target-swim-post + :post target-swim-post ) (defstate target-swim-up (target) - :event - (-> target-swim-down event) - :enter - (-> target-swim-down enter) - :exit - (-> target-swim-down exit) - :trans - (behavior () + :event (-> target-swim-down event) + :enter (-> target-swim-down enter) + :exit (-> target-swim-down exit) + :trans (behavior () (if (and (cpad-pressed? (-> self control unknown-cpad-info00 number) x) (zero? (logand (-> self state-flags) (state-flags sf11))) (zero? (logand (-> self water flags) (water-flags wt13 wt14))) @@ -2581,26 +2401,15 @@ (the-as surface #f) ) ) - (when (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 10)) - (< (target-move-dist (-> *TARGET-bank* stuck-time)) (-> *TARGET-bank* stuck-distance)) - ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'attack) - (set! (-> a1-1 param 0) (the-as uint #f)) - (let ((a0-8 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-8 mode) 'drown-death) - (set! (-> a1-1 param 1) (the-as uint a0-8)) - ) - (send-event-function self a1-1) + (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 10)) + (< (target-move-dist (-> *TARGET-bank* stuck-time)) (-> *TARGET-bank* stuck-distance)) + ) + (send-event self 'attack #f (static-attack-info ((mode 'drown-death)))) ) - ) ((-> target-swim-down trans)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (let ((f30-0 1.0)) (let ((gp-0 #t)) @@ -2673,19 +2482,14 @@ (go target-swim-stance) (none) ) - :post - target-swim-post + :post target-swim-post ) (defstate target-swim-jump-jump (target) - :event - (-> target-jump event) - :enter - (-> target-jump enter) - :exit - target-exit - :trans - (behavior () + :event (-> target-jump event) + :enter (-> target-jump enter) + :exit target-exit + :trans (behavior () (cond ((< (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) (set! (-> self water flags) (logior (water-flags wt16) (-> self water flags))) @@ -2698,27 +2502,21 @@ ((-> target-jump trans)) (none) ) - :code - (-> target-jump code) - :post - target-post + :code (-> target-jump code) + :post target-post ) (defstate target-swim-jump (target) - :event - target-standard-event-handler - :enter - (-> target-swim-stance enter) - :exit - (behavior () + :event target-standard-event-handler + :enter (-> target-swim-stance enter) + :exit (behavior () ((-> target-swim-stance exit)) (die-on-next-update! (-> self water bob)) (set! (-> self water align-offset) 0.0) (set! (-> self water flags) (logior (water-flags wt16) (-> self water flags))) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (die-on-next-update! (-> self water bob)) (ja-channel-push! 1 (seconds 0.05)) (ja :group! eichar-swim-jump-ja :num! min) @@ -2753,23 +2551,19 @@ ) (none) ) - :post - target-swim-post + :post target-swim-post ) (defstate target-hit-ground-hard (target) - :event - target-standard-event-handler - :enter - (behavior ((arg0 float)) + :event target-standard-event-handler + :enter (behavior ((arg0 float)) (set! (-> self control unknown-dword31) 0) (set! (-> self control unknown-dword33) 0) (set-forward-vel (the-as float (-> (new 'static 'array int32 1 0) 0))) (set! (-> self control unknown-surface00) *walk-mods*) (none) ) - :code - (behavior ((arg0 float)) + :code (behavior ((arg0 float)) (when (!= arg0 0.0) (let ((f0-5 (the float (the int (+ 1.0 (/ (- arg0 (-> *TARGET-bank* fall-far)) (-> *TARGET-bank* fall-far-inc)))))) ) @@ -2811,20 +2605,17 @@ ) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) (defstate target-launch (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (= arg2 'query) (= (-> arg3 param 0) 'mode)) 'target-launch (target-standard-event-handler arg0 arg1 arg2 arg3) ) ) - :code - (behavior ((arg0 float) (arg1 symbol) (arg2 vector) (arg3 int)) + :code (behavior ((arg0 float) (arg1 symbol) (arg2 vector) (arg3 int)) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *turn-around-mods*) (ja-channel-push! 1 (seconds 0.15)) @@ -2835,98 +2626,89 @@ (ja :num! (seek! (ja-aframe (the-as float 15.0) 0) 3.0)) ) (if arg1 - (send-event *camera* 'change-state arg1 180) + (send-event *camera* 'change-state arg1 (seconds 0.6)) ) - (when (nonzero? arg3) - (let ((s3-1 (get-process *default-dead-pool* process #x4000))) - (when s3-1 - (let ((t9-9 (method-of-type process activate))) - (t9-9 s3-1 self 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process - s3-1 - (lambda :behavior target - ((arg0 vector) (arg1 time-frame) (arg2 float)) - (local-vars (sv-32 time-frame) (sv-40 vector) (sv-44 symbol)) - (set! sv-32 (-> *display* base-frame-counter)) - (let ((v1-2 (new-stack-vector0))) - (set! (-> v1-2 quad) (-> arg0 quad)) - (set! sv-40 v1-2) - ) - (set! sv-44 #t) - (until (>= (- (-> *display* base-frame-counter) sv-32) arg1) - (let ((s4-0 (ppointer->process (-> self parent)))) - (cond - ((and sv-44 - (< (- (-> (the-as target s4-0) control trans y) (-> (the-as target s4-0) control unknown-vector52 y)) arg2) - ) - (vector-xz-normalize! - (-> (the-as target s4-0) control transv) - (the-as float (-> (new 'static 'array int32 1 0) 0)) - ) - (case (-> (the-as target s4-0) current-level name) - (('jungleb) - (let ((v1-16 (vector-! (new-stack-vector0) (-> (the-as target s4-0) control trans) sv-40))) - (set! (-> (the-as target s4-0) control trans x) (+ (-> sv-40 x) (fmax -4096.0 (fmin 4096.0 (-> v1-16 x))))) - (set! (-> (the-as target s4-0) control trans z) (+ (-> sv-40 z) (fmax -4096.0 (fmin 4096.0 (-> v1-16 z))))) - ) + (if (nonzero? arg3) + (process-spawn-function + process + (lambda :behavior target + ((arg0 vector) (arg1 time-frame) (arg2 float)) + (local-vars (sv-32 time-frame) (sv-40 vector) (sv-44 symbol)) + (set! sv-32 (-> *display* base-frame-counter)) + (let ((v1-2 (new-stack-vector0))) + (set! (-> v1-2 quad) (-> arg0 quad)) + (set! sv-40 v1-2) + ) + (set! sv-44 #t) + (until (>= (- (-> *display* base-frame-counter) sv-32) arg1) + (let ((s4-0 (ppointer->process (-> self parent)))) + (cond + ((and sv-44 + (< (- (-> (the-as target s4-0) control trans y) (-> (the-as target s4-0) control unknown-vector52 y)) arg2) ) - ) + (vector-xz-normalize! + (-> (the-as target s4-0) control transv) + (the-as float (-> (new 'static 'array int32 1 0) 0)) ) - (else - (if sv-44 - (set! sv-32 (-> *display* base-frame-counter)) - ) - (set! sv-44 (the-as symbol #f)) - (when (or (= (-> (the-as target s4-0) next-state name) 'target-duck-high-jump-jump) - (= (-> (the-as target s4-0) next-state name) 'target-falling) - ) - (let ((v1-30 (-> (the-as target s4-0) control trans)) - (s3-0 (-> (the-as target s4-0) control transv)) + (case (-> (the-as target s4-0) current-level name) + (('jungleb) + (let ((v1-16 (vector-! (new-stack-vector0) (-> (the-as target s4-0) control trans) sv-40))) + (set! (-> (the-as target s4-0) control trans x) (+ (-> sv-40 x) (fmax -4096.0 (fmin 4096.0 (-> v1-16 x))))) + (set! (-> (the-as target s4-0) control trans z) (+ (-> sv-40 z) (fmax -4096.0 (fmin 4096.0 (-> v1-16 z))))) + ) + ) + ) + ) + (else + (if sv-44 + (set! sv-32 (-> *display* base-frame-counter)) + ) + (set! sv-44 (the-as symbol #f)) + (when (or (= (-> (the-as target s4-0) next-state name) 'target-duck-high-jump-jump) + (= (-> (the-as target s4-0) next-state name) 'target-falling) ) - (set! (-> s3-0 x) (- (-> sv-40 x) (-> v1-30 x))) - (set! (-> s3-0 z) (- (-> sv-40 z) (-> v1-30 z))) - (let ((f30-0 (vector-xz-length s3-0))) - (if (< 122880.0 f30-0) - (vector-xz-normalize! s3-0 (the-as float 122880.0)) - ) - (if (< 4096.0 f30-0) - (forward-up-nopitch->quaternion - (-> (the-as target s4-0) control dir-targ) - (vector-normalize-copy! (new 'stack-no-clear 'vector) s3-0 (the-as float 1.0)) - (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> (the-as target s4-0) control quat)) - ) - ) + (let ((v1-30 (-> (the-as target s4-0) control trans)) + (s3-0 (-> (the-as target s4-0) control transv)) ) + (set! (-> s3-0 x) (- (-> sv-40 x) (-> v1-30 x))) + (set! (-> s3-0 z) (- (-> sv-40 z) (-> v1-30 z))) + (let ((f30-0 (vector-xz-length s3-0))) + (if (< 122880.0 f30-0) + (vector-xz-normalize! s3-0 (the-as float 122880.0)) + ) + (if (< 4096.0 f30-0) + (forward-up-nopitch->quaternion + (-> (the-as target s4-0) control dir-targ) + (vector-normalize-copy! (new 'stack-no-clear 'vector) s3-0 (the-as float 1.0)) + (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> (the-as target s4-0) control quat)) + ) + ) ) ) ) ) ) - (suspend) - 0 ) - #f + (suspend) + 0 ) - arg2 - arg3 - 143360.0 + #f ) - (-> s3-1 ppointer) + arg2 + arg3 + 143360.0 + :to self ) ) - ) (sound-play-by-name (static-sound-name "launch-fire") (new-sound-id) 1024 0 0 1 #t) (go target-high-jump arg0 arg0 'launch) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) (defstate target-periscope (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('change-mode) #f @@ -2942,16 +2724,14 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (target-exit) (set! (-> self cam-user-mode) 'normal) (logior! (-> self state-flags) (state-flags sf08)) (logclear! (-> self state-flags) (state-flags sf04)) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (set! (-> self neck flex-blend) 0.0) (target-exit) (logior! (-> self state-flags) (state-flags sf04 sf07)) @@ -2984,15 +2764,12 @@ (go target-stance) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) (defstate target-play-anim (target) - :event - target-generic-event-handler - :enter - (behavior ((arg0 string) (arg1 handle)) + :event target-generic-event-handler + :enter (behavior ((arg0 string) (arg1 handle)) (set! (-> self control unknown-handle10) arg1) (move-to-ground (-> self control) @@ -3005,14 +2782,12 @@ (set! (-> self neck flex-blend) 0.0) (none) ) - :exit - (behavior () + :exit (behavior () (send-event (handle->process (-> self control unknown-handle10)) 'end-mode) (target-exit) (none) ) - :code - (behavior ((arg0 string) (arg1 handle)) + :code (behavior ((arg0 string) (arg1 handle)) (let ((gp-0 (the-as art-joint-anim (lookup-art (-> self draw art-group) arg0 art-joint-anim)))) (when gp-0 (send-event (ppointer->process (-> self sidekick)) 'matrix 'play-anim) @@ -3028,20 +2803,17 @@ (go target-stance) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) (defstate target-clone-anim (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (= arg2 'trans) (= (-> arg3 param 0) 'restore)) (set! (-> self control unknown-uint20) (the-as uint #f)) ) ((-> target-grab event) arg0 arg1 arg2 arg3) ) - :enter - (behavior ((arg0 handle)) + :enter (behavior ((arg0 handle)) (set! (-> self control unknown-handle10) arg0) (set! (-> self control unknown-vector102 quad) (-> self control trans quad)) (set! (-> self control unknown-uint20) (the-as uint #t)) @@ -3052,8 +2824,7 @@ (send-event (ppointer->process (-> self sidekick)) 'shadow #t) (none) ) - :exit - (behavior () + :exit (behavior () (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) (send-event (ppointer->process (-> self sidekick)) 'shadow #t) (let ((gp-0 (-> self node-list data 3)) @@ -3098,14 +2869,12 @@ (target-exit) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (clone-anim arg0 (the-as int (-> self draw origin-joint-index)) #t "") (go target-stance) (none) ) - :post - target-no-ja-move-post + :post target-no-ja-move-post ) diff --git a/goal_src/engine/ui/credits.gc b/goal_src/engine/ui/credits.gc index f3484f8381..da7d977b7f 100644 --- a/goal_src/engine/ui/credits.gc +++ b/goal_src/engine/ui/credits.gc @@ -33,13 +33,9 @@ (none) ) -(define *title-credits-scale* - (new 'static 'boxed-array :type float :length 8 :allocated-length 8 0.9 0.9 0.6 0.6 1.0 0.9 1.1 0.9) - ) +(define *title-credits-scale* (new 'static 'boxed-array :type float 0.9 0.9 0.6 0.6 1.0 0.9 1.1 0.9)) -(define *title-credits-spacing* - (new 'static 'boxed-array :type int32 :length 8 :allocated-length 8 15 20 15 15 20 15 20 15) - ) +(define *title-credits-spacing* (new 'static 'boxed-array :type int32 15 20 15 15 20 15 20 15)) (defun draw-title-credits ((arg0 float)) (when (>= 1.0 arg0) diff --git a/goal_src/engine/ui/hud-classes.gc b/goal_src/engine/ui/hud-classes.gc index dd4d05b669..047494a366 100644 --- a/goal_src/engine/ui/hud-classes.gc +++ b/goal_src/engine/ui/hud-classes.gc @@ -6,14 +6,14 @@ ;; dgos: GAME, ENGINE ;; DECOMP BEGINS + (import "goal_src/import/fuelcell-naked-ag.gc") (defpartgroup group-part-hud-pickup :id 75 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 303 :flags (launch-asap) :binding 304) + :parts ((sp-item 303 :flags (launch-asap) :binding 304) (sp-item 304 :flags (start-dead launch-asap) :binding 305) (sp-item 305 :flags (start-dead launch-asap) :binding 306) (sp-item 306 :flags (start-dead launch-asap) :binding 307) @@ -28,8 +28,7 @@ ) (defpart 303 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-copy-from-other spt-scale-y -4) @@ -42,8 +41,7 @@ ) (defpart 304 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 0.03)) @@ -64,8 +62,7 @@ ) (defpart 305 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 0.065)) @@ -86,8 +83,7 @@ ) (defpart 306 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 0.12)) @@ -106,8 +102,7 @@ ) (defpart 307 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-scale-x (meters 0.35)) (sp-copy-from-other spt-scale-y -4) @@ -127,8 +122,7 @@ ) (defpart 308 - :init-specs - ((sp-flt spt-fade-r 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0)) ) (deftype hud-pickups (hud) @@ -219,29 +213,25 @@ :id 76 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 309 :flags (launch-asap))) + :parts ((sp-item 309 :flags (launch-asap))) ) (defpartgroup group-part-hud-health-2 :id 77 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 310 :flags (launch-asap))) + :parts ((sp-item 310 :flags (launch-asap))) ) (defpartgroup group-part-hud-health-3 :id 78 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 311 :flags (launch-asap))) + :parts ((sp-item 311 :flags (launch-asap))) ) (defpart 309 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2d :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.7)) (sp-copy-from-other spt-scale-y -4) @@ -256,8 +246,7 @@ ) (defpart 310 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.7)) (sp-copy-from-other spt-scale-y -4) @@ -272,8 +261,7 @@ ) (defpart 311 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2f :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.7)) (sp-copy-from-other spt-scale-y -4) @@ -456,13 +444,11 @@ :id 705 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 2964 :flags (launch-asap))) + :parts ((sp-item 2964 :flags (launch-asap))) ) (defpart 2964 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2.4)) (sp-copy-from-other spt-scale-y -4) @@ -606,16 +592,7 @@ (when (< (-> obj nb-of-icons) 6) (let ((s4-0 (-> obj nb-of-icons))) (set! (-> obj icons s4-0) (new 'static 'hud-icon)) - (let* ((s2-0 (get-process *default-dead-pool* manipy #x4000)) - (s3-0 (when s2-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 (the-as manipy s2-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s2-0 manipy-init (new 'static 'vector :w 1.0) #f *money-sg* #f) - (-> s2-0 ppointer) - ) - ) - ) + (let ((s3-0 (manipy-spawn (new 'static 'vector :w 1.0) #f *money-sg* #f :to obj))) (when s3-0 (set! (-> (the-as process-drawable (-> s3-0 0)) draw dma-add-func) dma-add-process-drawable-hud) (set-vector! (-> (the-as process-drawable (-> s3-0 0)) root trans) 0.0 0.0 0.0 1.0) @@ -728,13 +705,11 @@ :id 79 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 312 :flags (launch-asap))) + :parts ((sp-item 312 :flags (launch-asap))) ) (defpart 312 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.6)) (sp-copy-from-other spt-scale-y -4) @@ -825,16 +800,7 @@ (when (< (-> obj nb-of-icons) 6) (let ((s5-0 (-> obj nb-of-icons))) (set! (-> obj icons s5-0) (new 'static 'hud-icon)) - (let* ((s3-0 (get-process *default-dead-pool* manipy #x4000)) - (s4-0 (when s3-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 (the-as manipy s3-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 manipy-init (new 'static 'vector :w 1.0) #f *money-sg* #f) - (-> s3-0 ppointer) - ) - ) - ) + (let ((s4-0 (manipy-spawn (new 'static 'vector :w 1.0) #f *money-sg* #f :to obj))) (when s4-0 (set! (-> (the-as process-drawable (-> s4-0 0)) draw dma-add-func) dma-add-process-drawable-hud) (set-vector! (-> (the-as process-drawable (-> s4-0 0)) root trans) 0.0 0.0 0.0 1.0) @@ -935,8 +901,7 @@ ) (defpart 313 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.4)) (sp-copy-from-other spt-scale-y -4) @@ -952,8 +917,7 @@ ) (defpart 314 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.4)) (sp-copy-from-other spt-scale-y -4) @@ -969,8 +933,7 @@ ) (defpart 315 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.4)) (sp-copy-from-other spt-scale-y -4) @@ -986,8 +949,7 @@ ) (defpart 316 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.4)) (sp-copy-from-other spt-scale-y -4) @@ -1003,8 +965,7 @@ ) (defpart 317 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.2)) (sp-copy-from-other spt-scale-y -4) @@ -1020,8 +981,7 @@ ) (defpart 318 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x30 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x30 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.8)) (sp-copy-from-other spt-scale-y -4) @@ -1039,8 +999,7 @@ :id 80 :flags (use-local-clock screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 318 :flags (launch-asap)) + :parts ((sp-item 318 :flags (launch-asap)) (sp-item 319 :fade-after (meters 35)) (sp-item 320 :fade-after (meters 20)) (sp-item 321 :flags (launch-asap) :period 3600 :length 5) @@ -1054,13 +1013,11 @@ ) (defpart 323 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) (defpart 319 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-z (meters 22.5)) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.5) 1.0) @@ -1083,8 +1040,7 @@ ) (defpart 320 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.06) (sp-flt spt-z (meters 22.5)) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) @@ -1106,8 +1062,7 @@ ) (defpart 321 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters 22.5)) (sp-flt spt-scale-x (meters 3.3)) @@ -1125,8 +1080,7 @@ ) (defpart 322 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters 22.5)) (sp-flt spt-scale-x (meters 3.8)) @@ -1287,16 +1241,7 @@ (when (< (-> obj nb-of-icons) 6) (let ((s5-2 (-> obj nb-of-icons))) (set! (-> obj icons s5-2) (new 'static 'hud-icon)) - (let* ((s3-0 (get-process *default-dead-pool* manipy #x4000)) - (s4-0 (when s3-0 - (let ((t9-3 (method-of-type manipy activate))) - (t9-3 (the-as manipy s3-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 manipy-init (new 'static 'vector :w 1.0) #f *fuelcell-naked-sg* #f) - (-> s3-0 ppointer) - ) - ) - ) + (let ((s4-0 (manipy-spawn (new 'static 'vector :w 1.0) #f *fuelcell-naked-sg* #f :to obj))) (when s4-0 (set! (-> (the-as process-drawable (-> s4-0 0)) draw dma-add-func) dma-add-process-drawable-hud) (set-vector! (-> (the-as process-drawable (-> s4-0 0)) root trans) 0.0 0.0 0.0 1.0) @@ -1373,13 +1318,11 @@ :id 81 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 324 :flags (launch-asap) :binding 325) (sp-item 325 :flags (start-dead launch-asap))) + :parts ((sp-item 324 :flags (launch-asap) :binding 325) (sp-item 325 :flags (start-dead launch-asap))) ) (defpart 324 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2.2)) (sp-copy-from-other spt-scale-y -4) @@ -1393,8 +1336,7 @@ ) (defpart 325 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 1.3333334)) @@ -1558,21 +1500,18 @@ :id 82 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 327 :flags (launch-asap))) + :parts ((sp-item 327 :flags (launch-asap))) ) (defpartgroup group-part-hud-eco-timer-backing :id 83 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 328 :flags (launch-asap))) + :parts ((sp-item 328 :flags (launch-asap))) ) (defpart 327 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3.2)) (sp-copy-from-other spt-scale-y -4) @@ -1587,8 +1526,7 @@ ) (defpart 328 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2.5)) (sp-copy-from-other spt-scale-y -4) @@ -1606,13 +1544,11 @@ :id 84 :flags (use-local-clock screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 329 :flags (launch-asap)) (sp-item 330 :flags (launch-asap)) (sp-item 331 :flags (launch-asap))) + :parts ((sp-item 329 :flags (launch-asap)) (sp-item 330 :flags (launch-asap)) (sp-item 331 :flags (launch-asap))) ) (defpart 329 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2)) (sp-copy-from-other spt-scale-y -4) @@ -1627,8 +1563,7 @@ ) (defpart 330 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2)) (sp-copy-from-other spt-scale-y -4) @@ -1643,8 +1578,7 @@ ) (defpart 331 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2)) (sp-copy-from-other spt-scale-y -4) @@ -1963,86 +1897,12 @@ ) (defun activate-hud ((arg0 process)) - (let ((s5-0 (get-process *default-dead-pool* hud-pickups #x4000))) - (set! (-> *hud-parts* pickups) - (the-as - (pointer hud-pickups) - (when s5-0 - (let ((t9-1 (method-of-type hud-pickups activate))) - (t9-1 (the-as hud-pickups s5-0) arg0 'hud-pickups (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 hud-init-by-other 0) - (-> s5-0 ppointer) - ) - ) - ) - ) - (let ((s5-1 (get-process *default-dead-pool* hud-money #x4000))) - (set! (-> *hud-parts* money) - (the-as (pointer hud-money) (when s5-1 - (let ((t9-4 (method-of-type hud-money activate))) - (t9-4 (the-as hud-money s5-1) arg0 'hud-money (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 hud-init-by-other 0) - (-> s5-1 ppointer) - ) - ) - ) - ) - (let ((s5-2 (get-process *default-dead-pool* hud-fuel-cell #x4000))) - (set! (-> *hud-parts* fuel-cell) - (the-as - (pointer hud-fuel-cell) - (when s5-2 - (let ((t9-7 (method-of-type hud-fuel-cell activate))) - (t9-7 (the-as hud-fuel-cell s5-2) arg0 'hud-fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 hud-init-by-other 0) - (-> s5-2 ppointer) - ) - ) - ) - ) - (let ((s5-3 (get-process *default-dead-pool* hud-health #x4000))) - (set! (-> *hud-parts* health) - (the-as - (pointer hud-health) - (when s5-3 - (let ((t9-10 (method-of-type hud-health activate))) - (t9-10 (the-as hud-health s5-3) arg0 'hud-health (the-as pointer #x70004000)) - ) - (run-now-in-process s5-3 hud-init-by-other 0) - (-> s5-3 ppointer) - ) - ) - ) - ) - (let ((s5-4 (get-process *default-dead-pool* hud-buzzers #x4000))) - (set! (-> *hud-parts* buzzers) - (the-as - (pointer hud-buzzers) - (when s5-4 - (let ((t9-13 (method-of-type hud-buzzers activate))) - (t9-13 (the-as hud-buzzers s5-4) arg0 'hud-buzzers (the-as pointer #x70004000)) - ) - (run-now-in-process s5-4 hud-init-by-other 0) - (-> s5-4 ppointer) - ) - ) - ) - ) - (let ((s5-5 (get-process *default-dead-pool* hud-power #x4000))) - (set! (-> *hud-parts* power) - (the-as (pointer hud-power) (when s5-5 - (let ((t9-16 (method-of-type hud-power activate))) - (t9-16 (the-as hud-power s5-5) arg0 'hud-power (the-as pointer #x70004000)) - ) - (run-now-in-process s5-5 hud-init-by-other 0) - (-> s5-5 ppointer) - ) - ) - ) - ) + (set! (-> *hud-parts* pickups) (process-spawn hud-pickups :init hud-init-by-other 0 :to arg0)) + (set! (-> *hud-parts* money) (process-spawn hud-money :init hud-init-by-other 0 :to arg0)) + (set! (-> *hud-parts* fuel-cell) (process-spawn hud-fuel-cell :init hud-init-by-other 0 :to arg0)) + (set! (-> *hud-parts* health) (process-spawn hud-health :init hud-init-by-other 0 :to arg0)) + (set! (-> *hud-parts* buzzers) (process-spawn hud-buzzers :init hud-init-by-other 0 :to arg0)) + (set! (-> *hud-parts* power) (process-spawn hud-power :init hud-init-by-other 0 :to arg0)) (set! (-> *hud-parts* bike-speed) (the-as (pointer hud-bike-speed) #f)) (set! (-> *hud-parts* bike-heat) (the-as (pointer hud-bike-heat) #f)) (set! (-> *hud-parts* money-all) (the-as (pointer hud-money-all) #f)) @@ -2186,22 +2046,9 @@ ) (defun activate-orb-all ((arg0 int)) - (when (not (-> *hud-parts* money-all)) - (let ((s5-0 (get-process *default-dead-pool* hud-money-all #x4000))) - (set! (-> *hud-parts* money-all) - (the-as - (pointer hud-money-all) - (when s5-0 - (let ((t9-1 (method-of-type hud-money-all activate))) - (t9-1 (the-as hud-money-all s5-0) *target* 'hud-money-all (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 hud-init-by-other arg0) - (-> s5-0 ppointer) - ) - ) - ) + (if (not (-> *hud-parts* money-all)) + (set! (-> *hud-parts* money-all) (process-spawn hud-money-all :init hud-init-by-other arg0 :to *target*)) ) - ) 0 ) diff --git a/goal_src/engine/ui/hud.gc b/goal_src/engine/ui/hud.gc index 1dd6856060..d8643213bf 100644 --- a/goal_src/engine/ui/hud.gc +++ b/goal_src/engine/ui/hud.gc @@ -210,8 +210,7 @@ ) (defstate hud-hidden (hud) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) (case arg2 (('show) @@ -250,8 +249,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self offset) 128) (draw-icons self) (draw-particles self) @@ -267,21 +265,18 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self y-offset) (-> self next-y-offset)) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (loop (suspend) ) (none) ) - :post - (behavior () + :post (behavior () (if (-> self deactivate-when-hidden) (deactivate self) ) @@ -291,8 +286,7 @@ ) (defstate hud-arriving (hud) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-3 object)) (case arg2 (('hide-quick) @@ -335,8 +329,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (let ((gp-0 (-> self child))) (while gp-0 (send-event (ppointer->process gp-0) 'draw #t) @@ -350,8 +343,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (if (not (paused?)) (seekl! (-> self offset) 0 (the int (* 15.0 (-> *display* time-adjust-ratio)))) @@ -373,8 +365,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (hud-update self) (draw-particles self) (draw-hud self) @@ -383,10 +374,8 @@ ) (defstate hud-in (hud) - :event - (-> hud-arriving event) - :code - (behavior () + :event (-> hud-arriving event) + :code (behavior () (set! (-> self trigger-time) (-> *display* base-frame-counter)) (while (and (< (- (-> *display* base-frame-counter) (-> self trigger-time)) (seconds 2)) (not (movie?))) (set! (-> self offset) 0) @@ -405,15 +394,12 @@ (go hud-leaving 5) (none) ) - :post - (-> hud-arriving post) + :post (-> hud-arriving post) ) (defstate hud-leaving (hud) - :event - (-> hud-arriving event) - :code - (behavior ((arg0 int)) + :event (-> hud-arriving event) + :code (behavior ((arg0 int)) (loop (if (not (paused?)) (seekl! (-> self offset) 128 (the int (* (the float arg0) (-> *display* time-adjust-ratio)))) @@ -435,8 +421,7 @@ ) (none) ) - :post - (-> hud-arriving post) + :post (-> hud-arriving post) ) (defbehavior hud-init-by-other hud ((arg0 int)) @@ -471,8 +456,7 @@ ) (defstate hud-collecting (process-drawable) - :trans - (behavior () + :trans (behavior () (case (-> self type) ((fuel-cell) (fuel-cell-animate) @@ -480,8 +464,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (let ((s5-0 (new 'stack-no-clear 'vector))) (let ((s4-0 (handle->process arg0))) (set! (-> s5-0 x) (- (the float (+ (get-icon-pos-x (the-as hud s4-0)) -256)) (-> self root trans x))) @@ -530,8 +513,7 @@ ) (none) ) - :post - ja-post + :post ja-post ) diff --git a/goal_src/engine/ui/progress/progress-part.gc b/goal_src/engine/ui/progress/progress-part.gc index fe4a70a904..386f847779 100644 --- a/goal_src/engine/ui/progress/progress-part.gc +++ b/goal_src/engine/ui/progress/progress-part.gc @@ -206,133 +206,116 @@ :id 85 :flags (use-local-clock screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 332 :flags (launch-asap))) + :parts ((sp-item 332 :flags (launch-asap))) ) (defpartgroup group-part-progress-hud-next :id 86 :flags (use-local-clock screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 333 :flags (launch-asap))) + :parts ((sp-item 333 :flags (launch-asap))) ) (defpartgroup group-part-progress-hud-selector :id 87 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 334 :flags (launch-asap))) + :parts ((sp-item 334 :flags (launch-asap))) ) (defpartgroup group-part-progress-hud-left :id 88 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 335 :flags (launch-asap))) + :parts ((sp-item 335 :flags (launch-asap))) ) (defpartgroup group-part-progress-hud-right :id 89 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 336 :flags (launch-asap))) + :parts ((sp-item 336 :flags (launch-asap))) ) (defpartgroup group-part-progress-hud-tint :id 90 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 337 :flags (launch-asap))) + :parts ((sp-item 337 :flags (launch-asap))) ) (defpartgroup group-part-progress-card-cell :id 91 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2190 :flags (launch-asap)) (sp-item 2191 :flags (launch-asap)) (sp-item 2192 :flags (launch-asap))) + :parts ((sp-item 2190 :flags (launch-asap)) (sp-item 2191 :flags (launch-asap)) (sp-item 2192 :flags (launch-asap))) ) (defpartgroup group-part-progress-button-x :id 570 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2336 :flags (launch-asap))) + :parts ((sp-item 2336 :flags (launch-asap))) ) (defpartgroup group-part-progress-button-square :id 571 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2337 :flags (launch-asap))) + :parts ((sp-item 2337 :flags (launch-asap))) ) (defpartgroup group-part-progress-button-triangle :id 572 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2338 :flags (launch-asap))) + :parts ((sp-item 2338 :flags (launch-asap))) ) (defpartgroup group-part-progress-button-circle :id 573 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2339 :flags (launch-asap))) + :parts ((sp-item 2339 :flags (launch-asap))) ) (defpartgroup group-part-progress-card-slot-01 :id 92 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2142 :flags (launch-asap))) + :parts ((sp-item 2142 :flags (launch-asap))) ) (defpartgroup group-part-progress-card-slot-02 :id 93 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2143 :flags (launch-asap))) + :parts ((sp-item 2143 :flags (launch-asap))) ) (defpartgroup group-part-progress-card-slot-03 :id 94 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2144 :flags (launch-asap))) + :parts ((sp-item 2144 :flags (launch-asap))) ) (defpartgroup group-part-progress-card-slot-04 :id 95 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2145 :flags (launch-asap))) + :parts ((sp-item 2145 :flags (launch-asap))) ) (defpartgroup group-part-progress-hud-power-cell-center :id 96 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 338 :flags (launch-asap))) + :parts ((sp-item 338 :flags (launch-asap))) ) (defpart 337 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 15)) (sp-flt spt-scale-y (meters 11.5)) @@ -347,8 +330,7 @@ ) (defpart 2190 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6e :page #x1cf)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6e :page #x1cf)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.8)) (sp-copy-from-other spt-scale-y -4) @@ -363,8 +345,7 @@ ) (defpart 2191 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6d :page #x1cf)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6d :page #x1cf)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 1.05)) (sp-flt spt-scale-x (meters 0.8)) @@ -380,8 +361,7 @@ ) (defpart 2192 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6c :page #x1cf)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6c :page #x1cf)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2.3)) (sp-flt spt-scale-x (meters 0.8)) @@ -397,8 +377,7 @@ ) (defpart 2336 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.6)) (sp-copy-from-other spt-scale-y -4) @@ -413,8 +392,7 @@ ) (defpart 2337 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.6)) (sp-copy-from-other spt-scale-y -4) @@ -429,8 +407,7 @@ ) (defpart 2338 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.6)) (sp-copy-from-other spt-scale-y -4) @@ -445,8 +422,7 @@ ) (defpart 2339 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.6)) (sp-copy-from-other spt-scale-y -4) @@ -461,8 +437,7 @@ ) (defpart 2142 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 9.2)) (sp-flt spt-scale-y (meters 2)) @@ -477,8 +452,7 @@ ) (defpart 2143 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 9.2)) (sp-flt spt-scale-y (meters 2)) @@ -493,8 +467,7 @@ ) (defpart 2144 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 9.2)) (sp-flt spt-scale-y (meters 2)) @@ -509,8 +482,7 @@ ) (defpart 2145 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 9.2)) (sp-flt spt-scale-y (meters 2)) @@ -525,8 +497,7 @@ ) (defpart 332 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.2)) (sp-copy-from-other spt-scale-y -4) @@ -540,8 +511,7 @@ ) (defpart 333 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.2)) (sp-copy-from-other spt-scale-y -4) @@ -555,8 +525,7 @@ ) (defpart 334 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.8)) (sp-copy-from-other spt-scale-y -4) @@ -570,8 +539,7 @@ ) (defpart 335 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3.5)) (sp-flt spt-scale-y (meters 13)) @@ -586,8 +554,7 @@ ) (defpart 336 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 6)) (sp-flt spt-scale-y (meters 13)) @@ -602,8 +569,7 @@ ) (defpart 339 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.3)) (sp-copy-from-other spt-scale-y -4) @@ -619,8 +585,7 @@ ) (defpart 340 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.3)) (sp-copy-from-other spt-scale-y -4) @@ -636,8 +601,7 @@ ) (defpart 341 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.3)) (sp-copy-from-other spt-scale-y -4) @@ -653,8 +617,7 @@ ) (defpart 342 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.3)) (sp-copy-from-other spt-scale-y -4) @@ -670,8 +633,7 @@ ) (defpart 343 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.2)) (sp-copy-from-other spt-scale-y -4) @@ -687,8 +649,7 @@ ) (defpart 338 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x30 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x30 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.2)) (sp-copy-from-other spt-scale-y -4) @@ -704,13 +665,11 @@ ) (defpart 344 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) (defpart 345 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-z (meters 0.52734375)) (sp-flt spt-scale-x (meters 0.25)) @@ -735,8 +694,7 @@ ) (defpart 346 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.06) (sp-flt spt-z (meters 0.52734375)) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.25) 1.0) @@ -760,8 +718,7 @@ ) (defpart 347 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters 0.52734375)) (sp-flt spt-scale-x (meters 2)) @@ -780,8 +737,7 @@ ) (defpart 348 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters 0.52734375)) (sp-flt spt-scale-x (meters 2.4)) @@ -803,8 +759,7 @@ :id 97 :flags (use-local-clock screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 338 :flags (launch-asap)) + :parts ((sp-item 338 :flags (launch-asap)) (sp-item 347 :flags (launch-asap) :period 3600 :length 5) (sp-item 348 :flags (launch-asap) :period 3600 :length 5) (sp-item 343 :flags (launch-asap)) @@ -819,13 +774,11 @@ :id 98 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 1982 :flags (launch-asap) :binding 1981) (sp-item 1981 :flags (start-dead launch-asap))) + :parts ((sp-item 1982 :flags (launch-asap) :binding 1981) (sp-item 1981 :flags (start-dead launch-asap))) ) (defpart 1982 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2.2)) (sp-copy-from-other spt-scale-y -4) @@ -839,8 +792,7 @@ ) (defpart 1981 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 1.3333334)) @@ -863,13 +815,11 @@ :id 99 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 1983 :flags (launch-asap))) + :parts ((sp-item 1983 :flags (launch-asap))) ) (defpart 1983 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2.2)) (sp-copy-from-other spt-scale-y -4) @@ -886,13 +836,11 @@ :id 100 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 1985 :flags (launch-asap) :binding 1984) (sp-item 1984 :flags (start-dead launch-asap))) + :parts ((sp-item 1985 :flags (launch-asap) :binding 1984) (sp-item 1984 :flags (start-dead launch-asap))) ) (defpart 1985 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-copy-from-other spt-scale-y -4) @@ -906,8 +854,7 @@ ) (defpart 1984 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 1.3333334)) @@ -931,13 +878,11 @@ :id 101 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 1986 :flags (launch-asap))) + :parts ((sp-item 1986 :flags (launch-asap))) ) (defpart 1986 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.3)) (sp-copy-from-other spt-scale-y -4) @@ -955,13 +900,11 @@ :id 615 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 2478 :flags (launch-asap))) + :parts ((sp-item 2478 :flags (launch-asap))) ) (defpart 2478 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6b :page #x1cf)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6b :page #x1cf)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.8)) (sp-copy-from-other spt-scale-y -4) diff --git a/goal_src/engine/ui/progress/progress-static.gc b/goal_src/engine/ui/progress/progress-static.gc index 7cb59f65bc..aa455e7b3c 100644 --- a/goal_src/engine/ui/progress/progress-static.gc +++ b/goal_src/engine/ui/progress/progress-static.gc @@ -9,7 +9,7 @@ ;; options in the start menu options (define *main-options* - (new 'static 'boxed-array :type game-option :length 7 :allocated-length 7 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id game-options) :scale #t :param3 (game-option-menu game-settings)) (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id graphic-options) :scale #t :param3 (game-option-menu graphic-settings)) (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id sound-options) :scale #t :param3 (game-option-menu sound-settings)) @@ -21,7 +21,7 @@ ) (define *title* - (new 'static 'boxed-array :type game-option :length 4 :allocated-length 4 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id new-game) :scale #t :param3 (game-option-menu save-game-title)) (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id load-game) :scale #t :param3 (game-option-menu load-game)) (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id options) :scale #t :param3 (game-option-menu settings-title)) @@ -30,7 +30,7 @@ ) (define *options* - (new 'static 'boxed-array :type game-option :length 4 :allocated-length 4 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id game-options) :scale #t :param3 (game-option-menu game-settings)) (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id graphic-options) :scale #t :param3 (game-option-menu graphic-settings)) (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id sound-options) :scale #t :param3 (game-option-menu sound-settings)) @@ -39,7 +39,7 @@ ) (define *main-options-demo* - (new 'static 'boxed-array :type game-option :length 4 :allocated-length 4 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id game-options) :scale #t :param3 (game-option-menu game-settings)) (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id graphic-options) :scale #t :param3 (game-option-menu graphic-settings)) (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id sound-options) :scale #t :param3 (game-option-menu sound-settings)) @@ -48,7 +48,7 @@ ) (define *main-options-demo-shared* - (new 'static 'boxed-array :type game-option :length 5 :allocated-length 5 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id game-options) :scale #t :param3 (game-option-menu game-settings)) (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id graphic-options) :scale #t :param3 (game-option-menu graphic-settings)) (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id sound-options) :scale #t :param3 (game-option-menu sound-settings)) @@ -58,7 +58,7 @@ ) (define *game-options* - (new 'static 'boxed-array :type game-option :length 4 :allocated-length 4 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id vibrations) :scale #t) (new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id play-hints) :scale #t) (new 'static 'game-option :option-type (game-option-type language) :name (game-text-id language) :scale #t) @@ -67,7 +67,7 @@ ) (define *game-options-japan* - (new 'static 'boxed-array :type game-option :length 3 :allocated-length 3 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id vibrations) :scale #t) (new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id play-hints) :scale #t) (new 'static 'game-option :option-type (game-option-type button) :name (game-text-id back) :scale #t) @@ -75,7 +75,7 @@ ) (define *game-options-demo* - (new 'static 'boxed-array :type game-option :length 3 :allocated-length 3 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id vibrations) :scale #t) (new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id play-hints) :scale #t) (new 'static 'game-option :option-type (game-option-type button) :name (game-text-id back) :scale #t) @@ -83,7 +83,7 @@ ) (define *graphic-options* - (new 'static 'boxed-array :type game-option :length 3 :allocated-length 3 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type center-screen) :name (game-text-id center-screen) :scale #t) (new 'static 'game-option :option-type (game-option-type aspect-ratio) :name (game-text-id aspect-ratio) :scale #t) (new 'static 'game-option :option-type (game-option-type button) :name (game-text-id back) :scale #t) @@ -91,7 +91,7 @@ ) (define *graphic-title-options-pal* - (new 'static 'boxed-array :type game-option :length 4 :allocated-length 4 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type center-screen) :name (game-text-id center-screen) :scale #t) (new 'static 'game-option :option-type (game-option-type video-mode) :name (game-text-id video-mode) :scale #t) (new 'static 'game-option :option-type (game-option-type aspect-ratio) :name (game-text-id aspect-ratio) :scale #t) @@ -100,7 +100,7 @@ ) (define *sound-options* - (new 'static 'boxed-array :type game-option :length 4 :allocated-length 4 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :name (game-text-id sfx-volume) :scale #t :param2 100.0) (new 'static 'game-option :name (game-text-id music-volume) :scale #t :param2 100.0) (new 'static 'game-option :name (game-text-id speech-volume) :scale #t :param2 100.0) @@ -108,19 +108,19 @@ ) ) -(define *yes-no-options* (new 'static 'boxed-array :type game-option :length 1 :allocated-length 1 +(define *yes-no-options* (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type yes-no) :scale #f) ) ) (define *ok-options* - (new 'static 'boxed-array :type game-option :length 1 :allocated-length 1 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type button) :name (game-text-id ok) :scale #f) ) ) (define *load-options* - (new 'static 'boxed-array :type game-option :length 5 :allocated-length 5 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type button) :scale #f) (new 'static 'game-option :option-type (game-option-type button) :scale #f) (new 'static 'game-option :option-type (game-option-type button) :scale #f) @@ -130,7 +130,7 @@ ) (define *save-options* - (new 'static 'boxed-array :type game-option :length 5 :allocated-length 5 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type button) :scale #f) (new 'static 'game-option :option-type (game-option-type button) :scale #f) (new 'static 'game-option :option-type (game-option-type button) :scale #f) @@ -140,7 +140,7 @@ ) (define *save-options-title* - (new 'static 'boxed-array :type game-option :length 6 :allocated-length 6 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type button) :scale #f) (new 'static 'game-option :option-type (game-option-type button) :scale #f) (new 'static 'game-option :option-type (game-option-type button) :scale #f) @@ -156,7 +156,7 @@ ;; TODO probably an enum. ;; maps level-info indices to the appropriate offset in *level-task-data* (define *level-task-data-remap* - (new 'static 'boxed-array :type int32 :length 23 :allocated-length 23 + (new 'static 'boxed-array :type int32 0 1 2 @@ -185,7 +185,7 @@ ;; maps goal language ID to its name string ID (define *language-name-remap* - (new 'static 'boxed-array :type game-text-id :length 6 :allocated-length 6 + (new 'static 'boxed-array :type game-text-id (game-text-id english) (game-text-id french) (game-text-id german) @@ -197,7 +197,7 @@ ;; all level tasks (define *level-task-data* - (new 'static 'boxed-array :type level-tasks-info :length 16 :allocated-length 16 + (new 'static 'boxed-array :type level-tasks-info (new 'static 'level-tasks-info :level-name-id (game-text-id training-level-name) :text-group-index 1 @@ -1359,7 +1359,7 @@ ;; goes down by 24 or 23 every time (define *task-egg-starting-x* - (new 'static 'boxed-array :type int32 :length 9 :allocated-length 9 + (new 'static 'boxed-array :type int32 218 194 171 diff --git a/goal_src/engine/ui/progress/progress.gc b/goal_src/engine/ui/progress/progress.gc index bbbca28726..121f5f8e0f 100644 --- a/goal_src/engine/ui/progress/progress.gc +++ b/goal_src/engine/ui/progress/progress.gc @@ -329,7 +329,7 @@ (define *progress-save-info* (new 'global 'mc-slot-info)) -(defmacro progress-make-manipy-icon (obj &key skel +(defmacro progress-make-icon (obj &key skel &key x &key y &key z @@ -339,7 +339,7 @@ `(when (< (-> ,obj nb-of-icons) 6) (let ((icon-idx (-> ,obj nb-of-icons))) (set! (-> ,obj icons icon-idx) (new 'static 'hud-icon)) - (let ((new-manipy (process-new manipy manipy-init (new 'static 'vector :w 1.0) #f ,skel #f + (let ((new-manipy (manipy-spawn (new 'static 'vector :w 1.0) #f ,skel #f :to ,obj :stack *scratch-memory-top* ))) @@ -369,48 +369,24 @@ ) (defmethod initialize-icons progress ((obj progress)) - (progress-make-manipy-icon obj :skel *fuelcell-naked-sg* - :x 256 - :y 77 - :z (meters 0.5) - :scale-x 0.006 - :scale-y 0.006 - ) - (progress-make-manipy-icon obj :skel *fuelcell-naked-sg* - :x 256 - :y 77 - :z (meters 0.5) - :scale-x 0.006 - :scale-y 0.006 - ) - (progress-make-manipy-icon obj :skel *fuelcell-naked-sg* - :x 256 - :y 77 - :z (meters 0.5) - :scale-x 0.006 - :scale-y 0.006 - ) - (progress-make-manipy-icon obj :skel *fuelcell-naked-sg* - :x 256 - :y 77 - :z (meters 0.5) - :scale-x 0.006 - :scale-y 0.006 - ) - (progress-make-manipy-icon obj :skel *money-sg* - :x -320 - :y 253 - :z (meters 17) - :scale-x 0.013 - :scale-y -0.015 - ) - (progress-make-manipy-icon obj :skel *money-sg* - :x -320 - :y 253 - :z (meters 0.25) - :scale-x 0.008 - :scale-y -0.009 - ) + (progress-make-icon obj :skel *fuelcell-naked-sg* + :x 256 :y 77 :z (meters 0.5) + :scale-x 0.006 :scale-y 0.006) + (progress-make-icon obj :skel *fuelcell-naked-sg* + :x 256 :y 77 :z (meters 0.5) + :scale-x 0.006 :scale-y 0.006) + (progress-make-icon obj :skel *fuelcell-naked-sg* + :x 256 :y 77 :z (meters 0.5) + :scale-x 0.006 :scale-y 0.006) + (progress-make-icon obj :skel *fuelcell-naked-sg* + :x 256 :y 77 :z (meters 0.5) + :scale-x 0.006 :scale-y 0.006) + (progress-make-icon obj :skel *money-sg* + :x -320 :y 253 :z (meters 17) + :scale-x 0.013 :scale-y -0.015) + (progress-make-icon obj :skel *money-sg* + :x -320 :y 253 :z (meters 0.25) + :scale-x 0.008 :scale-y -0.009) (send-event (ppointer->process (-> obj icons 1 icon)) 'set-frame-num 2.5) (send-event (ppointer->process (-> obj icons 2 icon)) 'set-frame-num 10.0) (send-event (ppointer->process (-> obj icons 3 icon)) 'set-frame-num 15.5) @@ -608,18 +584,7 @@ (make-levels-with-tasks-available-to-progress) (disable-level-text-file-loading) (set! (-> *progress-state* starting-state) screen) - (let ((s4-0 (get-process *default-dead-pool* progress #x4000))) - (set! *progress-process* - (the-as (pointer progress) (when s4-0 - (let ((t9-5 (method-of-type progress activate))) - (t9-5 (the-as progress s4-0) creator 'progress (&-> *progress-stack* 14336)) - ) - (run-now-in-process s4-0 progress-init-by-other) - (-> s4-0 ppointer) - ) - ) - ) - ) + (set! *progress-process* (process-spawn progress :to creator :stack *progress-stack-top*)) (let ((s5-1 *progress-process*)) (set! (-> s5-1 0 completion-percentage) (calculate-completion (-> s5-1 0))) (set! *master-mode* 'progress) diff --git a/goal_src/engine/ui/text-h.gc b/goal_src/engine/ui/text-h.gc index 3b2c4fc832..b9176f120d 100644 --- a/goal_src/engine/ui/text-h.gc +++ b/goal_src/engine/ui/text-h.gc @@ -473,6 +473,8 @@ (ps2-options #x1020) (ps2-load-speed #x1021) (ps2-parts #x1022) + (music-fadeout #x1023) + (music-fadein #x1024) (discord-rpc #x1030) (display-mode #x1031) (windowed #x1032) diff --git a/goal_src/goal-lib.gc b/goal_src/goal-lib.gc index 533d4be22a..2ad67de243 100644 --- a/goal_src/goal-lib.gc +++ b/goal_src/goal-lib.gc @@ -249,10 +249,9 @@ ;; Define a new function (defmacro defun (name bindings &rest body) - (if (and - (> (length body) 1) ;; more than one thing in function - (string? (first body)) ;; first thing is a string - ) + (if (and (> (length body) 1) ;; more than one thing in function + (string? (first body)) ;; first thing is a string + ) ;; then it's a docstring and we ignore it. `(define ,name (lambda :name ,name ,bindings ,@(cdr body))) ;; otherwise don't ignore it. diff --git a/goal_src/kernel-defs.gc b/goal_src/kernel-defs.gc index 91c6df2f3d..b5da9d5879 100644 --- a/goal_src/kernel-defs.gc +++ b/goal_src/kernel-defs.gc @@ -352,6 +352,7 @@ (define-extern pc-filepath-exists? (function string symbol)) (define-extern pc-mkdir-file-path (function string none)) (define-extern pc-sound-set-flava-hack (function int none)) +(define-extern pc-sound-set-fade-hack (function int none)) (defenum pc-prof-event (begin 0) diff --git a/goal_src/kernel/gkernel-h.gc b/goal_src/kernel/gkernel-h.gc index b13ba032ac..70ff07d0c9 100644 --- a/goal_src/kernel/gkernel-h.gc +++ b/goal_src/kernel/gkernel-h.gc @@ -610,7 +610,8 @@ ) (defmacro with-proc (bindings &rest body) - "execute the body with process register set to the given value and bound to pp." + "execute the body with process register set to the given value and bound to pp. + it is recommended to use run-now-in-process over this" `(rlet ((pp :reg r13 :reset-here #t :type process)) (protect (pp) (set! pp ,(car bindings)) diff --git a/goal_src/kernel/gstate.gc b/goal_src/kernel/gstate.gc index 4f1b05d3fc..496d58e446 100644 --- a/goal_src/kernel/gstate.gc +++ b/goal_src/kernel/gstate.gc @@ -96,7 +96,7 @@ It type checks the arguments for the entry function. ) ) -(defmacro process-new-function (proc-type func &key (from *default-dead-pool*) &key (to *default-pool*) &key (name #f) &key (stack-size #x4000) &key (stack *kernel-dram-stack*) &rest args) +(defmacro process-spawn-function (proc-type func &key (from *default-dead-pool*) &key (to *default-pool*) &key (name #f) &key (stack-size #x4000) &key (stack *scratch-memory-top*) &rest args) "Start a new process that runs a function on its main thread. Returns a pointer to the new process (or #f? on error)." @@ -111,7 +111,7 @@ It type checks the arguments for the entry function. ) ) -(defmacro process-new (proc-type init &key (from *default-dead-pool*) &key (to *default-pool*) &key (name #f) &key (stack-size #x4000) &key (stack *kernel-dram-stack*) &rest args) +(defmacro process-spawn (proc-type &key (init #f) &key (from *default-dead-pool*) &key (to *default-pool*) &key (name #f) &key (stack-size #x4000) &key (stack *scratch-memory-top*) &rest args) "Start a new process and run an init function on it. Returns a pointer to the new process, or #f (or is it 0?) if something goes wrong." @@ -119,7 +119,7 @@ It type checks the arguments for the entry function. `(let ((,new-proc (the-as ,proc-type (get-process ,from ,proc-type ,stack-size)))) (when ,new-proc ((method-of-type ,proc-type activate) ,new-proc ,to ,(if name name `(quote ,proc-type)) ,stack) - (run-now-in-process ,new-proc ,init ,@args) + (run-now-in-process ,new-proc ,(if init init (string->symbol (fmt #f "{}-init-by-other" proc-type))) ,@args) (the (pointer ,proc-type) (-> ,new-proc ppointer)) ) ) diff --git a/goal_src/levels/beach/air.gc b/goal_src/levels/beach/air.gc index 88b56ca722..4154de00e5 100644 --- a/goal_src/levels/beach/air.gc +++ b/goal_src/levels/beach/air.gc @@ -5,210 +5,138 @@ ;; name in dgo: air ;; dgos: BEA, L1 -;; definition for function point-in-air? +;; DECOMP BEGINS + (defun point-in-air? ((arg0 vector) (arg1 (inline-array air-box)) (arg2 int)) (local-vars (t0-0 symbol)) (dotimes (v1-0 arg2) - (let ((t1-0 arg0) - (a3-1 (-> arg1 v1-0)) - ) - (set! t0-0 (when (< (-> a3-1 height-level) (-> t1-0 y)) - (let ((f0-2 (- (-> t1-0 x) (-> a3-1 x-pos))) - (f2-1 (- (-> t1-0 z) (-> a3-1 z-pos))) + (let ((t1-0 arg0) + (a3-1 (-> arg1 v1-0)) + ) + (set! t0-0 + (when (< (-> a3-1 height-level) (-> t1-0 y)) + (let ((f0-2 (- (-> t1-0 x) (-> a3-1 x-pos))) + (f2-1 (- (-> t1-0 z) (-> a3-1 z-pos))) + ) + (set! t0-0 #f) + (let ((f1-5 (+ (* f0-2 (-> a3-1 cos-angle)) (* f2-1 (-> a3-1 sin-angle)))) + (f0-4 (- (* f2-1 (-> a3-1 cos-angle)) (* f0-2 (-> a3-1 sin-angle)))) + ) + (if (and (>= f1-5 0.0) (>= f0-4 0.0) (< f1-5 (-> a3-1 x-length)) (< f0-4 (-> a3-1 z-length))) + (set! t0-0 #t) ) - (set! t0-0 #f) - (let - ((f1-5 - (+ - (* f0-2 (-> a3-1 cos-angle)) - (* f2-1 (-> a3-1 sin-angle)) - ) - ) - (f0-4 - (- - (* f2-1 (-> a3-1 cos-angle)) - (* f0-2 (-> a3-1 sin-angle)) - ) - ) - ) - (if - (and - (>= f1-5 0.0) - (>= f0-4 0.0) - (< f1-5 (-> a3-1 x-length)) - (< f0-4 (-> a3-1 z-length)) - ) - (set! t0-0 #t) - ) ) - ) - t0-0 ) - ) + t0-0 + ) + ) + ) + (if t0-0 + (return #t) + ) ) - (if t0-0 - (return #t) - ) - ) #f ) -;; definition for function points-in-air? -(defun - points-in-air? - ((arg0 vector) (arg1 vector) (arg2 (inline-array air-box)) (arg3 int)) +(defun points-in-air? ((arg0 vector) (arg1 vector) (arg2 (inline-array air-box)) (arg3 int)) (local-vars (t1-4 symbol)) (dotimes (v1-0 arg3) - (let* ((t0-1 (-> arg2 v1-0)) - (f0-0 (-> t0-1 height-level)) - ) - (when (and (< f0-0 (-> arg0 y)) (< f0-0 (-> arg1 y))) - (let ((f2-0 (- (-> arg0 x) (-> t0-1 x-pos))) - (f4-0 (- (-> arg0 z) (-> t0-1 z-pos))) - (f0-4 (- (-> arg1 x) (-> t0-1 x-pos))) - (f1-6 (- (-> arg1 z) (-> t0-1 z-pos))) - (t2-0 t0-1) - (t1-3 #f) + (let* ((t0-1 (-> arg2 v1-0)) + (f0-0 (-> t0-1 height-level)) ) - (let ((f3-3 (+ (* f2-0 (-> t2-0 cos-angle)) (* f4-0 (-> t2-0 sin-angle)))) - (f2-2 (- (* f4-0 (-> t2-0 cos-angle)) (* f2-0 (-> t2-0 sin-angle)))) + (when (and (< f0-0 (-> arg0 y)) (< f0-0 (-> arg1 y))) + (let ((f2-0 (- (-> arg0 x) (-> t0-1 x-pos))) + (f4-0 (- (-> arg0 z) (-> t0-1 z-pos))) + (f0-4 (- (-> arg1 x) (-> t0-1 x-pos))) + (f1-6 (- (-> arg1 z) (-> t0-1 z-pos))) + (t2-0 t0-1) + (t1-3 #f) + ) + (let ((f3-3 (+ (* f2-0 (-> t2-0 cos-angle)) (* f4-0 (-> t2-0 sin-angle)))) + (f2-2 (- (* f4-0 (-> t2-0 cos-angle)) (* f2-0 (-> t2-0 sin-angle)))) + ) + (if (and (>= f3-3 0.0) (>= f2-2 0.0) (< f3-3 (-> t2-0 x-length)) (< f2-2 (-> t2-0 z-length))) + (set! t1-3 #t) + ) ) - (if - (and - (>= f3-3 0.0) - (>= f2-2 0.0) - (< f3-3 (-> t2-0 x-length)) - (< f2-2 (-> t2-0 z-length)) - ) - (set! t1-3 #t) - ) - ) - (set! t1-4 (and t1-3 (begin + (set! t1-4 + (and t1-3 (begin (set! t1-4 #f) - (let - ((f2-5 - (+ - (* f0-4 (-> t0-1 cos-angle)) - (* f1-6 (-> t0-1 sin-angle)) - ) - ) - (f0-6 - (- - (* f1-6 (-> t0-1 cos-angle)) - (* f0-4 (-> t0-1 sin-angle)) - ) - ) + (let ((f2-5 (+ (* f0-4 (-> t0-1 cos-angle)) (* f1-6 (-> t0-1 sin-angle)))) + (f0-6 (- (* f1-6 (-> t0-1 cos-angle)) (* f0-4 (-> t0-1 sin-angle)))) + ) + (if (and (>= f2-5 0.0) (>= f0-6 0.0) (< f2-5 (-> t0-1 x-length)) (< f0-6 (-> t0-1 z-length))) + (set! t1-4 #t) + ) ) - (if - (and - (>= f2-5 0.0) - (>= f0-6 0.0) - (< f2-5 (-> t0-1 x-length)) - (< f0-6 (-> t0-1 z-length)) - ) - (set! t1-4 #t) - ) - ) t1-4 ) - ) - ) + ) + ) + ) + (if t1-4 + (return #t) + ) + ) ) - (if t1-4 - (return #t) - ) - ) ) - ) #f ) -;; definition (debug) for function add-debug-air-box -;; Used lq/sq (defun-debug add-debug-air-box ((arg0 bucket-id) (arg1 air-box)) (local-vars (a0-1 symbol)) (let ((a1-1 (camera-pos)) (s5-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'vector)) ) - (-> arg1 cos-angle) - (-> arg1 sin-angle) - (let ((s2-0 (the-as uint #x800000ff))) - (let ((v1-0 arg1)) - (set! a0-1 (when (< (-> v1-0 height-level) (-> a1-1 y)) - (let ((f0-4 (- (-> a1-1 x) (-> v1-0 x-pos))) - (f2-1 (- (-> a1-1 z) (-> v1-0 z-pos))) - ) + (-> arg1 cos-angle) + (-> arg1 sin-angle) + (let ((s2-0 (the-as uint #x800000ff))) + (let ((v1-0 arg1)) + (set! a0-1 + (when (< (-> v1-0 height-level) (-> a1-1 y)) + (let ((f0-4 (- (-> a1-1 x) (-> v1-0 x-pos))) + (f2-1 (- (-> a1-1 z) (-> v1-0 z-pos))) + ) (set! a0-1 #f) - (let - ((f1-5 - (+ - (* f0-4 (-> v1-0 cos-angle)) - (* f2-1 (-> v1-0 sin-angle)) - ) - ) - (f0-6 - (- - (* f2-1 (-> v1-0 cos-angle)) - (* f0-4 (-> v1-0 sin-angle)) - ) - ) + (let ((f1-5 (+ (* f0-4 (-> v1-0 cos-angle)) (* f2-1 (-> v1-0 sin-angle)))) + (f0-6 (- (* f2-1 (-> v1-0 cos-angle)) (* f0-4 (-> v1-0 sin-angle)))) + ) + (if (and (>= f1-5 0.0) (>= f0-6 0.0) (< f1-5 (-> v1-0 x-length)) (< f0-6 (-> v1-0 z-length))) + (set! a0-1 #t) + ) ) - (if - (and - (>= f1-5 0.0) - (>= f0-6 0.0) - (< f1-5 (-> v1-0 x-length)) - (< f0-6 (-> v1-0 z-length)) - ) - (set! a0-1 #t) - ) - ) ) - a0-1 - ) + a0-1 + ) + ) + ) + (if a0-1 + (set! s2-0 (the-as uint #x8000ff00)) + ) + (set! (-> s5-0 y) (-> arg1 height-level)) + (set! (-> s4-0 y) (-> arg1 height-level)) + (set! (-> s5-0 w) 1.0) + (set! (-> s4-0 w) 1.0) + (set! (-> s5-0 x) (-> arg1 x-pos)) + (set! (-> s5-0 z) (-> arg1 z-pos)) + (set! (-> s4-0 x) (+ (-> arg1 x-pos) (* (-> arg1 cos-angle) (-> arg1 x-length)))) + (set! (-> s4-0 z) (+ (-> arg1 z-pos) (* (-> arg1 sin-angle) (-> arg1 x-length)))) + (add-debug-line #t arg0 s5-0 s4-0 (the-as rgba s2-0) #f (the-as rgba -1)) + (set! (-> s5-0 quad) (-> s4-0 quad)) + (set! (-> s4-0 x) (+ (-> s5-0 x) (* (- (-> arg1 sin-angle)) (-> arg1 z-length)))) + (set! (-> s4-0 z) (+ (-> s5-0 z) (* (-> arg1 cos-angle) (-> arg1 z-length)))) + (add-debug-line #t arg0 s5-0 s4-0 (the-as rgba s2-0) #f (the-as rgba -1)) + (set! (-> s5-0 x) (+ (-> arg1 x-pos) (* (- (-> arg1 sin-angle)) (-> arg1 z-length)))) + (set! (-> s5-0 z) (+ (-> arg1 z-pos) (* (-> arg1 cos-angle) (-> arg1 z-length)))) + (add-debug-line #t arg0 s5-0 s4-0 (the-as rgba s2-0) #f (the-as rgba -1)) + (set! (-> s4-0 x) (-> arg1 x-pos)) + (set! (-> s4-0 z) (-> arg1 z-pos)) + (add-debug-line #t arg0 s5-0 s4-0 (the-as rgba s2-0) #f (the-as rgba -1)) ) - ) - (if a0-1 - (set! s2-0 (the-as uint #x8000ff00)) - ) - (set! (-> s5-0 y) (-> arg1 height-level)) - (set! (-> s4-0 y) (-> arg1 height-level)) - (set! (-> s5-0 w) 1.0) - (set! (-> s4-0 w) 1.0) - (set! (-> s5-0 x) (-> arg1 x-pos)) - (set! (-> s5-0 z) (-> arg1 z-pos)) - (set! - (-> s4-0 x) - (+ (-> arg1 x-pos) (* (-> arg1 cos-angle) (-> arg1 x-length))) - ) - (set! - (-> s4-0 z) - (+ (-> arg1 z-pos) (* (-> arg1 sin-angle) (-> arg1 x-length))) - ) - (add-debug-line #t arg0 s5-0 s4-0 (the-as rgba s2-0) #f (the-as rgba -1)) - (set! (-> s5-0 quad) (-> s4-0 quad)) - (set! - (-> s4-0 x) - (+ (-> s5-0 x) (* (- (-> arg1 sin-angle)) (-> arg1 z-length))) - ) - (set! - (-> s4-0 z) - (+ (-> s5-0 z) (* (-> arg1 cos-angle) (-> arg1 z-length))) - ) - (add-debug-line #t arg0 s5-0 s4-0 (the-as rgba s2-0) #f (the-as rgba -1)) - (set! - (-> s5-0 x) - (+ (-> arg1 x-pos) (* (- (-> arg1 sin-angle)) (-> arg1 z-length))) - ) - (set! - (-> s5-0 z) - (+ (-> arg1 z-pos) (* (-> arg1 cos-angle) (-> arg1 z-length))) - ) - (add-debug-line #t arg0 s5-0 s4-0 (the-as rgba s2-0) #f (the-as rgba -1)) - (set! (-> s4-0 x) (-> arg1 x-pos)) - (set! (-> s4-0 z) (-> arg1 z-pos)) - (add-debug-line #t arg0 s5-0 s4-0 (the-as rgba s2-0) #f (the-as rgba -1)) ) - ) ) + + + + diff --git a/goal_src/levels/beach/beach-obs.gc b/goal_src/levels/beach/beach-obs.gc index d58e1fb6a7..d31e4fb138 100644 --- a/goal_src/levels/beach/beach-obs.gc +++ b/goal_src/levels/beach/beach-obs.gc @@ -8,15 +8,16 @@ (define-extern spawn-flying-rock (function vector vector float entity none)) ;; DECOMP BEGINS + (import "goal_src/import/ecoventrock-ag.gc") +(import "goal_src/import/beachcam-ag.gc") (import "goal_src/import/windmill-one-ag.gc") (import "goal_src/import/kickrock-ag.gc") +(import "goal_src/import/harvester-ag.gc") (import "goal_src/import/flutflutegg-ag.gc") +(import "goal_src/import/grottopole-ag.gc") (import "goal_src/import/flutflut-ag.gc") (import "goal_src/import/bladeassm-ag.gc") -(import "goal_src/import/harvester-ag.gc") -(import "goal_src/import/grottopole-ag.gc") -(import "goal_src/import/beachcam-ag.gc") (defskelgroup *beachcam-sg* beachcam beachcam-lod0-jg beachcam-anim-ja ((beachcam-lod0-mg (meters 999999))) @@ -44,13 +45,11 @@ ) (defstate windmill-one-idle (windmill-one) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self sound-id)) (none) ) - :trans - (behavior () + :trans (behavior () (rider-trans) (let ((t2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)))) (if (!= (+ (-> t2-0 x) (-> t2-0 y) (-> t2-0 z)) 0.0) @@ -59,8 +58,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.5) :frame-num 0.0) (until (ja-done? 0) @@ -70,8 +68,7 @@ ) (none) ) - :post - (the-as (function none :behavior windmill-one) rider-post) + :post (the-as (function none :behavior windmill-one) rider-post) ) (defmethod init-from-entity! windmill-one ((obj windmill-one) (arg0 entity-actor)) @@ -127,8 +124,7 @@ :id 155 :flags (use-local-clock) :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 539 :period 1500 :length 15) + :parts ((sp-item 539 :period 1500 :length 15) (sp-item 539 :period 1500 :length 30) (sp-item 539 :period 1500 :length 45) (sp-item 539 :period 1500 :length 75) @@ -139,8 +135,7 @@ ) (defpart 539 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -9) (meters 18) 1.0) (sp-flt spt-y (meters -6)) @@ -163,8 +158,7 @@ ) (defpart 540 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-flt spt-y (meters -7)) (sp-rnd-flt spt-scale-x (meters 3) (meters 4.5) 1.0) @@ -189,13 +183,11 @@ ) (defpart 541 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 450 239 1) (sp-launcher-by-id spt-next-launcher 542)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 450 239 1) (sp-launcher-by-id spt-next-launcher 542)) ) (defpart 542 - :init-specs - ((sp-flt spt-fade-a -0.14222223)) + :init-specs ((sp-flt spt-fade-a -0.14222223)) ) (deftype grottopole (process-drawable) @@ -224,8 +216,7 @@ ) (defstate grottopole-idle (grottopole) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (when (= (-> arg0 type) target) (case arg2 (('attack) @@ -269,8 +260,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (ja :group! (-> self draw art-group data 3) :num! min) (transform-post) @@ -322,8 +312,7 @@ ) (defstate grottopole-moving-up (grottopole) - :code - (behavior () + :code (behavior () (+! (-> self position) 1) (let ((v1-4 (-> self entity extra perm))) (logior! (-> v1-4 status) (entity-perm-status user-set-from-cstage)) @@ -333,13 +322,11 @@ (go grottopole-idle) (none) ) - :post - (the-as (function none :behavior grottopole) transform-post) + :post (the-as (function none :behavior grottopole) transform-post) ) (defstate grottopole-moving-down (grottopole) - :code - (behavior () + :code (behavior () (+! (-> self position) -1) (let ((v1-4 (-> self entity extra perm))) (logior! (-> v1-4 status) (entity-perm-status user-set-from-cstage)) @@ -349,8 +336,7 @@ (go grottopole-idle) (none) ) - :post - (the-as (function none :behavior grottopole) transform-post) + :post (the-as (function none :behavior grottopole) transform-post) ) (defmethod init-from-entity! grottopole ((obj grottopole) (arg0 entity-actor)) @@ -430,8 +416,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 543 :period 1500 :length 5) + :parts ((sp-item 543 :period 1500 :length 5) (sp-item 544 :period 1500 :length 5) (sp-item 545 :period 1500 :length 5) (sp-item 546 :period 1500 :length 5) @@ -441,8 +426,7 @@ ) (defpart 547 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 15)) (sp-copy-from-other spt-scale-y -4) @@ -457,8 +441,7 @@ ) (defpart 543 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 4.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -481,8 +464,7 @@ ) (defpart 544 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 4.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -505,8 +487,7 @@ ) (defpart 545 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 4.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -529,16 +510,14 @@ ) (defpart 549 - :init-specs - ((sp-flt spt-vel-y (meters 0.026666667)) + :init-specs ((sp-flt spt-vel-y (meters 0.026666667)) (sp-rnd-int-flt spt-rotvel-z (degrees -1.2) 1 436.90668) (sp-flt spt-fade-a -1.0666667) ) ) (defpart 548 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) @@ -562,13 +541,11 @@ ) (defpart 550 - :init-specs - ((sp-flt spt-fade-a -0.2)) + :init-specs ((sp-flt spt-fade-a -0.2)) ) (defstate ecoventrock-idle (ecoventrock) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (sound-play-by-name (static-sound-name "cannon-shot") (new-sound-id) 1024 0 0 1 #t) @@ -577,8 +554,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (transform-post) (loop (logior! (-> self mask) (process-mask sleep)) @@ -589,18 +565,15 @@ ) (defstate ecoventrock-break (ecoventrock) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior ecoventrock) process-drawable-fuel-cell-handler ) - :enter - (behavior ((arg0 symbol)) + :enter (behavior ((arg0 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (local-vars (sv-128 symbol)) (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) @@ -615,23 +588,16 @@ ) ) (when (not arg0) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - part-tracker-init - (-> *part-group-id-table* 156) - -1 - #f - #f - #f - (-> self root-override root-prim prim-core) - ) - (-> s5-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 156) + -1 + #f + #f + #f + (-> self root-override root-prim prim-core) + :to *entity-pool* ) (let* ((s5-1 (-> self root-override trans)) (v1-14 (target-pos 0)) @@ -691,24 +657,8 @@ ) (else (ambient-hint-spawn "gamcam10" (the-as vector #f) *entity-pool* 'camera) - (let ((gp-2 (get-process *default-dead-pool* pov-camera #x4000))) - (ppointer->handle (when gp-2 - (let ((t9-23 (method-of-type pov-camera activate))) - (t9-23 (the-as pov-camera gp-2) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-2 - pov-camera-init-by-other - (-> self root-override trans) - *beachcam-sg* - (-> self name) - 0 - #f - '() - ) - (-> gp-2 ppointer) - ) - ) + (ppointer->handle + (process-spawn pov-camera (-> self root-override trans) *beachcam-sg* (-> self name) 0 #f '() :to self) ) ) ) @@ -779,13 +729,11 @@ ) (defstate flying-rock-rolling (flying-rock) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 #f) (f30-0 0.99) (s5-0 0) @@ -859,8 +807,7 @@ (go flying-rock-idle) (none) ) - :post - (behavior () + :post (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) (go flying-rock-idle) ) @@ -870,8 +817,7 @@ ) (defstate flying-rock-idle (flying-rock) - :code - (behavior () + :code (behavior () (clear-collide-with-as (-> self root-override)) (while (or (logtest? (-> self draw status) (draw-status was-drawn)) (and *target* @@ -883,8 +829,7 @@ (deactivate self) (none) ) - :post - (the-as (function none :behavior flying-rock) ja-post) + :post (the-as (function none :behavior flying-rock) ja-post) ) (defbehavior flying-rock-init-by-other flying-rock ((arg0 vector) (arg1 vector) (arg2 float) (arg3 entity)) @@ -929,15 +874,7 @@ ) (defun spawn-flying-rock ((arg0 vector) (arg1 vector) (arg2 float) (arg3 entity)) - (let ((s2-0 (get-process *default-dead-pool* flying-rock #x4000))) - (when s2-0 - (let ((t9-1 (method-of-type flying-rock activate))) - (t9-1 (the-as flying-rock s2-0) *entity-pool* 'flying-rock (the-as pointer #x70004000)) - ) - (run-now-in-process s2-0 flying-rock-init-by-other arg0 arg1 arg2 arg3) - (-> s2-0 ppointer) - ) - ) + (process-spawn flying-rock arg0 arg1 arg2 arg3 :to *entity-pool*) 0 (none) ) @@ -963,8 +900,7 @@ ) (defstate bladeassm-idle (bladeassm) - :code - (behavior () + :code (behavior () (loop (+! (-> self angle) (* 3640.889 (-> *display* seconds-per-frame))) (set! (-> self angle) (the float (sar (shl (the int (-> self angle)) 48) 48))) @@ -1094,8 +1030,7 @@ ) (defstate flutflutegg-idle (flutflutegg) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (when (and (= arg2 'attack) (or (= (-> arg3 param 1) 'punch) (= (-> arg3 param 1) 'spin) (= (-> arg3 param 1) 'spin-air)) (!= (-> self incomming-attack-id) (-> arg3 param 2)) @@ -1120,8 +1055,7 @@ (go flutflutegg-physics) ) ) - :trans - (behavior () + :trans (behavior () (let* ((gp-0 (TODO-RENAME-10 (-> self ambient) (new 'stack-no-clear 'vector) (seconds 3) 368640.0 self)) (v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-3 (the-as number (logior #x3f800000 v1-2))) @@ -1179,8 +1113,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-post) (loop (suspend) @@ -1190,8 +1123,7 @@ ) (defstate flutflutegg-physics (flutflutegg) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (the-as object (when (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) @@ -1219,8 +1151,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (loop (+! (-> self pos) (* (-> self vel) (-> *display* seconds-per-frame))) @@ -1247,45 +1178,36 @@ ) (none) ) - :post - (the-as (function none :behavior flutflutegg) ja-post) + :post (the-as (function none :behavior flutflutegg) ja-post) ) (defstate flutflutegg-physics-fall (flutflutegg) - :code - (behavior () + :code (behavior () (local-vars (v1-25 symbol)) - (let ((gp-0 (get-process *default-dead-pool* camera-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type camera-tracker activate))) - (t9-1 (the-as camera-tracker gp-0) self 'camera-tracker (the-as pointer #x70004000)) + (process-spawn + camera-tracker + :init camera-tracker-init + (lambda :behavior camera-tracker + () + (while (not (process-grab? *target*)) + (suspend) ) - (run-now-in-process - gp-0 - camera-tracker-init - (lambda :behavior camera-tracker - () - (while (not (process-grab? *target*)) - (suspend) - ) - (camera-change-to "camera-135" 0 #f) - (camera-look-at (the-as pair (ppointer->process (-> self parent))) (the-as uint 9)) - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 4)) - (suspend) - ) - ) - (while (not (process-release? (handle->process (-> self grab-target)))) - (suspend) - ) - (camera-look-at (the-as pair *target*) (the-as uint 0)) - (send-event *camera* 'blend-from-as-fixed) - (camera-change-to (the-as string 'base) 75 #f) - (none) + (camera-change-to "camera-135" 0 #f) + (camera-look-at (the-as pair (ppointer->process (-> self parent))) (the-as uint 9)) + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 4)) + (suspend) ) ) - (-> gp-0 ppointer) + (while (not (process-release? (handle->process (-> self grab-target)))) + (suspend) + ) + (camera-look-at (the-as pair *target*) (the-as uint 0)) + (send-event *camera* 'blend-from-as-fixed) + (camera-change-to (the-as string 'base) 75 #f) + (none) ) + :to self ) (close-specific-task! (game-task beach-flutflut) (task-status need-reminder)) (loop @@ -1321,13 +1243,11 @@ ) (none) ) - :post - (the-as (function none :behavior flutflutegg) ja-post) + :post (the-as (function none :behavior flutflutegg) ja-post) ) (defstate flutflutegg-break (flutflutegg) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (when arg0 (set-vector! (-> self root-override trans) -231190.94 64559.105 -1164727.5 1.0) (quaternion-axis-angle! (-> self root-override quat) 0.0 1.0 0.0 -18204.445) @@ -1378,8 +1298,7 @@ ) (none) ) - :post - (the-as (function none :behavior flutflutegg) ja-post) + :post (the-as (function none :behavior flutflutegg) ja-post) ) (defmethod init-from-entity! flutflutegg ((obj flutflutegg) (arg0 entity-actor)) @@ -1457,8 +1376,7 @@ ) (defstate harvester-idle (harvester) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('update) (if (and (-> self alt-actor) (logtest? (-> self alt-actor extra perm status) (entity-perm-status complete))) @@ -1467,8 +1385,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (if (and (-> self alt-actor) (logtest? (-> self alt-actor extra perm status) (entity-perm-status complete))) (go harvester-inflate #t) ) @@ -1483,8 +1400,7 @@ ) (defstate harvester-inflate (harvester) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (when (not arg0) (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1501,8 +1417,7 @@ ) (none) ) - :post - (the-as (function none :behavior harvester) ja-post) + :post (the-as (function none :behavior harvester) ja-post) ) (defmethod init-from-entity! harvester ((obj harvester) (arg0 entity-actor)) @@ -1584,38 +1499,23 @@ (with-pp (let ((gp-0 (entity-actor-lookup (-> pp entity) 'alt-actor 0))) (when gp-0 - (let* ((s5-0 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-1 - (ppointer->handle - (when s5-0 - (let ((t9-2 (method-of-type pov-camera activate))) - (t9-2 (the-as pov-camera s5-0) pp 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> gp-0 extra trans) - *beachcam-sg* - (new 'static 'spool-anim :name "beachcam-cannon" :index 3 :parts 1 :command-list '()) - 0 - #f - '() - ) - (-> s5-0 ppointer) - ) - ) - ) - (s5-1 (get-process *default-dead-pool* fuel-cell #x4000)) - (s5-2 - (ppointer->handle (when s5-1 - (let ((t9-5 (method-of-type fuel-cell activate))) - (t9-5 (the-as fuel-cell s5-1) pp 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 fuel-cell-init-as-clone gp-1 (-> pp entity extra perm task)) - (-> s5-1 ppointer) + (let* ((gp-1 + (ppointer->handle (process-spawn + pov-camera + (-> gp-0 extra trans) + *beachcam-sg* + (new 'static 'spool-anim :name "beachcam-cannon" :index 3 :parts 1 :command-list '()) + 0 + #f + '() + :to pp ) ) ) + (s5-2 (ppointer->handle + (process-spawn fuel-cell :init fuel-cell-init-as-clone gp-1 (-> pp entity extra perm task) :to pp) + ) + ) ) (let ((v1-13 (handle->process gp-1))) (if v1-13 diff --git a/goal_src/levels/beach/beach-part.gc b/goal_src/levels/beach/beach-part.gc index 1272132246..365d775043 100644 --- a/goal_src/levels/beach/beach-part.gc +++ b/goal_src/levels/beach/beach-part.gc @@ -20,8 +20,7 @@ (defpart 666 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.01) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 15) (meters 5) 1.0) @@ -48,13 +47,11 @@ ) (defpart 667 - :init-specs - ((sp-flt spt-fade-a -0.02)) + :init-specs ((sp-flt spt-fade-a -0.02)) ) (defpart 668 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-flt spt-num 0.03 0.2 1.0) (sp-flt spt-y (meters -4)) (sp-flt spt-scale-x (meters 0.18)) @@ -76,8 +73,7 @@ ) (defpart 669 - :init-specs - ((sp-flt spt-scalevel-y (meters 0.0024414062)) + :init-specs ((sp-flt spt-scalevel-y (meters 0.0024414062)) (sp-flt spt-fade-a 0.0) (sp-flt spt-accel-y -8.192) (sp-int spt-next-time 210) @@ -86,13 +82,11 @@ ) (defpart 670 - :init-specs - ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150) (sp-func spt-func 'check-water-level-drop)) + :init-specs ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150) (sp-func spt-func 'check-water-level-drop)) ) (defstate beach-part-grotto-1 (beach-part) - :code - (behavior () + :code (behavior () (loop (when (is-visible? self) (let* ((gp-0 (camera-pos)) @@ -125,8 +119,7 @@ ) (defpart 671 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-flt spt-num 0.3 0.4 1.0) (sp-rnd-flt spt-x (meters -23) (meters 55) 1.0) (sp-flt spt-z (meters 0.5)) @@ -151,13 +144,11 @@ (defpartgroup group-beach-grotto-2 :id 161 :bounds (static-bspherem 0 -5 0 15) - :parts - ((sp-item 671 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 671 :fade-after (meters 80) :falloff-to (meters 80))) ) (defpart 672 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-x (meters -10) (meters 4) 1.0) (sp-flt spt-y (meters 103)) @@ -183,8 +174,7 @@ ) (defpart 673 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.8 0.8 1.0) (sp-rnd-flt spt-x (meters -9) (meters 3.5) 1.0) (sp-flt spt-y (meters 103)) @@ -211,8 +201,7 @@ ) (defpart 674 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.9) (sp-rnd-flt spt-x (meters -10) (meters 4) 1.0) (sp-flt spt-y (meters 103)) @@ -238,8 +227,7 @@ ) (defpart 675 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.04) (sp-rnd-flt spt-x (meters 6) (meters 6) 1.0) (sp-flt spt-y (meters 6.5)) @@ -269,13 +257,11 @@ ) (defpart 676 - :init-specs - ((sp-flt spt-fade-a -0.14222223)) + :init-specs ((sp-flt spt-fade-a -0.14222223)) ) (defpart 677 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters 2) (meters 10) 1.0) (sp-flt spt-y (meters 8)) @@ -306,8 +292,7 @@ :id 162 :flags (always-draw unknown-bit-01) :bounds (static-bspherem 0 55 0 55) - :parts - ((sp-item 677 :fade-after (meters 200) :falloff-to (meters 200)) + :parts ((sp-item 677 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 675) (sp-item 675 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 672) @@ -321,62 +306,53 @@ (defpartgroup group-beach-24 :id 163 :bounds (static-bspherem 0 3 0 50) - :parts - ((sp-item 678 :fade-after (meters 50) :period 2400 :length 1500 :offset 1200)) + :parts ((sp-item 678 :fade-after (meters 50) :period 2400 :length 1500 :offset 1200)) ) (defpartgroup group-beach-23 :id 164 :bounds (static-bspherem 0 3 0 50) - :parts - ((sp-item 679 :fade-after (meters 50) :period 2400 :length 1500 :offset 600)) + :parts ((sp-item 679 :fade-after (meters 50) :period 2400 :length 1500 :offset 600)) ) (defpartgroup group-beach-22 :id 165 :bounds (static-bspherem 0 3 0 50) - :parts - ((sp-item 680 :fade-after (meters 80) :period 2400 :length 1500)) + :parts ((sp-item 680 :fade-after (meters 80) :period 2400 :length 1500)) ) (defpartgroup group-beach-18 :id 166 :bounds (static-bspherem 0 3 0 50) - :parts - ((sp-item 681 :fade-after (meters 100) :period 2400 :length 1500 :offset 1200)) + :parts ((sp-item 681 :fade-after (meters 100) :period 2400 :length 1500 :offset 1200)) ) (defpartgroup group-beach-17 :id 167 :bounds (static-bspherem 0 3 0 50) - :parts - ((sp-item 682 :fade-after (meters 50) :period 2400 :length 1500 :offset 600)) + :parts ((sp-item 682 :fade-after (meters 50) :period 2400 :length 1500 :offset 600)) ) (defpartgroup group-beach-16 :id 168 :bounds (static-bspherem 0 3 0 50) - :parts - ((sp-item 683 :fade-after (meters 50) :period 2400 :length 1500)) + :parts ((sp-item 683 :fade-after (meters 50) :period 2400 :length 1500)) ) (defpartgroup group-beach-15 :id 169 :bounds (static-bspherem 0 3 0 50) - :parts - ((sp-item 684 :fade-after (meters 50) :period 2400 :length 1500 :offset 64936)) + :parts ((sp-item 684 :fade-after (meters 50) :period 2400 :length 1500 :offset 64936)) ) (defpartgroup group-beach-14 :id 170 :bounds (static-bspherem 0 3 0 50) - :parts - ((sp-item 685 :fade-after (meters 50) :period 2400 :length 1500 :offset 64336)) + :parts ((sp-item 685 :fade-after (meters 50) :period 2400 :length 1500 :offset 64336)) ) (defpart 678 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.01 0.01 1.0) (sp-rnd-flt spt-x (meters -85) (meters 60) 1.0) (sp-flt spt-y (meters 13)) @@ -400,13 +376,11 @@ ) (defpart 686 - :init-specs - ((sp-flt spt-fade-a -0.07111111)) + :init-specs ((sp-flt spt-fade-a -0.07111111)) ) (defpart 679 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.01 0.01 1.0) (sp-rnd-flt spt-x (meters -65) (meters 60) 1.0) (sp-flt spt-y (meters 8)) @@ -430,13 +404,11 @@ ) (defpart 687 - :init-specs - ((sp-flt spt-fade-a -0.07111111)) + :init-specs ((sp-flt spt-fade-a -0.07111111)) ) (defpart 680 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.01 0.01 1.0) (sp-rnd-flt spt-x (meters -50) (meters 20) 1.0) (sp-flt spt-y (meters 0)) @@ -461,13 +433,11 @@ ) (defpart 688 - :init-specs - ((sp-flt spt-fade-a -0.08533333)) + :init-specs ((sp-flt spt-fade-a -0.08533333)) ) (defpart 681 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.03 0.04 1.0) (sp-rnd-flt spt-x (meters -40) (meters 20) 1.0) (sp-flt spt-y (meters 1)) @@ -492,13 +462,11 @@ ) (defpart 689 - :init-specs - ((sp-flt spt-fade-a -0.07111111)) + :init-specs ((sp-flt spt-fade-a -0.07111111)) ) (defpart 682 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.015 0.02 1.0) (sp-flt spt-x (meters -10)) (sp-flt spt-y (meters 1)) @@ -522,13 +490,11 @@ ) (defpart 690 - :init-specs - ((sp-flt spt-fade-a -0.017777778)) + :init-specs ((sp-flt spt-fade-a -0.017777778)) ) (defpart 683 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.015 0.02 1.0) (sp-flt spt-x (meters -25)) (sp-flt spt-y (meters 1)) @@ -552,13 +518,11 @@ ) (defpart 691 - :init-specs - ((sp-flt spt-fade-a -0.013333334)) + :init-specs ((sp-flt spt-fade-a -0.013333334)) ) (defpart 684 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.015 0.015 1.0) (sp-flt spt-x (meters -35)) (sp-flt spt-y (meters 1)) @@ -582,13 +546,11 @@ ) (defpart 692 - :init-specs - ((sp-flt spt-fade-a -0.016410256)) + :init-specs ((sp-flt spt-fade-a -0.016410256)) ) (defpart 685 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.015 0.015 1.0) (sp-flt spt-x (meters -25)) (sp-flt spt-y (meters 14)) @@ -612,8 +574,7 @@ ) (defpart 693 - :init-specs - ((sp-flt spt-fade-a -0.014222222)) + :init-specs ((sp-flt spt-fade-a -0.014222222)) ) (define sound-beach-waterfall (static-sound-spec "waterfall")) @@ -621,8 +582,7 @@ (defpartgroup group-beach-butterflies :id 171 :bounds (static-bspherem 0 0 0 30) - :parts - ((sp-item 696 :fade-after (meters 120) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 694) + :parts ((sp-item 696 :fade-after (meters 120) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 694) (sp-item 696 :fade-after (meters 120) :period 6637 :length 5 :hour-mask #b111111100000000000111111 :binding 694) (sp-item 696 :fade-after (meters 120) :period 9846 :length 5 :hour-mask #b111111100000000000111111 :binding 694) (sp-item 694 :flags (start-dead launch-asap) :binding 695) @@ -639,8 +599,7 @@ ) (defpart 696 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 7.5) 1.0) (sp-rnd-flt spt-y (meters 14) (meters 3) 1.0) @@ -659,21 +618,18 @@ ) (defpart 697 - :init-specs - ((sp-flt spt-accel-y 0.0) + :init-specs ((sp-flt spt-accel-y 0.0) (sp-int-plain-rnd spt-next-time 2700 1499 1) (sp-launcher-by-id spt-next-launcher 698) ) ) (defpart 698 - :init-specs - ((sp-flt spt-accel-y 1.3653333)) + :init-specs ((sp-flt spt-accel-y 1.3653333)) ) (defpart 694 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -696,8 +652,7 @@ ) (defpart 699 - :init-specs - ((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) + :init-specs ((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) (sp-int-plain-rnd spt-next-time 150 449 1) @@ -706,8 +661,7 @@ ) (defpart 695 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 0.9)) @@ -726,16 +680,14 @@ (defpartgroup group-beach-moth :id 172 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 702 :fade-after (meters 120) :flags (bit1) :period 18030 :length 5 :hour-mask #b1111111110000000 :binding 700) + :parts ((sp-item 702 :fade-after (meters 120) :flags (bit1) :period 18030 :length 5 :hour-mask #b1111111110000000 :binding 700) (sp-item 700 :flags (start-dead launch-asap) :binding 701) (sp-item 701 :flags (is-3d start-dead)) ) ) (defpart 702 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.1)) (sp-copy-from-other spt-scale-y -4) @@ -748,8 +700,7 @@ ) (defpart 700 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 1.5)) @@ -772,8 +723,7 @@ ) (defpart 703 - :init-specs - ((sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) + :init-specs ((sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) (sp-rnd-flt spt-vel-y (meters -0.0148148155) (meters 0.029629631) 1.0) (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) (sp-int-plain-rnd spt-next-time 150 449 1) @@ -782,8 +732,7 @@ ) (defpart 701 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 0.4)) diff --git a/goal_src/levels/beach/beach-rocks.gc b/goal_src/levels/beach/beach-rocks.gc index 0424a9b7e6..3d3a474590 100644 --- a/goal_src/levels/beach/beach-rocks.gc +++ b/goal_src/levels/beach/beach-rocks.gc @@ -6,6 +6,7 @@ ;; dgos: BEA, L1 ;; DECOMP BEGINS + (import "goal_src/import/lrocklrg-ag.gc") (defskelgroup *lrocklrg-sg* lrocklrg lrocklrg-lod0-jg lrocklrg-idle-ja @@ -19,16 +20,14 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2340 :period 75 :length 10) + :parts ((sp-item 2340 :period 75 :length 10) (sp-item 2341 :period 75 :length 10) (sp-item 2289 :period 75 :length 10) ) ) (defpart 2341 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 3.0 6.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters -4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.25) (meters 1) 1.0) @@ -53,8 +52,7 @@ ) (defpart 2340 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters -4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0) @@ -80,8 +78,7 @@ ) (defpart 2289 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 3.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters -4) 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 2) 1.0) @@ -113,13 +110,11 @@ :id 554 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2290 :period 15 :length 5)) + :parts ((sp-item 2290 :period 15 :length 5)) ) (defpart 2290 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 3.0 3.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters -4) 1.0) (sp-rnd-flt spt-scale-x (meters 7) (meters 9) 1.0) @@ -152,16 +147,14 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2342 :period 900 :length 40) + :parts ((sp-item 2342 :period 900 :length 40) (sp-item 2343 :period 900 :length 40) (sp-item 2291 :period 900 :length 40) ) ) (defpart 2343 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 32.0) (sp-flt spt-y (meters -3)) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.3) 1.0) @@ -182,8 +175,7 @@ ) (defpart 2342 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 64.0 64.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters -4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0) @@ -209,8 +201,7 @@ ) (defpart 2291 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 32.0 32.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters -4) 1.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 8) 1.0) @@ -282,8 +273,7 @@ (defstate idle (beach-rock) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (set! (-> self trigger) #t) @@ -294,8 +284,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (if (-> self trigger) (go-virtual falling) ) @@ -311,10 +300,8 @@ (defstate loading (beach-rock) :virtual #t - :event - (-> (the-as state (method-of-type beach-rock idle)) event) - :code - (behavior () + :event (-> (the-as state (method-of-type beach-rock idle)) event) + :code (behavior () (loop (spool-push *art-control* "lrocklrg-falling" 0 self -1.0) (suspend) @@ -325,8 +312,7 @@ (defstate falling (beach-rock) :virtual #t - :trans - (behavior () + :trans (behavior () (set! (-> self draw bounds w) 819200.0) (let ((f30-0 (ja-aframe-num 0))) (when (and (< -50.0 f30-0) (< f30-0 158.0)) @@ -357,8 +343,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (v1-3 symbol) (v1-49 symbol)) (until v1-3 (spool-push *art-control* "lrocklrg-falling" 0 self -1.0) @@ -368,29 +353,17 @@ (logclear! (-> self draw status) (draw-status hidden)) (ja-channel-set! 1) (ja :group! (-> self draw art-group data 2) :num! min) - (let* ((gp-1 (get-process *default-dead-pool* othercam #x4000)) - (gp-2 (ppointer->handle (when gp-1 - (let ((t9-5 (method-of-type othercam activate))) - (t9-5 (the-as othercam gp-1) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 othercam-init-by-other self 7 #f #t) - (-> gp-1 ppointer) - ) - ) - ) - (s5-0 (get-process *default-dead-pool* fuel-cell #x4000)) - (s5-1 - (ppointer->handle - (when s5-0 - (let ((t9-8 (method-of-type fuel-cell activate))) - (t9-8 (the-as fuel-cell s5-0) self 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 fuel-cell-init-as-clone (process->handle self) (-> self entity extra perm task)) - (-> s5-0 ppointer) - ) - ) - ) - ) + (let ((gp-2 (ppointer->handle (process-spawn othercam self 7 #f #t :to self))) + (s5-1 (ppointer->handle (process-spawn + fuel-cell + :init fuel-cell-init-as-clone + (process->handle self) + (-> self entity extra perm task) + :to self + ) + ) + ) + ) (close-specific-task! (-> self entity extra perm task) (task-status need-reminder)) (set! (-> self movie-start) (-> *display* base-frame-counter)) (spool-push *art-control* "lrocklrg-falling" 0 self -1.0) @@ -399,8 +372,7 @@ :name "lrocklrg-falling" :index 4 :parts 4 - :command-list - '((-150 blackout 100) (-116 blackout 0)) + :command-list '((-150 blackout 100) (-116 blackout 0)) ) (the-as art-joint-anim (-> self draw art-group data 2)) (the-as art-joint-anim (-> self draw art-group data 3)) @@ -428,14 +400,12 @@ (go-virtual fallen) (none) ) - :post - (the-as (function none :behavior beach-rock) transform-post) + :post (the-as (function none :behavior beach-rock) transform-post) ) (defstate fallen (beach-rock) :virtual #t - :code - (behavior () + :code (behavior () (level-hint-spawn (game-text-id beach-seagulls-avalanche) "sksp0025" @@ -456,8 +426,7 @@ 0 (none) ) - :post - (the-as (function none :behavior beach-rock) ja-post) + :post (the-as (function none :behavior beach-rock) ja-post) ) (defmethod init-from-entity! beach-rock ((obj beach-rock) (arg0 entity-actor)) diff --git a/goal_src/levels/beach/bird-lady-beach.gc b/goal_src/levels/beach/bird-lady-beach.gc index 942e511189..e0f388b267 100644 --- a/goal_src/levels/beach/bird-lady-beach.gc +++ b/goal_src/levels/beach/bird-lady-beach.gc @@ -6,6 +6,7 @@ ;; dgos: BEA, L1 ;; DECOMP BEGINS + (import "goal_src/import/bird-lady-beach-ag.gc") (deftype bird-lady-beach (process-taskable) @@ -27,8 +28,7 @@ (defstate idle (bird-lady-beach) :virtual #t - :enter - (behavior () + :enter (behavior () (when (not (should-display? self)) (let ((a0-2 (handle->process (-> self flutflut)))) (if a0-2 @@ -53,42 +53,21 @@ (when arg0 (set! (-> obj cell-for-task) (current-task (-> obj tasks))) (close-current! (-> obj tasks)) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj flutflut) - (ppointer->handle - (when s5-1 - (let ((t9-4 (method-of-type manipy activate))) - (t9-4 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *flutflut-naked-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> obj flutflut) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *flutflut-naked-sg* #f :to obj)) + ) (send-event (handle->process (-> obj flutflut)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj flutflut)) 'blend-shape #t) - (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj egg) - (ppointer->handle - (when s5-2 - (let ((t9-9 (method-of-type manipy activate))) - (t9-9 (the-as manipy s5-2) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 manipy-init (-> obj root-override trans) (-> obj entity) *flutflutegg-sg* #f) - (-> s5-2 ppointer) - ) - ) - ) - ) + (set! (-> obj egg) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *flutflutegg-sg* #f :to obj)) + ) (send-event (handle->process (-> obj egg)) 'anim-mode 'clone-anim) ) (new 'static 'spool-anim :name "bird-lady-beach-resolution" :index 4 :parts 10 - :command-list - '((141 joint "cameraB") (535 joint "camera") (696 joint "cameraB") (758 joint "camera") (813 joint "cameraB")) + :command-list '((141 joint "cameraB") (535 joint "camera") (696 joint "cameraB") (758 joint "camera") (813 joint "cameraB")) ) ) (else diff --git a/goal_src/levels/beach/bird-lady.gc b/goal_src/levels/beach/bird-lady.gc index 432cc267c6..a5af43088d 100644 --- a/goal_src/levels/beach/bird-lady.gc +++ b/goal_src/levels/beach/bird-lady.gc @@ -6,6 +6,7 @@ ;; dgos: BEA, L1 ;; DECOMP BEGINS + (import "goal_src/import/bird-lady-ag.gc") (deftype bird-lady (process-taskable) @@ -75,8 +76,7 @@ :name "bird-lady-introduction" :index 4 :parts 11 - :command-list - '((0 want-levels village1 beach) + :command-list '((0 want-levels village1 beach) (49 joint "cameraB") (101 display-level beach special) (101 kill "yakow-8") @@ -136,10 +136,7 @@ (defmethod TODO-RENAME-43 bird-lady ((obj bird-lady)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.66 f0-2) (play-ambient (-> obj ambient) "BIR-LO02" #f (-> obj root-override trans)) diff --git a/goal_src/levels/beach/lurkercrab.gc b/goal_src/levels/beach/lurkercrab.gc index 4c2192b0eb..2c76500074 100644 --- a/goal_src/levels/beach/lurkercrab.gc +++ b/goal_src/levels/beach/lurkercrab.gc @@ -6,20 +6,19 @@ ;; dgos: BEA, L1 ;; DECOMP BEGINS + (import "goal_src/import/lurkercrab-ag.gc") (defpartgroup group-lurkercrab-slide :id 159 :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 663 :fade-after (meters 40) :falloff-to (meters 40)) + :parts ((sp-item 663 :fade-after (meters 40) :falloff-to (meters 40)) (sp-item 664 :fade-after (meters 40) :falloff-to (meters 40)) ) ) (defpart 663 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-flt spt-y (meters -2)) (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 1.0) @@ -38,8 +37,7 @@ ) (defpart 664 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-flt spt-y (meters -2)) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) @@ -199,18 +197,15 @@ nav-enemy-default-event-handler (defstate nav-enemy-idle (lurkercrab) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkercrab) nav-enemy-default-event-handler ) - :exit - (behavior () + :exit (behavior () (set! (-> self draw force-lod) -1) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self target-speed) 0.0) (set! (-> self draw force-lod) 2) (ja-channel-push! 1 (seconds 0.075)) @@ -268,20 +263,17 @@ nav-enemy-default-event-handler (defstate nav-enemy-patrol (lurkercrab) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkercrab) nav-enemy-default-event-handler ) - :exit - (behavior () + :exit (behavior () (lurkercrab-invulnerable) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf6)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) (none) ) - :code - (behavior () + :code (behavior () (when (ja-group? lurkercrab-idle-ja) (ja-no-eval :group! lurkercrab-idle-to-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -346,13 +338,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-notice (lurkercrab) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkercrab) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-chase) (none) ) @@ -360,19 +350,16 @@ nav-enemy-default-event-handler (defstate nav-enemy-chase (lurkercrab) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkercrab) nav-enemy-default-event-handler ) - :exit - (behavior () + :exit (behavior () (lurkercrab-invulnerable) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf6)) (none) ) - :trans - (behavior () + :trans (behavior () (if (logtest? (-> *target* state-flags) (state-flags sf03 sf04 sf05 sf06 sf07 sf15)) (go-virtual nav-enemy-victory) ) @@ -381,8 +368,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) (ja-channel-push! 1 (seconds 0.075)) (loop @@ -437,13 +423,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-stop-chase (lurkercrab) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkercrab) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-patrol) (none) ) @@ -451,13 +435,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-stare (lurkercrab) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkercrab) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-patrol) (none) ) @@ -465,13 +447,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-victory (lurkercrab) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkercrab) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (ja-channel-push! 1 (seconds 0.075)) (ja :group! (-> self draw art-group data (-> self nav-info victory-anim))) @@ -485,18 +465,15 @@ nav-enemy-default-event-handler ) (defstate lurkercrab-pushed (lurkercrab) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkercrab) nav-enemy-default-event-handler ) - :exit - (behavior () + :exit (behavior () (set! (-> self orient) #t) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self momentum-speed) 57344.0) (set! (-> self target-speed) 0.0) (set! (-> self orient) #f) @@ -518,8 +495,7 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-chase) (none) ) - :post - (behavior () + :post (behavior () (let ((a0-0 (-> self part)) (a1-0 (-> self collide-info root-prim prim-core)) ) diff --git a/goal_src/levels/beach/lurkerpuppy.gc b/goal_src/levels/beach/lurkerpuppy.gc index 4f568a7d9e..6a18e2de59 100644 --- a/goal_src/levels/beach/lurkerpuppy.gc +++ b/goal_src/levels/beach/lurkerpuppy.gc @@ -6,6 +6,7 @@ ;; dgos: BEA, L1 ;; DECOMP BEGINS + (import "goal_src/import/lurkerpuppy-ag.gc") (deftype lurkerpuppy (nav-enemy) @@ -27,13 +28,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-notice (lurkerpuppy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkerpuppy) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.17)) (ja-no-eval :group! lurkerpuppy-celebrate-ja :num! (seek!) :frame-num 0.0) @@ -49,13 +48,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-chase (lurkerpuppy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkerpuppy) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (cond ((ja-group? lurkerpuppy-jump-land-ja) (ja-channel-push! 1 (seconds 0.17)) @@ -90,13 +87,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-stare (lurkerpuppy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkerpuppy) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 1456355.5) (set! (-> self turn-time) (seconds 0.1)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) @@ -137,13 +132,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-give-up (lurkerpuppy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkerpuppy) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 218453.33) (set! (-> self turn-time) (seconds 0.5)) (ja-channel-push! 1 (seconds 0.075)) @@ -172,13 +165,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-attack (lurkerpuppy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkerpuppy) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "head-butt") (new-sound-id) 1024 0 0 1 #t) (go-virtual nav-enemy-victory) (none) @@ -187,18 +178,15 @@ nav-enemy-default-event-handler (defstate nav-enemy-victory (lurkerpuppy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkerpuppy) nav-enemy-default-event-handler ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (none) ) - :code - (behavior () + :code (behavior () (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (ja-channel-push! 1 (seconds 0.075)) (dotimes (gp-0 4) @@ -217,8 +205,7 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-chase) (none) ) - :post - (the-as (function none :behavior lurkerpuppy) nav-enemy-face-player-post) + :post (the-as (function none :behavior lurkerpuppy) nav-enemy-face-player-post) ) (define *lurkerpuppy-nav-enemy-info* (new 'static 'nav-enemy-info diff --git a/goal_src/levels/beach/lurkerworm.gc b/goal_src/levels/beach/lurkerworm.gc index 5561d7ac58..ce30498210 100644 --- a/goal_src/levels/beach/lurkerworm.gc +++ b/goal_src/levels/beach/lurkerworm.gc @@ -6,6 +6,7 @@ ;; dgos: BEA, L1 ;; DECOMP BEGINS + (import "goal_src/import/lurkerworm-ag.gc") (deftype lurkerworm (process-drawable) @@ -65,8 +66,7 @@ :id 157 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 656 :fade-after (meters 90) :period 900 :length 300) + :parts ((sp-item 656 :fade-after (meters 90) :period 900 :length 300) (sp-item 657 :fade-after (meters 100) :period 900 :length 390) (sp-item 658 :fade-after (meters 150) :period 900 :length 420 :offset 120) (sp-item 659 :fade-after (meters 60) :period 900 :length 420 :offset 120) @@ -77,16 +77,14 @@ :id 158 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 656 :fade-after (meters 90) :period 900 :length 300) + :parts ((sp-item 656 :fade-after (meters 90) :period 900 :length 300) (sp-item 658 :fade-after (meters 150) :period 900 :length 420 :offset 120) (sp-item 659 :fade-after (meters 60) :period 900 :length 420 :offset 120) ) ) (defpart 656 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters 3) (meters 5) 1.0) (sp-flt spt-y (meters 1)) @@ -110,13 +108,11 @@ ) (defpart 660 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) (defpart 658 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 1) 1.0) @@ -138,8 +134,7 @@ ) (defpart 659 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.6) (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -161,8 +156,7 @@ ) (defpart 657 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.4) 1.0) @@ -183,8 +177,7 @@ ) (defpart 661 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-z (meters -0.5) (meters 1) 1.0) @@ -207,8 +200,7 @@ ) (defpart 662 - :init-specs - ((sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-a -0.10666667)) ) (defmethod TODO-RENAME-20 lurkerworm ((obj lurkerworm)) @@ -322,16 +314,13 @@ lurkerworm-default-event-handler lurkerworm-default-post-behavior (defstate lurkerworm-idle (lurkerworm) - :event - lurkerworm-default-event-handler - :enter - (behavior () + :event lurkerworm-default-event-handler + :enter (behavior () (ja-channel-set! 0) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior () + :code (behavior () (loop (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) *target* @@ -343,21 +332,17 @@ lurkerworm-default-post-behavior ) (none) ) - :post - lurkerworm-default-post-behavior + :post lurkerworm-default-post-behavior ) (defstate lurkerworm-spot (lurkerworm) - :event - lurkerworm-default-event-handler - :enter - (behavior () + :event lurkerworm-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (sound-play-by-name (static-sound-name "worm-rise1") (new-sound-id) 1024 0 0 1 #t) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self part local-clock) 0) (loop (spawn (-> self part) (-> self root-override trans)) @@ -372,20 +357,16 @@ lurkerworm-default-post-behavior ) (none) ) - :post - lurkerworm-default-post-behavior + :post lurkerworm-default-post-behavior ) (defstate lurkerworm-rise (lurkerworm) - :event - lurkerworm-default-event-handler - :enter - (behavior () + :event lurkerworm-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-set! 1) (ja-no-eval :group! lurkerworm-rise-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -398,26 +379,21 @@ lurkerworm-default-post-behavior (go lurkerworm-rest) (none) ) - :post - lurkerworm-default-post-behavior + :post lurkerworm-default-post-behavior ) (defstate lurkerworm-rest (lurkerworm) - :event - lurkerworm-default-event-handler - :enter - (behavior () + :event lurkerworm-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self vulnerable) #t) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self vulnerable) #f) (none) ) - :code - (behavior () + :code (behavior () (let* ((f30-0 10.0) (f28-0 100.0) (v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) @@ -444,10 +420,8 @@ lurkerworm-default-post-behavior ) ) (f30-2 (* 0.2 f0-13)) - (v1-31 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-32 (the-as number (logior #x3f800000 v1-31))) ) - (if (< (+ -1.0 (the-as float v1-32)) f30-2) + (if (< (rand-float-gen) f30-2) (go lurkerworm-strike) ) ) @@ -469,15 +443,12 @@ lurkerworm-default-post-behavior ) (none) ) - :post - lurkerworm-default-post-behavior + :post lurkerworm-default-post-behavior ) (defstate lurkerworm-strike (lurkerworm) - :event - lurkerworm-default-event-handler - :code - (behavior () + :event lurkerworm-default-event-handler + :code (behavior () (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.135)) (ja-no-eval :group! lurkerworm-chomp-ja :num! (seek! (ja-aframe 13.0 0)) :frame-num 0.0) @@ -492,20 +463,16 @@ lurkerworm-default-post-behavior (go lurkerworm-rest) (none) ) - :post - lurkerworm-default-post-behavior + :post lurkerworm-default-post-behavior ) (defstate lurkerworm-sink (lurkerworm) - :event - lurkerworm-default-event-handler - :enter - (behavior () + :event lurkerworm-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! lurkerworm-sink-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (spawn (-> self part2) (-> self root-override trans)) @@ -516,18 +483,15 @@ lurkerworm-default-post-behavior (go lurkerworm-idle) (none) ) - :post - lurkerworm-default-post-behavior + :post lurkerworm-default-post-behavior ) (defstate lurkerworm-die (lurkerworm) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkerworm) process-drawable-death-event-handler ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (let ((v1-3 (-> self root-override root-prim))) (set! (-> v1-3 collide-with) (collide-kind)) @@ -542,8 +506,7 @@ lurkerworm-default-post-behavior (cleanup-for-death self) (none) ) - :post - lurkerworm-default-post-behavior + :post lurkerworm-default-post-behavior ) (defmethod init-from-entity! lurkerworm ((obj lurkerworm) (arg0 entity-actor)) diff --git a/goal_src/levels/beach/mayor.gc b/goal_src/levels/beach/mayor.gc index dcc66b18a9..813ec9b067 100644 --- a/goal_src/levels/beach/mayor.gc +++ b/goal_src/levels/beach/mayor.gc @@ -6,6 +6,7 @@ ;; dgos: BEA, L1 ;; DECOMP BEGINS + (import "goal_src/import/mayor-ag.gc") (deftype mayor (process-taskable) @@ -89,8 +90,7 @@ :name "mayor-introduction" :index 4 :parts 16 - :command-list - '((0 kill "villagea-part-65") + :command-list '((0 kill "villagea-part-65") (0 kill "villagea-part-70") (0 kill "med-res-level-2") (0 kill "med-res-level-3") @@ -181,8 +181,7 @@ :name "mayor-reminder-donation" :index 6 :parts 3 - :command-list - '((0 kill "villagea-part-65") + :command-list '((0 kill "villagea-part-65") (0 kill "villagea-part-70") (0 kill "med-res-level-2") (0 kill "med-res-level-3") @@ -265,8 +264,7 @@ :name "mayor-reminder-beams" :index 5 :parts 3 - :command-list - '((0 kill "villagea-part-65") + :command-list '((0 kill "villagea-part-65") (0 kill "villagea-part-70") (0 kill "med-res-level-2") (0 kill "med-res-level-3") @@ -352,8 +350,7 @@ :name "mayor-reminder-beams" :index 5 :parts 3 - :command-list - '((0 kill "villagea-part-65") + :command-list '((0 kill "villagea-part-65") (0 kill "villagea-part-70") (0 kill "med-res-level-2") (0 kill "med-res-level-3") @@ -439,8 +436,7 @@ :name "mayor-reminder-donation" :index 6 :parts 3 - :command-list - '((0 kill "villagea-part-65") + :command-list '((0 kill "villagea-part-65") (0 kill "villagea-part-70") (0 kill "med-res-level-2") (0 kill "med-res-level-3") @@ -543,8 +539,7 @@ :name "mayor-resolution-donation" :index 8 :parts 5 - :command-list - '((0 kill "villagea-part-65") + :command-list '((0 kill "villagea-part-65") (0 kill "villagea-part-70") (0 kill "med-res-level-2") (0 kill "med-res-level-3") @@ -651,10 +646,7 @@ (defmethod TODO-RENAME-43 mayor ((obj mayor)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.8888889 f0-2) (if (not (closed? (-> obj tasks) (game-task jungle-lurkerm) (task-status need-reminder))) @@ -702,16 +694,14 @@ (defstate idle (mayor) :virtual #t - :trans - (behavior () + :trans (behavior () (if (not (should-display? self)) (go-virtual hidden) ) ((-> (method-of-type process-taskable idle) trans)) (none) ) - :post - (behavior () + :post (behavior () (let ((t9-0 (-> (method-of-type process-taskable idle) post))) (if t9-0 ((the-as (function none) t9-0)) diff --git a/goal_src/levels/beach/pelican.gc b/goal_src/levels/beach/pelican.gc index c249133b11..ce85683e27 100644 --- a/goal_src/levels/beach/pelican.gc +++ b/goal_src/levels/beach/pelican.gc @@ -6,6 +6,7 @@ ;; dgos: BEA, L1 ;; DECOMP BEGINS + (import "goal_src/import/pelican-ag.gc") (deftype pelican-bank (basic) @@ -181,8 +182,7 @@ ) (defstate pelican-circle (pelican) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -206,8 +206,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (while (-> self child) (deactivate (-> self child 0)) ) @@ -215,17 +214,7 @@ (let ((gp-0 (-> self path-vector))) (eval-path-curve-div! (-> self path-dive0) gp-0 4.5 'interp) (set! (-> gp-0 y) (+ -4505.6 (-> gp-0 y))) - (let* ((s5-0 (get-process *default-dead-pool* manipy #x4000)) - (v1-8 - (when s5-0 - (let ((t9-3 (method-of-type manipy activate))) - (t9-3 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init gp-0 (-> self entity) *fuel-cell-sg* (new 'static 'vector :w 4915.2)) - (-> s5-0 ppointer) - ) - ) - ) + (let ((v1-8 (manipy-spawn gp-0 (-> self entity) *fuel-cell-sg* (new 'static 'vector :w 4915.2) :to self))) (set! (-> self fuel-cell) (ppointer->handle v1-8)) (if v1-8 (send-event @@ -249,8 +238,7 @@ (set-roll-to-grav-2! (-> self root-override) -2730.6667) (none) ) - :trans - (behavior () + :trans (behavior () (pelican-path-update 728177.75 30 1.0 (/ (-> self path-max) (path-distance (-> self path))) #f) (let ((f0-3 (+ (-> self path-pos) (* (-> self path-speed) (-> *display* seconds-per-frame)))) (f1-2 (-> self path-max)) @@ -260,60 +248,53 @@ (when (and (and *target* (>= 81920.0 (vector-vector-xz-distance (-> self path-vector) (-> *target* control trans)))) (not (handle->process (-> self cam-tracker))) ) - (let ((gp-1 (get-process *default-dead-pool* camera-tracker #x4000))) - (set! (-> self cam-tracker) - (ppointer->handle (when gp-1 - (let ((t9-4 (method-of-type camera-tracker activate))) - (t9-4 (the-as camera-tracker gp-1) self 'camera-tracker (the-as pointer #x70004000)) + (set! (-> self cam-tracker) + (ppointer->handle (process-spawn + camera-tracker + :init camera-tracker-init + (lambda :behavior camera-tracker + () + (local-vars + (a0-6 process-tree) + (a1-5 event-message-block) + (t9-6 (function process-tree event-message-block object)) ) - (run-now-in-process - gp-1 - camera-tracker-init - (lambda :behavior camera-tracker - () - (local-vars - (a0-6 process-tree) - (a1-5 event-message-block) - (t9-6 (function process-tree event-message-block object)) - ) - (while (not (process-grab? *target*)) - (suspend) - ) - (send-event (ppointer->process (-> self parent)) 'position 4.0) - (send-event (ppointer->process (-> self parent)) 'dive) - (suspend) - (suspend) - (send-event *camera* 'blend-from-as-fixed) - (camera-look-at (the-as pair (ppointer->process (-> self parent))) (the-as uint 0)) - (camera-change-to "camera-215" 0 #f) - (until (t9-6 a0-6 a1-5) - (suspend) - (set! a1-5 (new 'stack-no-clear 'event-message-block)) - (set! (-> a1-5 from) self) - (set! (-> a1-5 num-params) 0) - (set! (-> a1-5 message) 'got-cell?) - (set! t9-6 send-event-function) - (set! a0-6 (ppointer->process (-> self parent))) - ) - (send-event *camera* 'point-of-interest #f) - (while (!= (-> self message) 'release) - (suspend) - ) - (set! (-> self message) #f) - (while (not (process-release? (handle->process (-> self grab-target)))) - (suspend) - ) - (send-event *camera* 'blend-from-as-fixed) - (camera-look-at (the-as pair *target*) (the-as uint 0)) - (camera-change-to (the-as string 'base) 150 #f) - (none) - ) + (while (not (process-grab? *target*)) + (suspend) ) - (-> gp-1 ppointer) + (send-event (ppointer->process (-> self parent)) 'position 4.0) + (send-event (ppointer->process (-> self parent)) 'dive) + (suspend) + (suspend) + (send-event *camera* 'blend-from-as-fixed) + (camera-look-at (the-as pair (ppointer->process (-> self parent))) (the-as uint 0)) + (camera-change-to "camera-215" 0 #f) + (until (t9-6 a0-6 a1-5) + (suspend) + (set! a1-5 (new 'stack-no-clear 'event-message-block)) + (set! (-> a1-5 from) self) + (set! (-> a1-5 num-params) 0) + (set! (-> a1-5 message) 'got-cell?) + (set! t9-6 send-event-function) + (set! a0-6 (ppointer->process (-> self parent))) + ) + (send-event *camera* 'point-of-interest #f) + (while (!= (-> self message) 'release) + (suspend) + ) + (set! (-> self message) #f) + (while (not (process-release? (handle->process (-> self grab-target)))) + (suspend) + ) + (send-event *camera* 'blend-from-as-fixed) + (camera-look-at (the-as pair *target*) (the-as uint 0)) + (camera-change-to (the-as string 'base) 150 #f) + (none) ) + :to self ) - ) - ) + ) + ) (set! (-> self draw force-lod) 0) 0 ) @@ -326,8 +307,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (suspend) (send-event (-> self fuel-cell process 0) 'trans-hook fuel-cell-animate) (pelican-fly @@ -336,13 +316,11 @@ ) (none) ) - :post - pelican-post + :post pelican-post ) (defstate pelican-dive (pelican) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'got-cell?) @@ -355,8 +333,7 @@ ) ) ) - :enter - (behavior ((arg0 path-control) (arg1 curve-control) (arg2 time-frame)) + :enter (behavior ((arg0 path-control) (arg1 curve-control) (arg2 time-frame)) (init! (-> self query) (the-as string #f) 40 150 25 #t (the-as string #f)) (set! (-> self state-object) #f) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -384,13 +361,11 @@ 0 (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self draw force-lod) -1) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (handle->process (-> self fuel-cell))) (go pelican-fly-to-end (-> self path-to-nest2) (-> *PELICAN-bank* run-away-time)) ) @@ -401,21 +376,13 @@ ) (none) ) - :code - (behavior ((arg0 path-control) (arg1 curve-control) (arg2 time-frame)) + :code (behavior ((arg0 path-control) (arg1 curve-control) (arg2 time-frame)) (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! pelican-swoop-ja :num! (seek! (ja-aframe 48.0 0) 0.5) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (let ((gp-1 (handle->process (-> self fuel-cell)))) - (when (and gp-1 (>= (-> self path-pos) 3.8) (let ((a1-5 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-5 from) self) - (set! (-> a1-5 num-params) 1) - (set! (-> a1-5 message) 'query) - (set! (-> a1-5 param 0) (the-as uint 'grab)) - (not (send-event-function gp-1 a1-5)) - ) - ) + (when (and gp-1 (>= (-> self path-pos) 3.8) (not (send-event gp-1 'query 'grab))) (level-hint-spawn (game-text-id zero) (the-as string #f) (-> self entity) *entity-pool* (game-task none)) (send-event gp-1 'grab self) (send-event gp-1 'draw #f) @@ -436,21 +403,18 @@ (anim-loop) (none) ) - :post - pelican-post + :post pelican-post ) (defstate pelican-to-nest (pelican) - :enter - (behavior ((arg0 path-control) (arg1 int)) + :enter (behavior ((arg0 path-control) (arg1 int)) (set! (-> self path) arg0) (set! (-> self path-pos) 0.0) (set! (-> self path-max) (the float (+ (-> self path curve num-cverts) -1))) (set! (-> self path-speed) (/ (* 300.0 (-> self path-max)) (the float arg1))) (none) ) - :trans - (behavior () + :trans (behavior () (pelican-path-update 546133.3 30 0.0 0.0 #f) (seek! (-> self path-pos) (-> self path-max) (* (-> self path-speed) (-> *display* seconds-per-frame))) (if (= (-> self path-pos) (-> self path-max)) @@ -458,8 +422,7 @@ ) (none) ) - :code - (behavior ((arg0 path-control) (arg1 int)) + :code (behavior ((arg0 path-control) (arg1 int)) (pelican-fly (the-as (function pelican int) (lambda () 1)) (lambda ((arg0 pelican)) (if (and (>= (-> arg0 path-pos) 4.0) (>= 6.0 (-> arg0 path-pos))) @@ -470,13 +433,11 @@ ) (none) ) - :post - pelican-post + :post pelican-post ) (defstate pelican-wait-at-nest (pelican) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -527,8 +488,7 @@ ) ) ) - :enter - (behavior ((arg0 symbol)) + :enter (behavior ((arg0 symbol)) (set! (-> self path) (-> self path-from-nest0)) (set! (-> self path-pos) 0.0) (set! (-> self path-max) (the float (+ (-> self path curve num-cverts) -1))) @@ -560,15 +520,13 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (if (nonzero? (-> self neck)) (set-mode! (-> self neck) (joint-mod-handler-mode flex-blend)) ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((a1-0 (-> self state-vector)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -581,8 +539,7 @@ (spool-push *art-control* "pelican-spit-ext" 0 self -99.0) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (cond (arg0 (ja-channel-set! 1) @@ -622,8 +579,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (when *target* (if *target* (look-at-enemy! (-> *target* neck) (the-as vector (-> self root-override root-prim prim-core)) 'nothing self) @@ -638,24 +594,13 @@ ) (defstate pelican-spit (pelican) - :event - (-> pelican-circle event) - :code - (behavior () + :event (-> pelican-circle event) + :code (behavior () (local-vars (v1-21 symbol) (v1-31 symbol)) - (let* ((gp-0 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 - (ppointer->handle - (when gp-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 (the-as manipy gp-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 manipy-init (-> self entity extra trans) (-> self entity) *beachcam-sg* #f) - (-> gp-0 ppointer) - ) - ) - ) - ) + (let ((gp-1 + (ppointer->handle (manipy-spawn (-> self entity extra trans) (-> self entity) *beachcam-sg* #f :to self)) + ) + ) (let ((s5-0 (get-process *default-dead-pool* othercam #x4000))) (ppointer->handle (when s5-0 (let ((t9-4 (method-of-type othercam activate))) @@ -666,18 +611,11 @@ ) ) ) - (let* ((s5-1 (get-process *default-dead-pool* fuel-cell #x4000)) - (s4-0 (ppointer->handle (when s5-1 - (let ((t9-7 (method-of-type fuel-cell activate))) - (t9-7 (the-as fuel-cell s5-1) self 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 fuel-cell-init-as-clone (process->handle self) 0) - (-> s5-1 ppointer) - ) - ) - ) - (s5-2 (new 'stack-no-clear 'quaternion)) - ) + (let ((s4-0 + (ppointer->handle (process-spawn fuel-cell :init fuel-cell-init-as-clone (process->handle self) 0 :to self)) + ) + (s5-2 (new 'stack-no-clear 'quaternion)) + ) (quaternion-copy! s5-2 (-> self root-override quat)) (until v1-21 (suspend) @@ -689,8 +627,7 @@ :name "pelican-spit-ext" :index 11 :parts 2 - :command-list - '((10 send-event camera 'teleport-to-vector-start-string (static-vectorm -179 16 -421))) + :command-list '((10 send-event camera 'teleport-to-vector-start-string (static-vectorm -179 16 -421))) ) (the-as art-joint-anim pelican-sleep-ja) (the-as art-joint-anim #f) @@ -709,31 +646,26 @@ (quaternion-copy! (-> self root-override quat) s5-2) ) ) - (let ((gp-2 (get-process *default-dead-pool* process #x4000))) - (when gp-2 - (let ((t9-18 (method-of-type process activate))) - (t9-18 gp-2 self 'process (the-as pointer #x70004000)) + (process-spawn-function + process + (lambda :behavior pelican + () + (while (or (-> *setting-control* current ambient) + (-> *setting-control* current movie) + (-> *setting-control* current hint) + ) + (suspend) ) - (run-next-time-in-process gp-2 (lambda :behavior pelican - () - (while (or (-> *setting-control* current ambient) - (-> *setting-control* current movie) - (-> *setting-control* current hint) - ) - (suspend) - ) - (level-hint-spawn - (game-text-id beach-pelican-quick-get-cell) - "sksp0027" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (none) - ) - ) - (-> gp-2 ppointer) + (level-hint-spawn + (game-text-id beach-pelican-quick-get-cell) + "sksp0027" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (none) ) + :to self ) (let ((gp-3 (handle->process (-> self fuel-cell)))) (when gp-3 @@ -780,8 +712,7 @@ (go pelican-from-nest) (none) ) - :post - (behavior () + :post (behavior () (if (not (ja-group? pelican-sleep-ja)) (quaternion-identity! (-> self root-override quat)) ) @@ -791,13 +722,11 @@ ) (defstate pelican-from-nest (pelican) - :enter - (behavior () + :enter (behavior () (set! (-> self path-pos) 1.5) (none) ) - :trans - (behavior () + :trans (behavior () (pelican-path-update 131072.0 150 0.0 0.0 #f) (seek! (-> self path-pos) (-> self path-max) (* (-> self path-speed) (-> *display* seconds-per-frame))) (if (= (-> self path-pos) (-> self path-max)) @@ -805,21 +734,18 @@ ) (none) ) - :code - (behavior () + :code (behavior () (pelican-fly (the-as (function pelican int) (lambda () (rand-vu-int-range 2 4))) (the-as (function pelican int) zero-func) ) (none) ) - :post - pelican-post + :post pelican-post ) (defstate pelican-fly-to-end (pelican) - :enter - (behavior ((arg0 path-control) (arg1 time-frame)) + :enter (behavior ((arg0 path-control) (arg1 time-frame)) (process-entity-status! self (entity-perm-status complete) #t) (let ((v1-2 (-> self entity extra perm))) (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) @@ -838,8 +764,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (pelican-path-update 546133.3 30 0.0 0.0 #f) (seek! (-> self path-pos) (-> self path-max) (* (-> self path-speed) (-> *display* seconds-per-frame))) (if (= (-> self path-pos) (-> self path-max)) @@ -858,8 +783,7 @@ ) (none) ) - :code - (behavior ((arg0 path-control) (arg1 time-frame)) + :code (behavior ((arg0 path-control) (arg1 time-frame)) (pelican-fly (the-as (function pelican int) (lambda () 1)) (lambda ((arg0 pelican)) (if (and (>= (-> arg0 path-pos) 4.0) (>= 6.0 (-> arg0 path-pos))) @@ -870,44 +794,34 @@ ) (none) ) - :post - pelican-post + :post pelican-post ) (defstate pelican-wait-at-end (pelican) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (cleanup-for-death self) (none) ) ) (defstate pelican-explode (pelican) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (let ((v1-2 (-> self entity extra perm))) (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) (set! (-> v1-2 user-int8 0) 5) ) (when (not arg0) (sound-play-by-name (static-sound-name "scrate-break") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 71) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 71) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) ) (let ((gp-2 (new-stack-vector0))) @@ -939,8 +853,7 @@ (anim-loop) (none) ) - :post - (the-as (function none :behavior pelican) ja-post) + :post (the-as (function none :behavior pelican) ja-post) ) (defmethod init-from-entity! pelican ((obj pelican) (arg0 entity-actor)) @@ -993,23 +906,15 @@ (go pelican-wait-at-nest #t) ) ((2) - (let* ((s4-1 (get-process *default-dead-pool* manipy #x4000)) - (s5-2 (when s4-1 - (let ((t9-15 (method-of-type manipy activate))) - (t9-15 (the-as manipy s4-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s4-1 - manipy-init - (-> obj root-override trans) - (-> obj entity) - *fuel-cell-sg* - (new 'static 'vector :w 4915.2) - ) - (-> s4-1 ppointer) - ) - ) - ) + (let ((s5-2 (manipy-spawn + (-> obj root-override trans) + (-> obj entity) + *fuel-cell-sg* + (new 'static 'vector :w 4915.2) + :to obj + ) + ) + ) (set! (-> obj fuel-cell) (the-as handle (if s5-2 (ppointer->handle s5-2) (the-as int #f) diff --git a/goal_src/levels/beach/sculptor.gc b/goal_src/levels/beach/sculptor.gc index ca17fa144a..069e6a459a 100644 --- a/goal_src/levels/beach/sculptor.gc +++ b/goal_src/levels/beach/sculptor.gc @@ -7,8 +7,9 @@ (declare-type muse nav-enemy) ;; DECOMP BEGINS -(import "goal_src/import/sculptor-ag.gc") + (import "goal_src/import/sculptor-muse-ag.gc") +(import "goal_src/import/sculptor-ag.gc") (deftype sculptor (process-taskable) ((muse handle :offset-assert 384) @@ -71,21 +72,11 @@ ) (defbehavior muse-to-idle sculptor ((arg0 muse)) - (when (not (handle->process (-> arg0 incomming-attack-id))) - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) + (if (not (handle->process (-> arg0 incomming-attack-id))) (set! (-> arg0 incomming-attack-id) - (ppointer->handle - (when s5-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 (the-as manipy s5-0) arg0 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> arg0 collide-info trans) (-> arg0 entity) *sculptor-muse-sg* #f) - (-> s5-0 ppointer) - ) - ) + (ppointer->handle (manipy-spawn (-> arg0 collide-info trans) (-> arg0 entity) *sculptor-muse-sg* #f :to arg0)) ) ) - ) (let ((v1-11 (handle->process (-> arg0 incomming-attack-id)))) (if v1-11 (set! (-> (the-as muse v1-11) draw light-index) (the-as uint 3)) @@ -99,8 +90,7 @@ (defstate give-cell (sculptor) :virtual #t - :enter - (behavior () + :enter (behavior () (muse-to-idle (the-as muse self)) (none) ) @@ -116,8 +106,7 @@ :name "sculptor-introduction" :index 16 :parts 14 - :command-list - '((0 display-level beach special) + :command-list '((0 display-level beach special) (0 kill "med-res-level-2") (0 kill "med-res-level-4") (0 kill "med-res-level-6") @@ -145,19 +134,9 @@ (when arg0 (set! (-> obj cell-for-task) (current-task (-> obj tasks))) (close-current! (-> obj tasks)) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj muse) - (ppointer->handle - (when s5-1 - (let ((t9-5 (method-of-type manipy activate))) - (t9-5 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *sculptor-muse-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> obj muse) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *sculptor-muse-sg* #f :to obj)) + ) (let ((v1-18 (handle->process (-> obj muse)))) (if v1-18 (set! (-> (the-as muse v1-18) draw light-index) (the-as uint 3)) @@ -170,8 +149,7 @@ :name "sculptor-resolution" :index 18 :parts 4 - :command-list - '((51 joint "cameraB") (87 joint "camera")) + :command-list '((51 joint "cameraB") (87 joint "camera")) ) ) (else @@ -201,10 +179,7 @@ (defmethod TODO-RENAME-43 sculptor ((obj sculptor)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.85714287 f0-2) (play-ambient (-> obj ambient) "SCU-LO01" #f (-> obj root-override trans)) @@ -234,8 +209,7 @@ (defstate idle (sculptor) :virtual #t - :code - (behavior () + :code (behavior () (when (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.2)) (ja :group! (get-art-elem self)) @@ -276,10 +250,7 @@ ) ) ) - (let* ((v1-97 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-98 (the-as number (logior #x3f800000 v1-97))) - (f30-1 (+ -1.0 (the-as float v1-98))) - ) + (let ((f30-1 (rand-float-gen))) (ja-no-eval :group! sculptor-small-to-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -345,11 +316,7 @@ ) ) ) - (let* ((v1-316 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-317 (the-as number (logior #x3f800000 v1-316))) - ) - (< (+ -1.0 (the-as float v1-317)) 0.5) - ) + (< (rand-float-gen) 0.5) ) (ja-no-eval :group! sculptor-sigh-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) diff --git a/goal_src/levels/beach/seagull.gc b/goal_src/levels/beach/seagull.gc index ef0d327b71..2f61d15d70 100644 --- a/goal_src/levels/beach/seagull.gc +++ b/goal_src/levels/beach/seagull.gc @@ -10,18 +10,17 @@ (declare-type seagullflock process) ;; DECOMP BEGINS + (import "goal_src/import/seagull-ag.gc") (defpartgroup group-seagull-takeoff :id 160 :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 663 :fade-after (meters 20))) + :parts ((sp-item 663 :fade-after (meters 20))) ) (defpart 665 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -330,8 +329,7 @@ ) (defstate seagull-idle (seagull) - :enter - (behavior () + :enter (behavior () (let* ((v1-0 (-> self flock)) (f30-0 (dummy-16 (if v1-0 @@ -342,17 +340,14 @@ ) (f28-0 21845.334) (f26-0 -0.5) - (v1-5 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-6 (the-as number (logior #x3f800000 v1-5))) ) (set! (-> self heading) - (the float (sar (shl (the int (+ f30-0 (* f28-0 (+ f26-0 (+ -1.0 (the-as float v1-6)))))) 48) 48)) + (the float (sar (shl (the int (+ f30-0 (* f28-0 (+ f26-0 (rand-float-gen))))) 48) 48)) ) ) (none) ) - :trans - (behavior () + :trans (behavior () (when (nonzero? (-> self scared)) (+! (-> self scared) -1) (when (zero? (-> self scared)) @@ -376,8 +371,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self root-override trans y) (+ 20480.0 (-> self root-override trans y))) (move-to-ground (-> self root-override) 40960.0 40960.0 #t (collide-kind background)) (update-transforms! (-> self root-override)) @@ -460,8 +454,7 @@ ) (none) ) - :post - seagull-post + :post seagull-post ) (defmethod move-vertically! seagull ((obj seagull) (arg0 symbol)) @@ -486,26 +479,20 @@ (defmethod dummy-26 seagull ((obj seagull)) (let ((s5-0 (new 'stack-no-clear 'vector))) - (let* ((f30-0 -4096.0) - (f28-0 8192.0) - (v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (set! (-> s5-0 x) (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-2))) (-> obj flock 0 target x))) + (let ((f30-0 -4096.0) + (f28-0 8192.0) + ) + (set! (-> s5-0 x) (+ f30-0 (* f28-0 (rand-float-gen)) (-> obj flock 0 target x))) ) - (let* ((f30-1 -4096.0) - (f28-1 8192.0) - (v1-7 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-8 (the-as number (logior #x3f800000 v1-7))) - ) - (set! (-> s5-0 y) (+ f30-1 (* f28-1 (+ -1.0 (the-as float v1-8))) (-> obj flock 0 target y))) + (let ((f30-1 -4096.0) + (f28-1 8192.0) + ) + (set! (-> s5-0 y) (+ f30-1 (* f28-1 (rand-float-gen)) (-> obj flock 0 target y))) ) - (let* ((f30-2 -4096.0) - (f28-2 8192.0) - (v1-13 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-14 (the-as number (logior #x3f800000 v1-13))) - ) - (set! (-> s5-0 z) (+ f30-2 (* f28-2 (+ -1.0 (the-as float v1-14))) (-> obj flock 0 target z))) + (let ((f30-2 -4096.0) + (f28-2 8192.0) + ) + (set! (-> s5-0 z) (+ f30-2 (* f28-2 (rand-float-gen)) (-> obj flock 0 target z))) ) (vector-! s5-0 s5-0 (-> obj root-override trans)) (vector-float*! s5-0 s5-0 0.9) @@ -576,16 +563,14 @@ ) (defstate seagull-takeoff (seagull) - :trans - (behavior () + :trans (behavior () (when (< (+ (-> *display* base-frame-counter) (seconds -2)) (-> self part-time)) (-> self part) (-> self root-override root-prim prim-core) ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self part-time) (-> *display* base-frame-counter)) (ja-no-eval :group! seagull-takeoff-ja :num! (seek! (ja-aframe 4.0 0)) :frame-num (ja-aframe 1.0 0)) (until (ja-done? 0) @@ -628,21 +613,18 @@ (go seagull-flying) (none) ) - :post - seagull-post + :post seagull-post ) (defstate seagull-flying (seagull) - :trans - (behavior () + :trans (behavior () (when (< (+ (-> *display* base-frame-counter) (seconds -2)) (-> self part-time)) (-> self part) (-> self root-override root-prim prim-core) ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self max-tilt) 1820.4445) (let ((gp-0 0)) (loop @@ -823,21 +805,18 @@ ) (none) ) - :post - seagull-post + :post seagull-post ) (defstate seagull-soaring (seagull) - :trans - (behavior () + :trans (behavior () (when (< (+ (-> *display* base-frame-counter) (seconds -2)) (-> self part-time)) (-> self part) (-> self root-override root-prim prim-core) ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self max-tilt) 4551.1113) (loop @@ -987,13 +966,11 @@ ) (none) ) - :post - seagull-post + :post seagull-post ) (defstate seagull-landing (seagull) - :code - (behavior ((arg0 float)) + :code (behavior ((arg0 float)) (let ((s5-0 (new 'stack 'collide-tri-result))) 0.0 (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -1142,8 +1119,7 @@ (go seagull-idle) (none) ) - :post - seagull-post + :post seagull-post ) (defun seagull-reaction ((arg0 collide-shape-moving) (arg1 collide-shape-intersect) (arg2 vector) (arg3 vector)) @@ -1198,12 +1174,10 @@ (set! (-> self flock) (the-as (pointer seagullflock) (process->ppointer arg2))) (set! (-> self heading) 0.0) (set! (-> self tilt) 0.0) - (let* ((f30-0 51200.0) - (f28-0 20480.0) - (v1-23 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-24 (the-as number (logior #x3f800000 v1-23))) - ) - (set! (-> self thrust) (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-24))))) + (let ((f30-0 51200.0) + (f28-0 20480.0) + ) + (set! (-> self thrust) (+ f30-0 (* f28-0 (rand-float-gen)))) ) (set! (-> self teleport) #f) (go seagull-idle) @@ -1300,8 +1274,7 @@ ) (defstate seagullflock-at-waterfall (seagullflock) - :code - (behavior () + :code (behavior () (local-vars (a0-2 process) (a1-0 event-message-block) @@ -1359,8 +1332,7 @@ ) (defstate seagullflock-idle (seagullflock) - :code - (behavior () + :code (behavior () (loop (if (> (-> self teleport-frames) 0) (go seagullflock-at-waterfall) @@ -1422,16 +1394,7 @@ (if (= (-> obj birds) 64) (return (the-as (pointer process) #f)) ) - (let* ((s4-0 (get-process *default-dead-pool* seagull #x4000)) - (v0-0 (when s4-0 - (let ((t9-1 (method-of-type seagull activate))) - (t9-1 (the-as seagull s4-0) obj 'seagull (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 seagull-init-by-other arg0 (-> obj birds) obj) - (-> s4-0 ppointer) - ) - ) - ) + (let ((v0-0 (process-spawn seagull arg0 (-> obj birds) obj :to obj))) (set! (-> obj bird (-> obj birds)) (the-as (pointer seagull) v0-0)) (+! (-> obj birds) 1) v0-0 diff --git a/goal_src/levels/beach/wobbler.gc b/goal_src/levels/beach/wobbler.gc index 15a4152277..511d6fb90b 100644 --- a/goal_src/levels/beach/wobbler.gc +++ b/goal_src/levels/beach/wobbler.gc @@ -5,7 +5,8 @@ ;; name in dgo: wobbler ;; dgos: BEA, L1 -;; definition of type wobbler +;; DECOMP BEGINS + (deftype wobbler (basic) ((posx float :offset-assert 4) (posy float :offset-assert 8) @@ -26,8 +27,7 @@ ) ) -;; definition for method 9 of type wobbler -;; INFO: Return type mismatch int vs none. + (defmethod reset! wobbler ((obj wobbler) (arg0 float) (arg1 float) (arg2 float)) (set! (-> obj posx) 0.0) (set! (-> obj posy) 0.0) @@ -40,8 +40,6 @@ (none) ) -;; definition for method 10 of type wobbler -;; INFO: Return type mismatch int vs none. (defmethod inc-xy-vel! wobbler ((obj wobbler) (arg0 float) (arg1 float)) (+! (-> obj velx) arg0) (+! (-> obj vely) arg1) @@ -49,41 +47,33 @@ (none) ) -;; definition for method 11 of type wobbler -;; INFO: Return type mismatch int vs none. (defmethod move! wobbler ((obj wobbler)) (+! (-> obj posx) (* (-> obj velx) (-> *display* seconds-per-frame))) (+! (-> obj posy) (* (-> obj vely) (-> *display* seconds-per-frame))) (set! (-> obj velx) (* (-> obj velx) (-> obj damping))) (set! (-> obj vely) (* (-> obj vely) (-> obj damping))) - (+! (-> obj velx) (* (* -1.0 (-> obj posx)) (-> obj spring))) - (+! (-> obj vely) (* (* -1.0 (-> obj posy)) (-> obj spring))) + (+! (-> obj velx) (* -1.0 (-> obj posx) (-> obj spring))) + (+! (-> obj vely) (* -1.0 (-> obj posy) (-> obj spring))) 0 (none) ) -;; definition for method 12 of type wobbler -;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-12 wobbler ((obj wobbler) (arg0 quaternion)) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 x) (-> obj posy)) - (set! (-> s5-0 y) 0.0) - (set! (-> s5-0 z) (- (-> obj posx))) - (vector-normalize! s5-0 1.0) - (let* - ((f0-8 - (/ - (sqrtf - (+ (* (-> obj posx) (-> obj posx)) (* (-> obj posy) (-> obj posy))) - ) - (-> obj height) - ) + (set! (-> s5-0 x) (-> obj posy)) + (set! (-> s5-0 y) 0.0) + (set! (-> s5-0 z) (- (-> obj posx))) + (vector-normalize! s5-0 1.0) + (let* ((f0-8 (/ (sqrtf (+ (* (-> obj posx) (-> obj posx)) (* (-> obj posy) (-> obj posy)))) (-> obj height))) + (f0-9 (atan f0-8 1.0)) + ) + (quaternion-vector-angle! arg0 s5-0 f0-9) ) - (f0-9 (atan f0-8 1.0)) - ) - (quaternion-vector-angle! arg0 s5-0 f0-9) ) - ) 0 (none) ) + + + + diff --git a/goal_src/levels/citadel/assistant-citadel.gc b/goal_src/levels/citadel/assistant-citadel.gc index 5d2407864a..70613240a6 100644 --- a/goal_src/levels/citadel/assistant-citadel.gc +++ b/goal_src/levels/citadel/assistant-citadel.gc @@ -6,6 +6,7 @@ ;; dgos: CIT, L1 ;; DECOMP BEGINS + (import "goal_src/import/assistant-lavatube-end-ag.gc") (deftype assistant-lavatube-end (process-taskable) @@ -36,8 +37,7 @@ :name "assistant-lavatube-end-resolution" :index 4 :parts 11 - :command-list - '((61 joint "cameraB") + :command-list '((61 joint "cameraB") (151 joint "camera") (226 joint "cameraB") (273 joint "camera") @@ -73,8 +73,7 @@ (defstate hidden (assistant-lavatube-end) :virtual #t - :trans - (behavior () + :trans (behavior () (dummy-33 self) ((-> (method-of-type process-taskable hidden) trans)) (when (and (and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) @@ -87,8 +86,7 @@ (defstate idle (assistant-lavatube-end) :virtual #t - :enter - (behavior () + :enter (behavior () ((-> (method-of-type process-taskable idle) enter)) (case (get-task-status (game-task village4-button)) (((task-status need-reward-speech)) @@ -97,8 +95,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) diff --git a/goal_src/levels/citadel/citadel-obs.gc b/goal_src/levels/citadel/citadel-obs.gc index 5f5bf794d2..2fd700996f 100644 --- a/goal_src/levels/citadel/citadel-obs.gc +++ b/goal_src/levels/citadel/citadel-obs.gc @@ -6,17 +6,18 @@ ;; dgos: CIT, L1 ;; DECOMP BEGINS -(import "goal_src/import/citb-disc-ag.gc") -(import "goal_src/import/citb-arm-ag.gc") + +(import "goal_src/import/citb-generator-ag.gc") +(import "goal_src/import/citb-launcher-ag.gc") +(import "goal_src/import/citb-button-ag.gc") +(import "goal_src/import/citadelcam-ag.gc") +(import "goal_src/import/citb-hose-ag.gc") +(import "goal_src/import/citb-robotboss-ag.gc") +(import "goal_src/import/citb-coil-ag.gc") (import "goal_src/import/citb-arm-shoulder-ag.gc") (import "goal_src/import/citb-iris-door-ag.gc") -(import "goal_src/import/citb-launcher-ag.gc") -(import "goal_src/import/citb-hose-ag.gc") -(import "goal_src/import/citb-coil-ag.gc") -(import "goal_src/import/citadelcam-ag.gc") -(import "goal_src/import/citb-button-ag.gc") -(import "goal_src/import/citb-generator-ag.gc") -(import "goal_src/import/citb-robotboss-ag.gc") +(import "goal_src/import/citb-disc-ag.gc") +(import "goal_src/import/citb-arm-ag.gc") (deftype citb-arm-section (process-drawable) ((sync sync-info :inline :offset-assert 176) @@ -75,8 +76,7 @@ (defstate idle (citb-arm-section) :virtual #t - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) @@ -107,8 +107,7 @@ ) (none) ) - :post - (the-as (function none :behavior citb-arm-section) ja-post) + :post (the-as (function none :behavior citb-arm-section) ja-post) ) (defmethod init-root! citb-arm-section ((obj citb-arm-section)) @@ -158,10 +157,8 @@ (defstate idle (citb-arm) :virtual #t - :trans - (the-as (function none :behavior citb-arm) rider-trans) - :post - (behavior () + :trans (the-as (function none :behavior citb-arm) rider-trans) + :post (behavior () (if (logtest? (-> self draw status) (draw-status hidden)) (clear-collide-with-as (-> self root-override)) (restore-collide-with-as (-> self root-override)) @@ -367,20 +364,17 @@ (defstate citb-disc-idle (citb-disc) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'touch) - (send-event arg0 'no-look-around 75) + (send-event arg0 'no-look-around (seconds 0.25)) #f ) ) ) ) - :trans - (the-as (function none :behavior citb-disc) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior citb-disc) rider-trans) + :code (behavior () (loop (update! (-> self sound)) (quaternion-axis-angle! @@ -394,8 +388,7 @@ ) (none) ) - :post - (the-as (function none :behavior citb-disc) rider-post) + :post (the-as (function none :behavior citb-disc) rider-post) ) (defmethod init! citb-disc ((obj citb-disc)) @@ -641,8 +634,7 @@ (defstate plat-path-active (citb-launcher) :virtual #t - :post - (behavior () + :post (behavior () (let ((t9-0 (-> (method-of-type plat plat-path-active) post))) (if t9-0 ((the-as (function none :behavior citb-launcher) t9-0)) @@ -665,20 +657,8 @@ (defmethod dummy-26 citb-launcher ((obj citb-launcher)) (let ((f30-0 (res-lump-float (-> obj entity) 'spring-height :default 163840.0)) (s5-0 (res-lump-value (-> obj entity) 'mode uint128)) - (s4-0 (get-process *default-dead-pool* launcher #x4000)) ) - (set! (-> obj launcher) - (the-as - (pointer launcher) - (when s4-0 - (let ((t9-3 (method-of-type launcher activate))) - (t9-3 (the-as launcher s4-0) obj 'launcher (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 launcher-init-by-other (-> obj root-override trans) f30-0 s5-0 81920.0) - (-> s4-0 ppointer) - ) - ) - ) + (set! (-> obj launcher) (process-spawn launcher (-> obj root-override trans) f30-0 s5-0 81920.0 :to obj)) ) (set! (-> obj root-override root-prim local-sphere w) 18432.0) (logclear! (-> obj mask) (process-mask actor-pause)) @@ -755,8 +735,7 @@ (defstate citb-robotboss-idle (citb-robotboss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (sv-96 int) (sv-112 int)) (the-as object (cond ((= arg2 'shield-off) @@ -790,188 +769,61 @@ (s4-0 (the-as sound-name s3-0) s2-0 s1-0 s0-0 sv-96 sv-112 (the-as symbol t2-1)) ) ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'shove) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((v1-21 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-21 shove-up) 8192.0) - (set! (-> v1-21 shove-back) 12288.0) - (set! (-> a1-3 param 1) (the-as uint v1-21)) - ) - (the-as symbol (send-event-function arg0 a1-3)) - ) + (the-as symbol (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 2)) (shove-back (meters 3)))) + ) + ) ) ) ) ) - :code - (behavior () - (let* ((s5-0 (get-process *default-dead-pool* manipy #x4000)) - (gp-0 (when s5-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-nose-sg* - #f - ) - (-> s5-0 ppointer) - ) - ) - ) + :code (behavior () + (let ((gp-0 (manipy-spawn (-> self root-override trans) (-> self entity) *citb-robotboss-nose-sg* #f :to self))) (send-event (ppointer->process gp-0) 'anim-mode 'loop) (send-event (ppointer->process gp-0) 'art-joint-anim "citb-robotboss-nose-idle" 0) (send-event (ppointer->process gp-0) 'draw #t) ) - (let* ((s5-1 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 (when s5-1 - (let ((t9-7 (method-of-type manipy activate))) - (t9-7 (the-as manipy s5-1) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-head-sg* - #f - ) - (-> s5-1 ppointer) - ) - ) - ) + (let ((gp-1 (manipy-spawn (-> self root-override trans) (-> self entity) *citb-robotboss-head-sg* #f :to self))) (send-event (ppointer->process gp-1) 'anim-mode 'loop) (send-event (ppointer->process gp-1) 'art-joint-anim "citb-robotboss-head-idle" 0) (send-event (ppointer->process gp-1) 'draw #t) ) - (let* ((s5-2 (get-process *default-dead-pool* manipy #x4000)) - (gp-2 (when s5-2 - (let ((t9-13 (method-of-type manipy activate))) - (t9-13 (the-as manipy s5-2) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-2 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-gun-sg* - #f - ) - (-> s5-2 ppointer) - ) - ) - ) + (let ((gp-2 (manipy-spawn (-> self root-override trans) (-> self entity) *citb-robotboss-gun-sg* #f :to self))) (send-event (ppointer->process gp-2) 'anim-mode 'loop) (send-event (ppointer->process gp-2) 'art-joint-anim "citb-robotboss-gun-idle" 0) (send-event (ppointer->process gp-2) 'draw #t) ) - (let* ((s5-3 (get-process *default-dead-pool* manipy #x4000)) - (gp-3 (when s5-3 - (let ((t9-19 (method-of-type manipy activate))) - (t9-19 (the-as manipy s5-3) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-3 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-leftshoulder-sg* - #f - ) - (-> s5-3 ppointer) - ) - ) - ) + (let ((gp-3 + (manipy-spawn (-> self root-override trans) (-> self entity) *citb-robotboss-leftshoulder-sg* #f :to self) + ) + ) (send-event (ppointer->process gp-3) 'anim-mode 'loop) (send-event (ppointer->process gp-3) 'art-joint-anim "citb-robotboss-leftshoulder-idle" 0) (send-event (ppointer->process gp-3) 'draw #t) ) - (let* ((s5-4 (get-process *default-dead-pool* manipy #x4000)) - (gp-4 (when s5-4 - (let ((t9-25 (method-of-type manipy activate))) - (t9-25 (the-as manipy s5-4) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-4 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-rightshoulder-sg* - #f - ) - (-> s5-4 ppointer) - ) - ) - ) + (let ((gp-4 + (manipy-spawn (-> self root-override trans) (-> self entity) *citb-robotboss-rightshoulder-sg* #f :to self) + ) + ) (send-event (ppointer->process gp-4) 'anim-mode 'loop) (send-event (ppointer->process gp-4) 'art-joint-anim "citb-robotboss-rightshoulder-idle" 0) (send-event (ppointer->process gp-4) 'draw #t) ) - (let* ((s5-5 (get-process *default-dead-pool* manipy #x4000)) - (gp-5 (when s5-5 - (let ((t9-31 (method-of-type manipy activate))) - (t9-31 (the-as manipy s5-5) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-5 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-leftarm-sg* - #f - ) - (-> s5-5 ppointer) - ) - ) - ) + (let ((gp-5 (manipy-spawn (-> self root-override trans) (-> self entity) *citb-robotboss-leftarm-sg* #f :to self))) (send-event (ppointer->process gp-5) 'anim-mode 'loop) (send-event (ppointer->process gp-5) 'art-joint-anim "citb-robotboss-leftarm-idle" 0) (send-event (ppointer->process gp-5) 'draw #t) ) - (let* ((s5-6 (get-process *default-dead-pool* manipy #x4000)) - (gp-6 (when s5-6 - (let ((t9-37 (method-of-type manipy activate))) - (t9-37 (the-as manipy s5-6) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-6 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-rightarm-sg* - #f - ) - (-> s5-6 ppointer) - ) - ) - ) + (let ((gp-6 (manipy-spawn (-> self root-override trans) (-> self entity) *citb-robotboss-rightarm-sg* #f :to self)) + ) (send-event (ppointer->process gp-6) 'anim-mode 'loop) (send-event (ppointer->process gp-6) 'art-joint-anim "citb-robotboss-rightarm-idle" 0) (send-event (ppointer->process gp-6) 'draw #t) ) - (let* ((s5-7 (get-process *default-dead-pool* manipy #x4000)) - (gp-7 (when s5-7 - (let ((t9-43 (method-of-type manipy activate))) - (t9-43 (the-as manipy s5-7) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-7 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-belly-sg* - #f - ) - (-> s5-7 ppointer) - ) - ) - ) + (let ((gp-7 (manipy-spawn (-> self root-override trans) (-> self entity) *citb-robotboss-belly-sg* #f :to self))) (send-event (ppointer->process gp-7) 'anim-mode 'loop) (send-event (ppointer->process gp-7) 'art-joint-anim "citb-robotboss-belly-idle" 0) (send-event (ppointer->process gp-7) 'draw #t) @@ -987,13 +839,11 @@ ) (none) ) - :post - (the-as (function none :behavior citb-robotboss) ja-post) + :post (the-as (function none :behavior citb-robotboss) ja-post) ) (defstate citb-robotboss-die (citb-robotboss) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (deactivate self) (none) @@ -1066,16 +916,14 @@ ) (defstate citb-coil-idle (citb-coil) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go citb-coil-break) ) ) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1085,8 +933,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (spawn (-> self part) (-> self root trans)) (ja-post) (none) @@ -1094,8 +941,7 @@ ) (defstate citb-coil-break (citb-coil) - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) @@ -1106,13 +952,11 @@ (go citb-coil-broken) (none) ) - :post - (the-as (function none :behavior citb-coil) ja-post) + :post (the-as (function none :behavior citb-coil) ja-post) ) (defstate citb-coil-broken (citb-coil) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -1124,8 +968,7 @@ ) (none) ) - :post - (the-as (function none :behavior citb-coil) ja-post) + :post (the-as (function none :behavior citb-coil) ja-post) ) (defmethod init-from-entity! citb-coil ((obj citb-coil) (arg0 entity-actor)) @@ -1177,10 +1020,8 @@ ) (defstate citb-hose-idle (citb-hose) - :event - citb-hose-event-handler - :code - (behavior () + :event citb-hose-event-handler + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1190,15 +1031,12 @@ ) (none) ) - :post - (the-as (function none :behavior citb-hose) ja-post) + :post (the-as (function none :behavior citb-hose) ja-post) ) (defstate citb-hose-spawn (citb-hose) - :event - citb-hose-event-handler - :code - (behavior () + :event citb-hose-event-handler + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1208,15 +1046,12 @@ (go citb-hose-idle) (none) ) - :post - (the-as (function none :behavior citb-hose) ja-post) + :post (the-as (function none :behavior citb-hose) ja-post) ) (defstate citb-hose-die (citb-hose) - :event - citb-hose-event-handler - :code - (behavior () + :event citb-hose-event-handler + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) @@ -1227,8 +1062,7 @@ (anim-loop) (none) ) - :post - (the-as (function none :behavior citb-hose) ja-post) + :post (the-as (function none :behavior citb-hose) ja-post) ) (defmethod init-from-entity! citb-hose ((obj citb-hose) (arg0 entity-actor)) @@ -1389,8 +1223,7 @@ ) (defstate citb-generator-idle (citb-generator) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (if (-> self mushroom) @@ -1404,13 +1237,11 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (lods-assign! (-> self draw) (-> self normal-look)) (update-transforms! (-> self root-override)) (loop @@ -1444,13 +1275,11 @@ ) (none) ) - :post - (the-as (function none :behavior citb-generator) ja-post) + :post (the-as (function none :behavior citb-generator) ja-post) ) (defstate citb-generator-break (citb-generator) - :code - (behavior () + :code (behavior () (let ((gp-0 (entity-actor-count (-> self entity) 'open-actor))) (dotimes (s5-0 gp-0) (let ((s4-0 (entity-actor-lookup (-> self entity) 'open-actor s5-0)) @@ -1483,35 +1312,26 @@ ) ) (process-entity-status! self (entity-perm-status complete) #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 598) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 598) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (sound-play-by-name (static-sound-name "sagecage-open") (new-sound-id) 1024 0 0 1 #t) (go citb-generator-broken) (none) ) - :post - (the-as (function none :behavior citb-generator) ja-post) + :post (the-as (function none :behavior citb-generator) ja-post) ) (defstate citb-generator-broken (citb-generator) - :code - (behavior () + :code (behavior () (lods-assign! (-> self draw) (-> self broken-look)) (update-transforms! (-> self root-override)) (cond @@ -1531,8 +1351,7 @@ (anim-loop) (none) ) - :post - (behavior () + :post (behavior () (spawn (-> self part-broken) (-> self root-override trans)) (ja-post) (none) @@ -1637,8 +1456,7 @@ (defstate citadelcam-idle (citadelcam) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (when (and (task-complete? *game-info* (game-task citadel-sage-blue)) @@ -1651,8 +1469,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask actor-pause)) (anim-loop) (none) @@ -1660,8 +1477,7 @@ ) (defstate citadelcam-stair-plats (citadelcam) - :code - (behavior () + :code (behavior () (let ((gp-0 (entity-actor-count (-> self entity) 'trigger-actor))) (dotimes (s5-0 gp-0) (let ((s4-0 (entity-actor-lookup (-> self entity) 'trigger-actor s5-0)) @@ -1693,28 +1509,12 @@ ) ) ) - (let* ((gp-1 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-2 - (ppointer->handle - (when gp-1 - (let ((t9-6 (method-of-type pov-camera activate))) - (t9-6 (the-as pov-camera gp-1) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - pov-camera-init-by-other - (-> self root trans) - *citadelcam-sg* - "citadelcam-stair-plats" - 0 - #f - '() - ) - (-> gp-1 ppointer) - ) - ) - ) - ) + (let ((gp-2 + (ppointer->handle + (process-spawn pov-camera (-> self root trans) *citadelcam-sg* "citadelcam-stair-plats" 0 #f '() :to self) + ) + ) + ) (while (handle->process (the-as handle gp-2)) (suspend) ) @@ -1750,8 +1550,7 @@ (defstate battlecontroller-play-intro-camera (citb-battlecontroller) :virtual #t - :code - (behavior () + :code (behavior () (level-hint-spawn (game-text-id citadel-lurker-bunny-alert) "sksp0383" @@ -1760,26 +1559,19 @@ (game-task none) ) (suspend) - (let* ((gp-0 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-1 (ppointer->handle (when gp-0 - (let ((t9-2 (method-of-type pov-camera activate))) - (t9-2 (the-as pov-camera gp-0) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - pov-camera-init-by-other - (-> (entity-by-name "citadelcam-1") extra trans) - *citadelcam-sg* - "citadel-bunnies" - 0 - #f - '() - ) - (-> gp-0 ppointer) - ) - ) - ) - ) + (let ((gp-1 (ppointer->handle (process-spawn + pov-camera + (-> (entity-by-name "citadelcam-1") extra trans) + *citadelcam-sg* + "citadel-bunnies" + 0 + #f + '() + :to self + ) + ) + ) + ) (send-event (handle->process (the-as handle gp-1)) 'mask 2048) (while (handle->process (the-as handle gp-1)) (logclear! (-> *target* state-flags) (state-flags sf04)) @@ -1793,8 +1585,7 @@ (defstate battlecontroller-die (citb-battlecontroller) :virtual #t - :code - (behavior () + :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))) (if t9-2 diff --git a/goal_src/levels/citadel/citadel-part.gc b/goal_src/levels/citadel/citadel-part.gc index 8159e7e84d..913d405e81 100644 --- a/goal_src/levels/citadel/citadel-part.gc +++ b/goal_src/levels/citadel/citadel-part.gc @@ -20,13 +20,11 @@ :id 685 :flags (use-local-clock) :bounds (static-bspherem 0 -8 0 8) - :parts - ((sp-item 2879) (sp-item 2880)) + :parts ((sp-item 2879) (sp-item 2880)) ) (defpart 2880 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 8.0 1.0) (sp-rnd-flt spt-x (meters 0) (meters 2.5) 1.0) (sp-flt spt-y (meters -13)) @@ -57,8 +55,7 @@ ) (defpart 2881 - :init-specs - ((sp-flt spt-userdata 409600.0)) + :init-specs ((sp-flt spt-userdata 409600.0)) ) (defun check-drop-level-firehose-pops ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) @@ -88,8 +85,7 @@ ) (defpart 2883 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -105,8 +101,7 @@ ) (defpart 2882 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 4.0 4.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -128,8 +123,7 @@ ) (defpart 2879 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters 0) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -2) (meters -1) 1.0) @@ -147,8 +141,7 @@ ) (defpart 2541 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-func spt-birth-func 'birth-func-set-quat) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -11)) @@ -168,8 +161,7 @@ :id 599 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12.5) - :parts - ((sp-item 2408 :fade-after (meters 200) :falloff-to (meters 200)) + :parts ((sp-item 2408 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 2409 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 2410 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 2411 :fade-after (meters 200) :falloff-to (meters 200) :binding 2407) @@ -199,8 +191,7 @@ :id 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12.5) - :parts - ((sp-item 2413 :fade-after (meters 300) :falloff-to (meters 300)) + :parts ((sp-item 2413 :fade-after (meters 300) :falloff-to (meters 300)) (sp-item 2414 :fade-after (meters 200) :falloff-to (meters 200) :binding 2412) (sp-item 2412 :flags (bit1 start-dead launch-asap)) (sp-item 2412 :flags (bit1 start-dead launch-asap)) @@ -232,8 +223,7 @@ ) (defpart 2411 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-y (meters 4.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 10.4) (meters 6) 1.0) @@ -249,8 +239,7 @@ ) (defpart 2407 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-flt spt-y (meters 0)) @@ -275,8 +264,7 @@ ) (defpart 2408 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-flt spt-y (meters 5)) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 6.5) 1.0) @@ -297,8 +285,7 @@ ) (defpart 2409 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-flt spt-y (meters 5)) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 5.5) 1.0) @@ -319,8 +306,7 @@ ) (defpart 2410 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-flt spt-y (meters 5)) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 4.5) 1.0) @@ -341,8 +327,7 @@ ) (defpart 2413 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.75)) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) @@ -359,8 +344,7 @@ ) (defpart 2414 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-y (meters 0.2) (meters 1.4) 1.0) (sp-flt spt-scale-x (meters 0.4)) @@ -373,8 +357,7 @@ ) (defpart 2412 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-flt spt-y (meters 0)) @@ -399,13 +382,11 @@ ) (defpart 2415 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 2416)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 2416)) ) (defpart 2416 - :init-specs - ((sp-flt spt-fade-a -0.8)) + :init-specs ((sp-flt spt-fade-a -0.8)) ) (defpartgroup group-citb-generator-break @@ -414,8 +395,7 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 2423 :period 600 :length 5) + :parts ((sp-item 2423 :period 600 :length 5) (sp-item 2424 :fade-after (meters 80) :falloff-to (meters 80) :period 600 :length 40) (sp-item 2425 :period 600 :length 20) (sp-item 2426 :fade-after (meters 120) :falloff-to (meters 120) :period 600 :length 20) @@ -423,8 +403,7 @@ ) (defpart 2424 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) @@ -452,13 +431,11 @@ ) (defpart 2427 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) ) (defpart 2426 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 0.2)) @@ -479,8 +456,7 @@ ) (defpart 2423 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 16)) @@ -499,8 +475,7 @@ ) (defpart 2425 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) @@ -531,15 +506,13 @@ :id 597 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 2417 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 2417 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 2418 :fade-after (meters 60) :falloff-to (meters 60)) ) ) (defpart 2417 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.25) (sp-rnd-flt spt-x (meters -0.5) (meters 1.1) 1.0) (sp-flt spt-y (meters 0.75)) @@ -567,8 +540,7 @@ ) (defpart 2418 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters 0.2)) (sp-flt spt-y (meters 1.75)) (sp-int spt-rot-x 8) @@ -587,8 +559,7 @@ ) (defpart 2419 - :init-specs - ((sp-flt spt-fade-b -1.3653333)) + :init-specs ((sp-flt spt-fade-b -1.3653333)) ) (defun birth-func-random-rot ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) @@ -653,13 +624,11 @@ :id 601 :flags (use-local-clock) :bounds (static-bspherem 0 23 0 34) - :parts - ((sp-item 2420 :fade-after (meters 220) :falloff-to (meters 250) :flags (is-3d))) + :parts ((sp-item 2420 :fade-after (meters 220) :falloff-to (meters 250) :flags (is-3d))) ) (defpart 2420 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) (sp-func spt-birth-func 'birth-func-random-rot) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 23)) @@ -680,8 +649,7 @@ ) (defpart 2421 - :init-specs - ((sp-rnd-flt spt-g 32.0 32.0 1.0) + :init-specs ((sp-rnd-flt spt-g 32.0 32.0 1.0) (sp-flt spt-a 96.0) (sp-flt spt-fade-a 0.0) (sp-int spt-next-time 5) @@ -690,16 +658,14 @@ ) (defpart 2422 - :init-specs - ((sp-rnd-flt spt-g 0.0 32.0 1.0) (sp-flt spt-a 64.0) (sp-flt spt-fade-a -0.85333335)) + :init-specs ((sp-rnd-flt spt-g 0.0 32.0 1.0) (sp-flt spt-a 64.0) (sp-flt spt-fade-a -0.85333335)) ) (defpartgroup group-citb-coil-glow :id 596 :flags (use-local-clock) :bounds (static-bspherem 0 3 0 4) - :parts - ((sp-item 2429 :fade-after (meters 100) :falloff-to (meters 100) :flags (is-3d)) + :parts ((sp-item 2429 :fade-after (meters 100) :falloff-to (meters 100) :flags (is-3d)) (sp-item 2430 :fade-after (meters 100) :falloff-to (meters 100) :flags (is-3d)) (sp-item 2431 :fade-after (meters 100) :falloff-to (meters 100) :flags (is-3d)) (sp-item 2432 :fade-after (meters 100) :falloff-to (meters 100) :flags (is-3d)) @@ -739,8 +705,7 @@ ) (defpart 2434 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.1)) (sp-flt spt-y (meters 1.0025)) @@ -760,8 +725,7 @@ ) (defpart 2433 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.1)) (sp-flt spt-y (meters 3.9)) @@ -781,8 +745,7 @@ ) (defpart 2432 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 3.2897)) @@ -802,8 +765,7 @@ ) (defpart 2431 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 0.8025)) @@ -823,8 +785,7 @@ ) (defpart 2430 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.2)) (sp-flt spt-y (meters 0.8025)) @@ -843,8 +804,7 @@ ) (defpart 2429 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.2)) (sp-flt spt-y (meters 3.7)) @@ -863,8 +823,7 @@ ) (defpart 2438 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-y (meters 0.5) (meters 4) 1.0) (sp-flt spt-scale-x (meters 0.4)) @@ -877,8 +836,7 @@ ) (defpart 2428 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-flt spt-y (meters 0)) @@ -903,18 +861,15 @@ ) (defpart 2439 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 2440)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 2440)) ) (defpart 2440 - :init-specs - ((sp-flt spt-fade-a -0.8)) + :init-specs ((sp-flt spt-fade-a -0.8)) ) (defpart 2437 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.2 0.5 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 4) 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 2.5) 1.0) @@ -933,8 +888,7 @@ ) (defpart 2435 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 4) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 0.5) 1.0) @@ -954,8 +908,7 @@ ) (defpart 2436 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 4) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 0.5) 1.0) @@ -978,15 +931,13 @@ :id 602 :flags (use-local-clock) :bounds (static-bspherem 0 6 0 8) - :parts - ((sp-item 2441 :fade-after (meters 120) :falloff-to (meters 120)) + :parts ((sp-item 2441 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 2442 :fade-after (meters 120) :falloff-to (meters 120)) ) ) (defpart 2442 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.06125) (sp-rnd-flt spt-x (meters 1.5) (meters 0.5) 1.0) (sp-flt spt-y (meters 4.5)) @@ -1018,8 +969,7 @@ ) (defpart 2443 - :init-specs - ((sp-flt spt-fade-r 0.0) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.035555556) @@ -1028,8 +978,7 @@ ) (defpart 2441 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 1.5) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 3) 1.0) @@ -1060,8 +1009,7 @@ :id 603 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 34) - :parts - ((sp-item 2447 :fade-after (meters 140) :falloff-to (meters 140) :binding 2444) + :parts ((sp-item 2447 :fade-after (meters 140) :falloff-to (meters 140) :binding 2444) (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2445) (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2446) (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2445) @@ -1093,13 +1041,11 @@ :id 607 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 2451 :flags (is-3d))) + :parts ((sp-item 2451 :flags (is-3d))) ) (defpart 2451 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) @@ -1117,8 +1063,7 @@ ) (defpart 2447 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.025) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1138,8 +1083,7 @@ ) (defpart 2444 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -1161,8 +1105,7 @@ ) (defpart 2445 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -1181,8 +1124,7 @@ ) (defpart 2446 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -1201,8 +1143,7 @@ ) (defpart 2448 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.8) 1.0) @@ -1222,8 +1163,7 @@ ) (defpart 2450 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1243,8 +1183,7 @@ ) (defpart 2449 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1263,8 +1202,7 @@ :id 604 :flags (use-local-clock) :bounds (static-bspherem 0 23 0 34) - :parts - ((sp-item 2454 :fade-after (meters 140) :falloff-to (meters 140) :binding 2452) + :parts ((sp-item 2454 :fade-after (meters 140) :falloff-to (meters 140) :binding 2452) (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) @@ -1296,13 +1234,11 @@ :id 608 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 2458 :flags (is-3d))) + :parts ((sp-item 2458 :flags (is-3d))) ) (defpart 2458 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) @@ -1320,8 +1256,7 @@ ) (defpart 2454 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-scale-x (meters 6) (meters 3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1340,8 +1275,7 @@ ) (defpart 2452 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -1363,8 +1297,7 @@ ) (defpart 2453 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1388,8 +1321,7 @@ ) (defpart 2455 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-scale-y (meters 1.5) (meters 0.75) 1.0) @@ -1409,8 +1341,7 @@ ) (defpart 2457 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-scale-x (meters 6) (meters 3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1429,8 +1360,7 @@ ) (defpart 2456 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1449,8 +1379,7 @@ :id 605 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 34) - :parts - ((sp-item 2461 :fade-after (meters 140) :falloff-to (meters 140) :binding 2459) + :parts ((sp-item 2461 :fade-after (meters 140) :falloff-to (meters 140) :binding 2459) (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) @@ -1486,13 +1415,11 @@ :id 609 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 2465 :flags (is-3d))) + :parts ((sp-item 2465 :flags (is-3d))) ) (defpart 2465 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) @@ -1510,8 +1437,7 @@ ) (defpart 2461 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.025) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1531,8 +1457,7 @@ ) (defpart 2459 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -1554,8 +1479,7 @@ ) (defpart 2460 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1574,8 +1498,7 @@ ) (defpart 2462 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.8) 1.0) @@ -1595,8 +1518,7 @@ ) (defpart 2464 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1616,8 +1538,7 @@ ) (defpart 2463 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1636,8 +1557,7 @@ :id 606 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 34) - :parts - ((sp-item 2468 :binding 2466) + :parts ((sp-item 2468 :binding 2466) (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) @@ -1673,13 +1593,11 @@ :id 610 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 2472 :flags (is-3d))) + :parts ((sp-item 2472 :flags (is-3d))) ) (defpart 2472 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) @@ -1697,8 +1615,7 @@ ) (defpart 2468 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.025) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1718,8 +1635,7 @@ ) (defpart 2466 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -1741,8 +1657,7 @@ ) (defpart 2467 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1760,8 +1675,7 @@ ) (defpart 2469 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.8) 1.0) @@ -1781,8 +1695,7 @@ ) (defpart 2471 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1802,8 +1715,7 @@ ) (defpart 2470 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1819,8 +1731,7 @@ ) (defpart 2473 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) (sp-func spt-birth-func 'birth-func-set-quat) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.25) 1.0) @@ -1837,8 +1748,7 @@ (defpartgroup group-citadel-warpgate :id 662 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2689 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 2689 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 2690 :fade-after (meters 60) :falloff-to (meters 100) :binding 2687) (sp-item 2687 :flags (bit1 start-dead launch-asap)) (sp-item 2687 :flags (bit1 start-dead launch-asap)) @@ -2014,8 +1924,7 @@ ) (defpart 2692 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-x (meters 0)) (sp-flt spt-scale-x (meters 5)) @@ -2032,8 +1941,7 @@ ) (defpart 2691 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-x (meters -2)) (sp-flt spt-scale-x (meters 0.25)) @@ -2048,8 +1956,7 @@ ) (defpart 2688 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 4.3555555)) (sp-flt spt-y (meters 4)) @@ -2072,8 +1979,7 @@ ) (defpart 2689 - :init-specs - ((sp-rnd-flt spt-num 3.0 3.0 1.0) + :init-specs ((sp-rnd-flt spt-num 3.0 3.0 1.0) (sp-flt spt-x (meters -0.5)) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) @@ -2090,8 +1996,7 @@ ) (defpart 2690 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.25)) (sp-copy-from-other spt-scale-y -4) @@ -2105,8 +2010,7 @@ ) (defpart 2687 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 4.3555555)) (sp-flt spt-y (meters 4)) @@ -2132,8 +2036,7 @@ (defpartgroup group-part-citadel-torch :id 683 :bounds (static-bspherem 0 3 0 4) - :parts - ((sp-item 2832 :fade-after (meters 180) :falloff-to (meters 200)) + :parts ((sp-item 2832 :fade-after (meters 180) :falloff-to (meters 200)) (sp-item 2833 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 2834 :fade-after (meters 50) :falloff-to (meters 50) :period 600 :length 90) (sp-item 2835 :fade-after (meters 50) :falloff-to (meters 50) :period 369 :length 69) @@ -2143,8 +2046,7 @@ ) (defpart 2837 - :init-specs - ((sp-flt spt-num 0.3) + :init-specs ((sp-flt spt-num 0.3) (sp-flt spt-x (meters 0.2)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) (sp-int spt-rot-x 5) @@ -2162,13 +2064,11 @@ ) (defpart 2838 - :init-specs - ((sp-flt spt-fade-b -6.826667)) + :init-specs ((sp-flt spt-fade-b -6.826667)) ) (defpart 2832 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1069547520 1 1.0) (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) (sp-rnd-flt spt-z (meters -0.35) (meters 0.7) 1.0) @@ -2190,13 +2090,11 @@ ) (defpart 2839 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) (defpart 2834 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-flt spt-y (meters 1)) @@ -2219,8 +2117,7 @@ ) (defpart 2835 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2243,8 +2140,7 @@ ) (defpart 2836 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0) (sp-flt spt-y (meters 0.6)) @@ -2267,8 +2163,7 @@ ) (defpart 2833 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.3)) diff --git a/goal_src/levels/citadel/citadel-sages.gc b/goal_src/levels/citadel/citadel-sages.gc index 64c78f5e2f..82b0106c08 100644 --- a/goal_src/levels/citadel/citadel-sages.gc +++ b/goal_src/levels/citadel/citadel-sages.gc @@ -10,12 +10,13 @@ (declare-type citb-sage process-taskable) ;; DECOMP BEGINS + +(import "goal_src/import/green-sagecage-ag.gc") +(import "goal_src/import/yellowsage-ag.gc") +(import "goal_src/import/redsage-ag.gc") (import "goal_src/import/evilbro-citadel-ag.gc") (import "goal_src/import/evilsis-citadel-ag.gc") -(import "goal_src/import/yellowsage-ag.gc") (import "goal_src/import/citb-sagecage-ag.gc") -(import "goal_src/import/redsage-ag.gc") -(import "goal_src/import/green-sagecage-ag.gc") (import "goal_src/import/bluesage-ag.gc") (defskelgroup *citb-sagecage-sg* citb-sagecage citb-sagecage-lod0-jg citb-sagecage-redsage-idle-ja @@ -96,8 +97,7 @@ ) (defstate citb-sagecage-idle (citb-sagecage) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-3 none)) (let ((v1-0 arg2)) (the-as object (cond @@ -128,10 +128,8 @@ ) ) ) - :trans - (the-as (function none :behavior citb-sagecage) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior citb-sagecage) rider-trans) + :code (behavior () (loop (cond ((-> self cloning) @@ -157,8 +155,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (rider-post) (when (-> self bars-on) (update! (-> self sound)) @@ -317,18 +314,7 @@ (defmethod play-reminder citb-sage ((obj citb-sage)) (set! (-> obj root-override pause-adjust-distance) 409600.0) - (let ((s5-0 (get-process *default-dead-pool* citb-sagecage #x4000))) - (set! (-> obj cage) - (ppointer->handle (when s5-0 - (let ((t9-1 (method-of-type citb-sagecage activate))) - (t9-1 (the-as citb-sagecage s5-0) obj 'citb-sagecage (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 citb-sagecage-init-by-other obj) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> obj cage) (ppointer->handle (process-spawn citb-sagecage obj :to obj))) (set! (-> obj beam-on) #f) (set! (-> obj sound-id) (new-sound-id)) (if (zero? (-> obj sound-name)) @@ -394,8 +380,7 @@ (defstate hidden (citb-sage) :virtual #t - :enter - (behavior () + :enter (behavior () (send-event (handle->process (-> self cage)) 'disable-bars) (send-event (handle->process (-> self cage)) 'stop-cloning) ((-> (method-of-type process-taskable hidden) enter)) @@ -426,8 +411,7 @@ (defstate play-anim (citb-sage) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('disable-bars) (send-event (handle->process (-> self cage)) 'disable-bars) @@ -441,8 +425,7 @@ (defstate idle (citb-sage) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('open) (send-event (handle->process (-> self cage)) 'disable-bars) @@ -452,8 +435,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (#if PC_PORT ;; fix infinite state recursion (if (and (not (-> self been-kicked)) (not (should-display? self))) @@ -467,8 +449,7 @@ ((-> (method-of-type process-taskable idle) trans)) (none) ) - :post - (behavior () + :post (behavior () ((the-as (function none :behavior citb-sage) (-> (method-of-type process-taskable idle) post))) (if (-> self beam-on) (citb-sage-draw-beam) @@ -547,8 +528,7 @@ :name "redsage-resolution" :index 7 :parts 9 - :command-list - '((15 send-event self disable-bars) + :command-list '((15 send-event self disable-bars) (45 joint "cameraB") (216 joint "camera") (435 joint "cameraB") @@ -566,10 +546,7 @@ (return #f) ) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-6 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-7 (the-as number (logior #x3f800000 v1-6))) - (f0-2 (+ -1.0 (the-as float v1-7))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.6666667 f0-2) (play-ambient (-> obj ambient) "RED-AM01" #f (-> obj root-override trans)) @@ -664,8 +641,7 @@ :name "bluesage-resolution" :index 7 :parts 9 - :command-list - '((15 send-event self disable-bars) + :command-list '((15 send-event self disable-bars) (45 joint "cameraB") (74 shadow self #f) (185 joint "camera") @@ -688,10 +664,7 @@ (return #f) ) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-6 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-7 (the-as number (logior #x3f800000 v1-6))) - (f0-2 (+ -1.0 (the-as float v1-7))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.6666667 f0-2) (play-ambient (-> obj ambient) "BLU-AM01" #f (-> obj root-override trans)) @@ -786,8 +759,7 @@ :name "yellowsage-resolution" :index 7 :parts 6 - :command-list - '((15 send-event self disable-bars) + :command-list '((15 send-event self disable-bars) (45 joint "cameraB") (256 joint "camera") (314 joint "cameraB") @@ -805,10 +777,7 @@ (return #f) ) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-6 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-7 (the-as number (logior #x3f800000 v1-6))) - (f0-2 (+ -1.0 (the-as float v1-7))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.6666667 f0-2) (play-ambient (-> obj ambient) "YEL-AM01" #f (-> obj root-override trans)) @@ -868,8 +837,7 @@ :name "green-sagecage-resolution" :index 6 :parts 12 - :command-list - '((33 joint "cameraB") + :command-list '((33 joint "cameraB") (156 joint "camera") (405 joint "cameraB") (576 joint "camera") @@ -900,8 +868,7 @@ :name "green-sagecage-introduction" :index 5 :parts 12 - :command-list - '((71 joint "cameraB") + :command-list '((71 joint "cameraB") (207 joint "camera") (343 joint "cameraB") (574 joint "camera") @@ -922,35 +889,15 @@ (when arg0 (+! (-> obj which-movie) 1) (set! (-> obj draw bounds w) 40960.0) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj evilbro) - (ppointer->handle - (when s5-1 - (let ((t9-8 (method-of-type manipy activate))) - (t9-8 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *evilbro-citadel-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> obj evilbro) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *evilbro-citadel-sg* #f :to obj)) + ) (send-event (handle->process (-> obj evilbro)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj evilbro)) 'blend-shape #t) (send-event (handle->process (-> obj evilbro)) 'center-joint 3) - (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj evilsis) - (ppointer->handle - (when s5-2 - (let ((t9-14 (method-of-type manipy activate))) - (t9-14 (the-as manipy s5-2) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 manipy-init (-> obj root-override trans) (-> obj entity) *evilsis-citadel-sg* #f) - (-> s5-2 ppointer) - ) - ) - ) - ) + (set! (-> obj evilsis) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *evilsis-citadel-sg* #f :to obj)) + ) (send-event (handle->process (-> obj evilsis)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj evilsis)) 'blend-shape #t) (send-event (handle->process (-> obj evilsis)) 'center-joint 3) @@ -962,8 +909,7 @@ :name "green-sagecage-outro-preboss" :index 7 :parts 22 - :command-list - '((0 blackout 0) + :command-list '((0 blackout 0) (0 want-levels citadel finalboss) (0 display-level finalboss special) (0 send-event "citb-robotboss-1" 'die) @@ -1059,26 +1005,15 @@ (defstate play-anim (green-sagecage) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('spawn-robot) (let ((gp-0 (entity-by-name "robotboss-3"))) (format 0 "robotboss ent ~A~%" gp-0) (when gp-0 - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self robotboss) - (ppointer->handle - (when s5-0 - (let ((t9-3 (method-of-type manipy activate))) - (t9-3 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> self root-override trans) gp-0 *robotboss-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> self robotboss) + (ppointer->handle (manipy-spawn (-> self root-override trans) gp-0 *robotboss-sg* #f :to self)) + ) (send-event (handle->process (-> self robotboss)) 'anim-mode 'clone-anim) (send-event (handle->process (-> self robotboss)) 'center-joint 3) (send-event (handle->process (-> self robotboss)) 'origin-joint-index 3) @@ -1099,8 +1034,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self evilbro)))) (if a0-1 (deactivate a0-1) @@ -1150,8 +1084,7 @@ ((-> (method-of-type process-taskable play-anim) exit)) (none) ) - :trans - (behavior () + :trans (behavior () (case (-> self which-movie) ((1) (spool-push *art-control* "green-sagecage-outro-preboss" 0 self -1.0) @@ -1188,8 +1121,7 @@ (defstate idle (green-sagecage) :virtual #t - :trans - (behavior () + :trans (behavior () (cond ((and *target* (and (< (-> (target-pos 0) z) -18821530.0) (= (current-status (-> self tasks)) (task-status need-hint))) diff --git a/goal_src/levels/citadel/citb-bunny.gc b/goal_src/levels/citadel/citb-bunny.gc index e13b6d9a91..912a217799 100644 --- a/goal_src/levels/citadel/citb-bunny.gc +++ b/goal_src/levels/citadel/citb-bunny.gc @@ -8,6 +8,7 @@ (define-extern *citb-bunny-sg* skeleton-group) ;; DECOMP BEGINS + (import "goal_src/import/citb-bunny-ag.gc") (deftype citb-bunny (snow-bunny) diff --git a/goal_src/levels/citadel/citb-drop-plat.gc b/goal_src/levels/citadel/citb-drop-plat.gc index 8c25f21826..2fab97562b 100644 --- a/goal_src/levels/citadel/citb-drop-plat.gc +++ b/goal_src/levels/citadel/citb-drop-plat.gc @@ -6,6 +6,7 @@ ;; dgos: CIT ;; DECOMP BEGINS + (import "goal_src/import/citb-drop-plat-ag.gc") (defskelgroup *citb-drop-plat-sg* citb-drop-plat citb-drop-plat-lod0-jg citb-drop-plat-idle-ja @@ -62,22 +63,20 @@ (defstate drop-plat-idle (drop-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('drop) (logclear! (-> self mask) (process-mask actor-pause)) (go drop-plat-drop) ) (('touch 'attack) - (send-event *target* 'no-look-around 300) + (send-event *target* 'no-look-around (seconds 1)) (send-event (ppointer->process (-> self parent)) 'player-stepped (-> self color)) #f ) ) ) - :code - (behavior () + :code (behavior () (suspend) (update-transforms! (-> self root-override)) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -90,8 +89,7 @@ ) (none) ) - :post - (the-as (function none :behavior drop-plat) ja-post) + :post (the-as (function none :behavior drop-plat) ja-post) ) (defbehavior drop-plat-set-fade drop-plat () @@ -110,16 +108,14 @@ ) (defstate drop-plat-spawn (drop-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('drop) (go drop-plat-die) ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self root-override trans y) (+ -204800.0 (-> (the-as process-drawable (-> self parent 0)) root trans y)) ) @@ -142,16 +138,14 @@ ) (defstate drop-plat-rise (drop-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('drop) (go drop-plat-drop) ) ) ) - :code - (behavior ((arg0 draw-control)) + :code (behavior ((arg0 draw-control)) (set! (-> self interp) 1.0) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self spin-angle) 0.0) @@ -186,8 +180,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (let ((gp-0 (new 'stack-no-clear 'quaternion))) (quaternion-vector-angle! gp-0 (-> self spin-axis) (-> self spin-angle)) (quaternion*! (-> self root-override quat) (-> (the-as process-drawable (-> self parent 0)) root quat) gp-0) @@ -199,8 +192,7 @@ ) (defstate drop-plat-drop (drop-plat) - :code - (behavior () + :code (behavior () (when (= (-> (the-as process-drawable (-> self parent 0)) root trans y) (-> self root-override trans y)) (set! (-> self state-time) (-> *display* base-frame-counter)) (sound-play-by-name (static-sound-name "bridge-piece-dn") (new-sound-id) 1024 0 0 1 #t) @@ -230,8 +222,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (let ((gp-0 (new 'stack-no-clear 'quaternion))) (quaternion-vector-angle! gp-0 (-> self spin-axis) (-> self spin-angle)) (quaternion*! (-> self root-override quat) (-> (the-as process-drawable (-> self parent 0)) root quat) gp-0) @@ -243,8 +234,7 @@ ) (defstate drop-plat-die (drop-plat) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (none) ) @@ -469,16 +459,14 @@ ) (defstate citb-drop-plat-idle (citb-drop-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go citb-drop-plat-active) ) ) ) - :code - (behavior () + :code (behavior () (citb-drop-plat-drop-all-children) (loop (suspend) @@ -488,8 +476,7 @@ ) (defstate citb-drop-plat-active (citb-drop-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'player-stepped) @@ -505,8 +492,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (citb-drop-plat-spawn-children) (loop diff --git a/goal_src/levels/citadel/citb-plat.gc b/goal_src/levels/citadel/citb-plat.gc index fcfd0115a2..222265e82b 100644 --- a/goal_src/levels/citadel/citb-plat.gc +++ b/goal_src/levels/citadel/citb-plat.gc @@ -22,14 +22,15 @@ ;; DECOMP BEGINS -(import "goal_src/import/citb-stopbox-ag.gc") -(import "goal_src/import/plat-eco-citb-ag.gc") -(import "goal_src/import/citb-firehose-ag.gc") -(import "goal_src/import/citb-donut-ag.gc") + (import "goal_src/import/citb-exit-plat-ag.gc") -(import "goal_src/import/citb-chain-plat-ag.gc") +(import "goal_src/import/plat-eco-citb-ag.gc") (import "goal_src/import/plat-citb-ag.gc") +(import "goal_src/import/citb-stopbox-ag.gc") +(import "goal_src/import/citb-firehose-ag.gc") (import "goal_src/import/citb-rotatebox-ag.gc") +(import "goal_src/import/citb-chain-plat-ag.gc") +(import "goal_src/import/citb-donut-ag.gc") (defskelgroup *plat-citb-sg* plat-citb plat-citb-lod0-jg plat-citb-idle-ja ((plat-citb-lod0-mg (meters 20)) (plat-citb-lod1-mg (meters 999999))) @@ -77,8 +78,7 @@ (defstate citb-base-plat-idle (citb-base-plat) :virtual #t - :trans - (behavior () + :trans (behavior () (if (and *target* (>= (-> self idle-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -87,16 +87,13 @@ ) (none) ) - :code - (the-as (function none :behavior citb-base-plat) anim-loop) - :post - (the-as (function none :behavior citb-base-plat) ja-post) + :code (the-as (function none :behavior citb-base-plat) anim-loop) + :post (the-as (function none :behavior citb-base-plat) ja-post) ) (defstate citb-base-plat-active (citb-base-plat) :virtual #t - :trans - (behavior () + :trans (behavior () (if (or (not *target*) (< (+ 8192.0 (-> self idle-distance)) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -106,10 +103,8 @@ (rider-trans) (none) ) - :code - (the-as (function none :behavior citb-base-plat) anim-loop) - :post - (the-as (function none :behavior citb-base-plat) rider-post) + :code (the-as (function none :behavior citb-base-plat) anim-loop) + :post (the-as (function none :behavior citb-base-plat) rider-post) ) (defmethod dummy-21 citb-base-plat ((obj citb-base-plat)) @@ -219,8 +214,7 @@ (defstate plat-path-active (citb-plat) :virtual #t - :trans - (behavior () + :trans (behavior () (set! (-> self path-pos) (if (logtest? (-> self fact options) (fact-options wrap-phase)) (get-current-phase (-> self sync)) (get-current-phase-with-mirror (-> self sync)) @@ -314,8 +308,7 @@ (defstate citb-base-plat-idle (citb-stair-plat) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'trigger) (logclear! (-> self mask) (process-mask actor-pause)) @@ -327,10 +320,8 @@ ) ) ) - :trans - (the-as (function none :behavior citb-stair-plat) #f) - :code - (behavior () + :trans (the-as (function none :behavior citb-stair-plat) #f) + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (while (not (-> self rise)) (suspend) @@ -361,16 +352,13 @@ ) (none) ) - :post - (the-as (function none :behavior citb-stair-plat) #f) + :post (the-as (function none :behavior citb-stair-plat) #f) ) (defstate citb-base-plat-active (citb-stair-plat) :virtual #t - :trans - (the-as (function none :behavior citb-stair-plat) #f) - :code - (behavior () + :trans (the-as (function none :behavior citb-stair-plat) #f) + :code (behavior () (set! (-> self root-override trans y) (-> self rise-height)) (suspend) (update-transforms! (-> self root-override)) @@ -378,8 +366,7 @@ (anim-loop) (none) ) - :post - (the-as (function none :behavior citb-stair-plat) ja-post) + :post (the-as (function none :behavior citb-stair-plat) ja-post) ) (defmethod dummy-22 citb-stair-plat ((obj citb-stair-plat)) @@ -494,55 +481,48 @@ (defstate rigid-body-platform-idle (citb-chain-plat) :virtual #t - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (set! (-> self state-time) (-> *display* base-frame-counter)) (if (and (and *target* (>= (-> self info idle-distance) (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) ) ) - (send-event *target* 'query 'powerup 3) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) (go-virtual rigid-body-platform-float) ) ) (none) ) - :code - (behavior () + :code (behavior () (anim-loop) (none) ) - :post - (the-as (function none :behavior citb-chain-plat) ja-post) + :post (the-as (function none :behavior citb-chain-plat) ja-post) ) (defstate rigid-body-platform-float (citb-chain-plat) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior citb-chain-plat) rigid-body-platform-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (none) ) - :trans - (behavior () + :trans (behavior () (cond ((and (and *target* (>= (-> self info idle-distance) (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) ) ) - (send-event *target* 'query 'powerup 3) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) (when (< (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) (if (rand-vu-percent? 0.05) @@ -564,20 +544,16 @@ ) (none) ) - :code - (behavior () + :code (behavior () (anim-loop) (none) ) - :post - (the-as (function none :behavior citb-chain-plat) rigid-body-platform-post) + :post (the-as (function none :behavior citb-chain-plat) rigid-body-platform-post) ) (defstate citb-chain-plat-settle (citb-chain-plat) - :trans - (the-as (function none :behavior citb-chain-plat) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior citb-chain-plat) rider-trans) + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'quaternion)) ) @@ -605,8 +581,7 @@ (go-virtual rigid-body-platform-idle) (none) ) - :post - (the-as (function none :behavior citb-chain-plat) rider-post) + :post (the-as (function none :behavior citb-chain-plat) rider-post) ) (defmethod TODO-RENAME-30 citb-chain-plat ((obj citb-chain-plat)) @@ -679,10 +654,8 @@ (defstate citb-base-plat-active (citb-rotatebox) :virtual #t - :trans - (the-as (function none :behavior citb-rotatebox) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior citb-rotatebox) rider-trans) + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -748,8 +721,7 @@ (defstate citb-base-plat-active (citb-donut) :virtual #t - :post - (behavior () + :post (behavior () (update! (-> self sound)) (quaternion-axis-angle! (-> self root-override quat) @@ -815,8 +787,7 @@ (defstate plat-path-active (citb-stopbox) :virtual #t - :trans - (behavior () + :trans (behavior () (set! (-> self path-pos) (get-current-phase (-> self sync))) (eval-path-curve! (-> self path) (-> self basetrans) (-> self path-pos) 'interp) (if (< (vector-vector-distance (-> self root-override trans) (ear-trans)) 81920.0) @@ -896,8 +867,7 @@ ) (defstate citb-firehose-idle (citb-firehose) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= (-> self idle-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -906,20 +876,17 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior citb-firehose) ja-post) + :post (the-as (function none :behavior citb-firehose) ja-post) ) (defstate citb-firehose-active (citb-firehose) - :trans - (behavior () + :trans (behavior () (if (or (not *target*) (< (+ 8192.0 (-> self idle-distance)) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -936,15 +903,13 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior citb-firehose) ja-post) + :post (the-as (function none :behavior citb-firehose) ja-post) ) (defbehavior citb-firehose-blast-particles citb-firehose () @@ -968,28 +933,19 @@ ) (defstate citb-firehose-blast (citb-firehose) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (let ((v1-4 (new 'static 'attack-info :mask #xe0))) - (set! (-> v1-4 mode) 'damage) - (set! (-> v1-4 shove-back) 24576.0) - (set! (-> v1-4 shove-up) 12288.0) - (set! (-> a1-2 param 1) (the-as uint v1-4)) - ) - (send-event-function arg0 a1-2) + (send-event + arg0 + 'attack + (-> arg3 param 0) + (static-attack-info ((mode 'damage) (shove-back (meters 6)) (shove-up (meters 3)))) ) ) ) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -1025,8 +981,7 @@ (go citb-firehose-active) (none) ) - :post - (the-as (function none :behavior citb-firehose) transform-post) + :post (the-as (function none :behavior citb-firehose) transform-post) ) (defmethod init-from-entity! citb-firehose ((obj citb-firehose) (arg0 entity-actor)) @@ -1095,8 +1050,7 @@ (defstate citb-exit-plat-idle (citb-exit-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (let ((v1-3 (-> self entity extra perm))) @@ -1107,8 +1061,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (clear-collide-with-as (-> self root-override)) (loop @@ -1119,10 +1072,8 @@ ) (defstate citb-exit-plat-rise (citb-exit-plat) - :trans - (the-as (function none :behavior citb-exit-plat) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior citb-exit-plat) rider-trans) + :code (behavior () (logclear! (-> self draw status) (draw-status hidden)) (restore-collide-with-as (-> self root-override)) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -1138,8 +1089,7 @@ ) (none) ) - :post - (the-as (function none :behavior citb-exit-plat) rider-post) + :post (the-as (function none :behavior citb-exit-plat) rider-post) ) (defbehavior citb-exit-plat-move-player citb-exit-plat ((arg0 vector)) @@ -1164,8 +1114,7 @@ (defstate plat-button-move-downward (citb-exit-plat) :virtual #t - :trans - (behavior () + :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))) @@ -1177,14 +1126,12 @@ ) (none) ) - :post - (the-as (function none :behavior citb-exit-plat) transform-post) + :post (the-as (function none :behavior citb-exit-plat) transform-post) ) (defstate plat-button-move-upward (citb-exit-plat) :virtual #t - :trans - (behavior () + :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))) @@ -1196,8 +1143,7 @@ ) (none) ) - :post - (the-as (function none :behavior citb-exit-plat) transform-post) + :post (the-as (function none :behavior citb-exit-plat) transform-post) ) (defmethod can-activate? citb-exit-plat ((obj citb-exit-plat)) diff --git a/goal_src/levels/common/babak.gc b/goal_src/levels/common/babak.gc index 54af5bfe79..f44b2d06e7 100644 --- a/goal_src/levels/common/babak.gc +++ b/goal_src/levels/common/babak.gc @@ -6,6 +6,7 @@ ;; dgos: GAME, COMMON, L1 ;; DECOMP BEGINS + (import "goal_src/import/babak-ag.gc") (deftype babak (nav-enemy) @@ -29,8 +30,7 @@ (defstate nav-enemy-patrol (babak) :virtual #t - :code - (behavior () + :code (behavior () (cond ((ja-group? babak-give-up-hop-ja) (ja-channel-push! 1 (seconds 0.15)) @@ -51,15 +51,13 @@ (defstate nav-enemy-chase (babak) :virtual #t - :code - (behavior () + :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (cond ((ja-group? babak-jump-land-ja) (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.17)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info run-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info run-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -86,8 +84,7 @@ (defstate nav-enemy-stare (babak) :virtual #t - :code - (behavior () + :code (behavior () (set! (-> self turn-time) (seconds 0.2)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) (when (or (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) @@ -138,8 +135,7 @@ (defstate nav-enemy-give-up (babak) :virtual #t - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 218453.33) (set! (-> self turn-time) (seconds 0.5)) (ja-channel-push! 1 (seconds 0.15)) @@ -178,12 +174,10 @@ (defstate nav-enemy-jump-land (babak) :virtual #t - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.075)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info jump-land-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info jump-land-anim)) :num! (seek! (ja-aframe 32.0 0) 0.5) :frame-num 0.0 ) diff --git a/goal_src/levels/common/basebutton.gc b/goal_src/levels/common/basebutton.gc index 3fba831d5c..98dbe3a219 100644 --- a/goal_src/levels/common/basebutton.gc +++ b/goal_src/levels/common/basebutton.gc @@ -7,6 +7,7 @@ ;; DECOMP BEGINS + (import "goal_src/import/generic-button-ag.gc") (deftype basebutton (process-drawable) @@ -65,8 +66,7 @@ (defstate basebutton-startup (basebutton) :virtual #t - :code - (behavior () + :code (behavior () (if (-> self down?) (go-virtual basebutton-down-idle) (go-virtual basebutton-up-idle) @@ -77,8 +77,7 @@ (defstate basebutton-up-idle (basebutton) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (case (-> arg3 param 1) @@ -98,22 +97,18 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (press! self #f) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self move-to?) (rider-trans) ) (none) ) - :code - (the-as (function none :behavior basebutton) anim-loop) - :post - (behavior () + :code (the-as (function none :behavior basebutton) anim-loop) + :post (behavior () (when (-> self move-to?) (set! (-> self move-to?) #f) (set! (-> self root-override trans quad) (-> self move-to-pos quad)) @@ -126,8 +121,7 @@ (defstate basebutton-going-down (basebutton) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('untrigger) (sound-play-by-name (static-sound-name "silo-button") (new-sound-id) 1024 0 0 1 #t) @@ -138,15 +132,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (press! self #t) (none) ) - :trans - (the-as (function none :behavior basebutton) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior basebutton) rider-trans) + :code (behavior () (ja-no-eval :num! (seek! max (-> self anim-speed))) (until (ja-done? 0) (suspend) @@ -156,8 +147,7 @@ (go-virtual basebutton-down-idle) (none) ) - :post - (behavior () + :post (behavior () (when (-> self move-to?) (set! (-> self move-to?) #f) (set! (-> self root-override trans quad) (-> self move-to-pos quad)) @@ -170,8 +160,7 @@ (defstate basebutton-down-idle (basebutton) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('untrigger) (sound-play-by-name (static-sound-name "silo-button") (new-sound-id) 1024 0 0 1 #t) @@ -182,20 +171,17 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (press! self #t) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self move-to?) (rider-trans) ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (cond ((= (-> self timeout) 0.0) @@ -212,8 +198,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (when (-> self move-to?) (set! (-> self move-to?) #f) (set! (-> self root-override trans quad) (-> self move-to-pos quad)) @@ -226,8 +211,7 @@ (defstate basebutton-going-up (basebutton) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('move-to) (move-to-vec-or-quat! self (the-as vector (-> arg3 param 0)) (the-as quaternion (-> arg3 param 1))) @@ -238,15 +222,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (press! self #f) (none) ) - :trans - (the-as (function none :behavior basebutton) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior basebutton) rider-trans) + :code (behavior () (ja-no-eval :num! (seek! 0.0 (-> self anim-speed))) (until (ja-done? 0) (suspend) @@ -256,8 +237,7 @@ (go-virtual basebutton-up-idle) (none) ) - :post - (behavior () + :post (behavior () (when (-> self move-to?) (set! (-> self move-to?) #f) (set! (-> self root-override trans quad) (-> self move-to-pos quad)) @@ -465,10 +445,7 @@ (none) ) -(define *warp-info* (the-as (array string) (new - 'static - 'boxed-array - :type string :length 5 :allocated-length 5 +(define *warp-info* (the-as (array string) (new 'static 'boxed-array :type string "training-warp" "village1-warp" "village2-warp" @@ -499,13 +476,11 @@ (defstate use (warp-gate) :virtual #t - :trans - (behavior () + :trans (behavior () (send-event *camera* 'joystick 0.0 0.0) (none) ) - :code - (behavior ((arg0 int) (arg1 level)) + :code (behavior ((arg0 int) (arg1 level)) (set! (-> self state-time) (-> *display* base-frame-counter)) (when (not arg1) (process-release? *target*) @@ -523,16 +498,8 @@ (set! (-> s4-0 param 2) (the-as uint (target-pos 0))) (send-event-function *target* s4-0) ) - ;; NOTE : added case for "training" here. in the original game, the training level does NOT come - ;; with its own code for warp gates and buttons, and uses the villagep-obs imported from village1 - ;; instead. opengoal loads files different enough that warp from training to anywhere except village1 - ;; crashes the game due to running unlinked code. the original game also crashes, but it is not consistent. - ;; the citadel/lavatube case makes it so we wait until it's safe to unload both levels in the heaps, - ;; since the citadel warp gate is located in both levels at once (visually lavatube, technically citadel) - ;; we add "training" to the list here so that the training warp gate waits until it's safe to - ;; dispose the old code from memory. (case (-> self level) - (('citadel 'lavatube 'training) + (('citadel 'lavatube) (while (and *target* (zero? (logand (-> *target* draw status) (draw-status hidden)))) (suspend) ) @@ -580,8 +547,7 @@ ) (defstate target-warp-out (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('death-end) (let ((v0-0 (the-as object (logior (-> self draw status) (draw-status hidden))))) @@ -594,8 +560,7 @@ ) ) ) - :enter - (behavior ((arg0 vector) (arg1 vector)) + :enter (behavior ((arg0 vector) (arg1 vector)) (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self control status) (cshape-moving-flags onsurf onground tsurf)) (set! (-> self control unknown-surface00) *warp-jump-mods*) @@ -608,13 +573,11 @@ (set! (-> self alt-cam-pos quad) (-> arg1 quad)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self state-flags) (state-flags sf10)) (none) ) - :code - (behavior ((arg0 vector) (arg1 vector)) + :code (behavior ((arg0 vector) (arg1 vector)) (send-event *camera* 'change-state cam-fixed 0) (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! eichar-duck-high-jump-ja :num! (seek! (ja-aframe 16.0 0)) :frame-num 0.0) @@ -703,8 +666,7 @@ (anim-loop) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) diff --git a/goal_src/levels/common/baseplat.gc b/goal_src/levels/common/baseplat.gc index 641b4777c9..cf094f4da3 100644 --- a/goal_src/levels/common/baseplat.gc +++ b/goal_src/levels/common/baseplat.gc @@ -201,10 +201,8 @@ eco-door-event-handler (defstate door-closed (eco-door) :virtual #t - :event - eco-door-event-handler - :code - (behavior () + :event eco-door-event-handler + :code (behavior () (ja :num-func num-func-identity :frame-num 0.0) (suspend) (update-transforms! (-> self root-override)) @@ -217,14 +215,7 @@ eco-door-event-handler (dummy-26 self) (if (and (not (-> self locked)) (or (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'powerup)) - (set! (-> a1-1 param 1) (the-as uint 3)) - (send-event-function *target* a1-1) - ) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) (and (-> self one-way) (< (vector4-dot (-> self out-dir) (target-pos 0)) -8192.0)) ) ) @@ -240,13 +231,11 @@ eco-door-event-handler (defstate door-opening (eco-door) :virtual #t - :event - eco-door-event-handler - :code - (behavior () + :event eco-door-event-handler + :code (behavior () (let ((gp-0 (and (not (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete)))) - (send-event *target* 'query 'powerup 3) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) ) ) @@ -274,16 +263,13 @@ eco-door-event-handler (go-virtual door-open) (none) ) - :post - (the-as (function none :behavior eco-door) transform-post) + :post (the-as (function none :behavior eco-door) transform-post) ) (defstate door-open (eco-door) :virtual #t - :event - eco-door-event-handler - :code - (behavior () + :event eco-door-event-handler + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (process-entity-status! self (entity-perm-status complete) #t) (clear-collide-with-as (-> self root-override)) @@ -315,10 +301,8 @@ eco-door-event-handler (defstate door-closing (eco-door) :virtual #t - :event - eco-door-event-handler - :code - (behavior () + :event eco-door-event-handler + :code (behavior () (restore-collide-with-as (-> self root-override)) (logclear! (-> self draw status) (draw-status hidden)) (let ((gp-0 (new 'stack 'overlaps-others-params))) @@ -339,8 +323,7 @@ eco-door-event-handler (go-virtual door-closed) (none) ) - :post - (the-as (function none :behavior eco-door) transform-post) + :post (the-as (function none :behavior eco-door) transform-post) ) (defmethod dummy-26 eco-door ((obj eco-door)) diff --git a/goal_src/levels/common/battlecontroller.gc b/goal_src/levels/common/battlecontroller.gc index 6ec1fa7489..35e91e2767 100644 --- a/goal_src/levels/common/battlecontroller.gc +++ b/goal_src/levels/common/battlecontroller.gc @@ -390,15 +390,12 @@ battlecontroller-default-event-handler (defstate battlecontroller-idle (battlecontroller) :virtual #t - :event - battlecontroller-default-event-handler - :trans - (behavior () + :event battlecontroller-default-event-handler + :trans (behavior () 0 (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (if (-> self prespawn) (battlecontroller-fill-all-spawners) @@ -423,26 +420,21 @@ battlecontroller-default-event-handler ) (none) ) - :post - (the-as (function none :behavior battlecontroller) #f) + :post (the-as (function none :behavior battlecontroller) #f) ) (defstate battlecontroller-play-intro-camera (battlecontroller) :virtual #t - :event - battlecontroller-default-event-handler - :enter - (behavior () + :event battlecontroller-default-event-handler + :enter (behavior () (process-entity-status! self (entity-perm-status bit-3) #t) (none) ) - :exit - (behavior () + :exit (behavior () (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :code - (behavior () + :code (behavior () (go-virtual battlecontroller-active) (none) ) @@ -458,10 +450,8 @@ battlecontroller-default-event-handler (defstate battlecontroller-active (battlecontroller) :virtual #t - :event - battlecontroller-default-event-handler - :trans - (behavior () + :event battlecontroller-default-event-handler + :trans (behavior () (if (and *target* (>= (-> self activate-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) ) @@ -471,8 +461,7 @@ battlecontroller-default-event-handler (battlecontroller-update-spawners) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (battlecontroller-camera-on) (loop @@ -504,8 +493,7 @@ battlecontroller-default-event-handler ) (none) ) - :post - (the-as (function none :behavior battlecontroller) #f) + :post (the-as (function none :behavior battlecontroller) #f) ) (defbehavior battlecontroller-special-contents? battlecontroller () @@ -540,13 +528,11 @@ battlecontroller-default-event-handler (defstate battlecontroller-die (battlecontroller) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior battlecontroller) process-drawable-fuel-cell-handler ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "money-pickup") (new-sound-id) 1024 -2286 0 1 #f) (battlecontroller-battle-end) (battlecontroller-camera-off) @@ -610,8 +596,7 @@ battlecontroller-default-event-handler (process-entity-status! self (entity-perm-status dead) #t) (none) ) - :post - (the-as (function none :behavior battlecontroller) #f) + :post (the-as (function none :behavior battlecontroller) #f) ) (defmethod relocate battlecontroller ((obj battlecontroller) (arg0 int)) diff --git a/goal_src/levels/common/blocking-plane.gc b/goal_src/levels/common/blocking-plane.gc index 7a40b00f4c..94a76998a0 100644 --- a/goal_src/levels/common/blocking-plane.gc +++ b/goal_src/levels/common/blocking-plane.gc @@ -6,6 +6,7 @@ ;; dgos: L1, FIC, LAV, MIS, OGR, RACERP, ROL, SNO, SWA ;; DECOMP BEGINS + (import "goal_src/import/ef-plane-ag.gc") (deftype blocking-plane (process-drawable) @@ -26,8 +27,7 @@ ) (defstate blocking-plane-idle (blocking-plane) - :code - (behavior () + :code (behavior () (transform-post) (loop (logior! (-> self mask) (process-mask sleep)) @@ -95,15 +95,7 @@ (s4-0 0) ) (while (< s4-0 s5-0) - (let ((s3-0 (get-process *default-dead-pool* blocking-plane #x4000))) - (when s3-0 - (let ((t9-1 (method-of-type blocking-plane activate))) - (t9-1 (the-as blocking-plane s3-0) pp 'blocking-plane (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 blocking-plane-init-by-other arg0 s4-0) - (-> s3-0 ppointer) - ) - ) + (process-spawn blocking-plane arg0 s4-0 :to pp) (+! s4-0 2) ) ) diff --git a/goal_src/levels/common/dark-eco-pool.gc b/goal_src/levels/common/dark-eco-pool.gc index 578c9777c6..a2a420ea0b 100644 --- a/goal_src/levels/common/dark-eco-pool.gc +++ b/goal_src/levels/common/dark-eco-pool.gc @@ -20,8 +20,7 @@ :count 3 :converted #f :normal-scale 3.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 2 :speed 0.5) (new 'static 'ripple-wave :scale 15.0 :xdiv -2 :zdiv 2 :speed 2.0) (new 'static 'ripple-wave :scale 3.0 :xdiv 5 :zdiv 3 :speed 2.0) @@ -35,8 +34,7 @@ :count 3 :converted #f :normal-scale 8.57 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 14.0 :xdiv 1 :speed 1.0) (new 'static 'ripple-wave :scale 5.25 :xdiv -1 :zdiv 1 :speed 4.0) (new 'static 'ripple-wave :scale 0.7 :xdiv 5 :zdiv 3 :speed 2.0) @@ -50,8 +48,7 @@ :count 3 :converted #f :normal-scale 4.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 25.0 :xdiv 2 :speed -2.0) (new 'static 'ripple-wave :scale 15.0 :xdiv -2 :zdiv 2 :speed 3.0) (new 'static 'ripple-wave :scale 4.0 :xdiv 5 :zdiv 3 :speed 4.0) @@ -64,8 +61,7 @@ :count 3 :converted #f :normal-scale 3.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.0) (new 'static 'ripple-wave :scale 15.0 :xdiv -1 :zdiv 1 :speed 4.0) (new 'static 'ripple-wave :scale 2.0 :xdiv 5 :zdiv 3 :speed 2.0) @@ -79,8 +75,7 @@ :count 3 :converted #f :normal-scale 8.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 15.0 :xdiv 1 :speed 1.0) (new 'static 'ripple-wave :scale 5.625 :xdiv -1 :zdiv 1 :speed 4.0) (new 'static 'ripple-wave :scale 0.75 :xdiv 5 :zdiv 3 :speed 2.0) @@ -146,13 +141,11 @@ :id 444 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2020 :fade-after (meters 50))) + :parts ((sp-item 2020 :fade-after (meters 50))) ) (defpart 2020 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 1) (meters 4) 1.0) @@ -172,8 +165,7 @@ ) (defpart 2021 - :init-specs - ((sp-flt spt-r 255.0) (sp-rnd-flt spt-g 128.0 128.0 1.0) (sp-flt spt-b 0.0) (sp-flt spt-fade-a -1.28)) + :init-specs ((sp-flt spt-r 255.0) (sp-rnd-flt spt-g 128.0 128.0 1.0) (sp-flt spt-b 0.0) (sp-flt spt-fade-a -1.28)) ) (defpartgroup group-dark-eco-pool-nasty @@ -182,8 +174,7 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2056 :fade-after (meters 100) :period 600 :length 5) + :parts ((sp-item 2056 :fade-after (meters 100) :period 600 :length 5) (sp-item 2057 :fade-after (meters 100) :period 600 :length 5 :binding 2052) (sp-item 2052 :flags (start-dead launch-asap) :binding 2053) (sp-item 2053 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead)) @@ -206,8 +197,7 @@ ) (defpart 2056 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 8)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -223,8 +213,7 @@ ) (defpart 2057 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 1.0 6.0 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 0.1)) @@ -241,8 +230,7 @@ ) (defpart 2052 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.3) (meters 0.3) 1.0) @@ -266,8 +254,7 @@ ) (defpart 2053 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -287,8 +274,7 @@ ) (defpart 2058 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 1.0 6.0 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 0.1)) @@ -305,8 +291,7 @@ ) (defpart 2054 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.3) (meters 0.3) 1.0) @@ -330,8 +315,7 @@ ) (defpart 2055 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -352,8 +336,7 @@ (defstate water-vol-idle (dark-eco-pool) :virtual #t - :trans - (behavior () + :trans (behavior () (let ((t9-0 (-> (method-of-type water-anim water-vol-idle) trans))) (if t9-0 (t9-0) @@ -370,15 +353,17 @@ (set! (-> s5-0 vertex-skip) 256) (when (zero? (rand-vu-int-range 0 15)) (when (and (nonzero? (-> s5-0 vertex-count)) (< #x32000 (memory-free *nk-dead-pool*))) - (let ((s3-0 (rand-vu-int-range 0 (+ (-> s5-0 vertex-count) -1))) - (s4-1 (get-process *default-dead-pool* part-tracker #x4000)) - ) - (when s4-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker s4-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 part-tracker-init (-> *part-group-id-table* 445) -1 #f #f #f (-> s5-0 data s3-0)) - (-> s4-1 ppointer) + (let ((s3-0 (rand-vu-int-range 0 (+ (-> s5-0 vertex-count) -1)))) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 445) + -1 + #f + #f + #f + (-> s5-0 data s3-0) + :to *entity-pool* ) ) ) diff --git a/goal_src/levels/common/joint-exploder.gc b/goal_src/levels/common/joint-exploder.gc index 1164d92ff2..8f90ddcbb6 100644 --- a/goal_src/levels/common/joint-exploder.gc +++ b/goal_src/levels/common/joint-exploder.gc @@ -449,13 +449,11 @@ ) (defstate joint-exploder-shatter (joint-exploder) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (let* ((f1-0 (the float (- (-> *display* base-frame-counter) (-> self state-time)))) (f0-2 (- 1.0 (/ f1-0 (the float (-> self tuning duration))))) (f1-2 (- 1.0 (/ f1-0 (* 0.75 (the float (-> self tuning duration)))))) @@ -512,8 +510,7 @@ 0 (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self tuning duration)) (suspend) @@ -521,8 +518,7 @@ ) (none) ) - :post - (the-as (function none :behavior joint-exploder) ja-post) + :post (the-as (function none :behavior joint-exploder) ja-post) ) (defmethod TODO-RENAME-23 joint-exploder ((obj joint-exploder)) diff --git a/goal_src/levels/common/launcherdoor.gc b/goal_src/levels/common/launcherdoor.gc index 5fd41acde8..303119b951 100644 --- a/goal_src/levels/common/launcherdoor.gc +++ b/goal_src/levels/common/launcherdoor.gc @@ -12,6 +12,7 @@ ;; DECOMP BEGINS + (import "goal_src/import/launcherdoor-maincave-ag.gc") (import "goal_src/import/launcherdoor-ag.gc") @@ -45,15 +46,14 @@ ) (defstate launcherdoor-closed (launcherdoor) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (if (not arg0) (sound-play-by-name (static-sound-name "ldoor-close") (new-sound-id) 1024 0 0 1 #t) ) (when *target* (case (-> *target* current-level name) (('jungle 'jungleb) - (send-event *target* 'no-load-wait 6000) + (send-event *target* 'no-load-wait (seconds 20)) ) ) ) @@ -104,13 +104,11 @@ ) (none) ) - :post - (the-as (function none :behavior launcherdoor) ja-post) + :post (the-as (function none :behavior launcherdoor) ja-post) ) (defstate launcherdoor-open (launcherdoor) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (if (not arg0) (sound-play-by-name (static-sound-name "ldoor-open") (new-sound-id) 1024 0 0 1 #t) ) @@ -142,8 +140,7 @@ ) (none) ) - :post - (the-as (function none :behavior launcherdoor) ja-post) + :post (the-as (function none :behavior launcherdoor) ja-post) ) (defmethod init-from-entity! launcherdoor ((obj launcherdoor) (arg0 entity-actor)) diff --git a/goal_src/levels/common/nav-enemy.gc b/goal_src/levels/common/nav-enemy.gc index 4a08c0f032..29babff80b 100644 --- a/goal_src/levels/common/nav-enemy.gc +++ b/goal_src/levels/common/nav-enemy.gc @@ -155,23 +155,20 @@ ) (defbehavior nav-enemy-send-attack nav-enemy ((arg0 process) (arg1 touching-shapes-entry) (arg2 symbol)) - (let ((v1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> v1-0 from) self) - (set! (-> v1-0 num-params) 2) - (set! (-> v1-0 message) 'attack) - (set! (-> v1-0 param 0) (the-as uint arg1)) - (let ((a1-1 (new 'static 'attack-info :mask #xe0))) - (set! (-> a1-1 shove-back) (-> self nav-info attack-shove-back)) - (set! (-> a1-1 shove-up) (-> self nav-info attack-shove-up)) - (set! (-> a1-1 mode) arg2) - (set! (-> v1-0 param 1) (the-as uint a1-1)) - ) - (the-as object (when (send-event-function arg0 v1-0) - (set-collide-offense (-> self collide-info) 2 (collide-offense no-offense)) - (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) - #t - ) + (the-as + object + (when (send-event + arg0 + 'attack + arg1 + (static-attack-info + ((shove-back (-> self nav-info attack-shove-back)) (shove-up (-> self nav-info attack-shove-up)) (mode arg2)) + ) ) + (set-collide-offense (-> self collide-info) 2 (collide-offense no-offense)) + (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) + #t + ) ) ) @@ -731,13 +728,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-idle (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (nav-enemy-neck-control-inactive) (set! (-> self state-time) (-> *display* base-frame-counter)) (if (-> self nav-info move-to-ground) @@ -747,8 +742,7 @@ nav-enemy-default-event-handler (set! (-> self state-timeout) (seconds 1)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (and *target* (>= (-> self enemy-info idle-distance) (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) ) @@ -761,8 +755,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja :group! (-> self draw art-group data (-> self nav-info idle-anim))) (ja :num-func num-func-identity :frame-num 0.0) @@ -774,19 +767,16 @@ nav-enemy-default-event-handler ) (none) ) - :post - (the-as (function none :behavior nav-enemy) ja-post) + :post (the-as (function none :behavior nav-enemy) ja-post) ) (defstate nav-enemy-patrol (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self nav flags) (the-as nav-control-flags (the-as int (logior (nav-control-flags navcf19) (-> self nav flags)))) @@ -800,13 +790,11 @@ nav-enemy-default-event-handler (set! (-> self turn-time) (-> self nav-info walk-turn-time)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self state-timeout)) (if (and (nonzero? (-> self draw)) (logtest? (-> self draw status) (draw-status was-drawn))) @@ -826,14 +814,8 @@ nav-enemy-default-event-handler (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) ) ) - (let ((gp-0 'racer) - (a1-2 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'mode)) - (= gp-0 (send-event-function *target* a1-2)) + (let ((gp-0 'racer)) + (= gp-0 (send-event *target* 'query 'mode)) ) ) ) @@ -845,12 +827,10 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (loop - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info walk-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -862,8 +842,7 @@ nav-enemy-default-event-handler (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.6)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info idle-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -873,8 +852,7 @@ nav-enemy-default-event-handler (ja :num! (seek! max f30-0)) ) (until (not (nav-enemy-rnd-go-idle? 0.2)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info idle-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -886,8 +864,7 @@ nav-enemy-default-event-handler (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.6)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info walk-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -901,19 +878,16 @@ nav-enemy-default-event-handler ) (none) ) - :post - nav-enemy-patrol-post + :post nav-enemy-patrol-post ) (defstate nav-enemy-notice (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (nav-enemy-neck-control-look-at) (if (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf1)) @@ -930,12 +904,10 @@ nav-enemy-default-event-handler (set! (-> self turn-time) (-> self nav-info run-turn-time)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info notice-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -953,8 +925,7 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-chase) (none) ) - :post - nav-enemy-simple-post + :post nav-enemy-simple-post ) (defbehavior ja-group-index? nav-enemy ((arg0 int)) @@ -963,31 +934,22 @@ nav-enemy-default-event-handler (defstate nav-enemy-flee (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self reaction-time)) (if (or (or (not *target*) (< (-> self nav-info stop-chase-distance) (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) ) ) - (let ((gp-0 'racer) - (a1-1 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'mode)) - (!= gp-0 (send-event-function *target* a1-1)) + (let ((gp-0 'racer)) + (!= gp-0 (send-event *target* 'query 'mode)) ) ) (go-virtual nav-enemy-patrol) @@ -995,12 +957,10 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info notice-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -1010,8 +970,7 @@ nav-enemy-default-event-handler ) (ja-channel-push! 1 (seconds 0.2)) (loop - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info idle-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -1023,8 +982,7 @@ nav-enemy-default-event-handler ) (none) ) - :post - nav-enemy-face-player-post + :post nav-enemy-face-player-post ) (defbehavior nav-enemy-reset-frustration nav-enemy () @@ -1051,13 +1009,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-chase (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (nav-enemy-neck-control-look-at) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self free-time) (-> *display* base-frame-counter)) @@ -1069,8 +1025,7 @@ nav-enemy-default-event-handler (nav-enemy-reset-frustration) (none) ) - :trans - (behavior () + :trans (behavior () (if (logtest? (-> *target* state-flags) (state-flags sf07)) (go-virtual nav-enemy-patrol) ) @@ -1108,8 +1063,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja :group! (-> self draw art-group data (-> self nav-info run-anim))) (ja :num-func num-func-identity :frame-num 0.0) @@ -1121,19 +1075,16 @@ nav-enemy-default-event-handler ) (none) ) - :post - nav-enemy-chase-post + :post nav-enemy-chase-post ) (defstate nav-enemy-stop-chase (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (let* ((f30-0 (vector-vector-distance (-> self collide-info trans) (target-pos 0))) (gp-1 (the int (+ (lerp-scale 600.0 1800.0 f30-0 32768.0 122880.0) (nav-enemy-rnd-float-range 0.0 30.0)))) @@ -1149,8 +1100,7 @@ nav-enemy-default-event-handler (set! (-> self turn-time) (-> self nav-info walk-turn-time)) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (if (logtest? (-> *target* state-flags) (state-flags sf07)) (go-virtual nav-enemy-patrol) @@ -1170,8 +1120,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja :group! (-> self draw art-group data (-> self nav-info walk-anim))) (ja :num-func num-func-identity :frame-num 0.0) @@ -1183,19 +1132,16 @@ nav-enemy-default-event-handler ) (none) ) - :post - nav-enemy-chase-post + :post nav-enemy-chase-post ) (defstate nav-enemy-stare (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (let ((f0-0 (vector-vector-distance (-> self collide-info trans) (target-pos 0)))) @@ -1211,13 +1157,11 @@ nav-enemy-default-event-handler (set! (-> self collide-info transv quad) (-> *null-vector* quad)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (if (logtest? (-> *target* state-flags) (state-flags sf07)) (go-virtual nav-enemy-patrol) @@ -1259,31 +1203,26 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-give-up) (none) ) - :post - nav-enemy-face-player-post + :post nav-enemy-face-player-post ) (defstate nav-enemy-give-up (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (nav-enemy-neck-control-inactive) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (if (TODO-RENAME-46 self (-> self nav-info notice-distance)) (go-virtual nav-enemy-chase) @@ -1291,49 +1230,40 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-patrol) (none) ) - :post - nav-enemy-simple-post + :post nav-enemy-simple-post ) (defstate nav-enemy-attack (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-victory) (none) ) - :post - nav-enemy-simple-post + :post nav-enemy-simple-post ) (defstate nav-enemy-victory (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self collide-info transv quad) (-> *null-vector* quad)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info victory-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info victory-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -1345,24 +1275,20 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-stare) (none) ) - :post - nav-enemy-simple-post + :post nav-enemy-simple-post ) (defstate nav-enemy-die (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) process-drawable-death-event-handler ) - :enter - (behavior () + :enter (behavior () (send-event (ppointer->process (-> self parent)) 'child-die) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (clear-collide-with-as (-> self collide-info)) (nav-enemy-fall-and-play-death-anim @@ -1382,19 +1308,16 @@ nav-enemy-default-event-handler (cleanup-for-death self) (none) ) - :post - nav-enemy-death-post + :post nav-enemy-death-post ) (defstate nav-enemy-fuel-cell (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) process-drawable-fuel-cell-handler ) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (clear-collide-with-as (-> self collide-info)) (ja-post) @@ -1553,8 +1476,7 @@ nav-enemy-default-event-handler (defbehavior nav-enemy-jump-land-anim nav-enemy () (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.075)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info jump-land-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info jump-land-anim)) :num! (seek!) :frame-num 0.0 ) @@ -1569,10 +1491,8 @@ nav-enemy-default-event-handler (defstate nav-enemy-jump (nav-enemy) :virtual #t - :event - nav-enemy-jump-event-handler - :enter - (behavior () + :event nav-enemy-jump-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (if (and (-> self nav-info use-jump-blocked) (TODO-RENAME-50 self (-> self event-param-point))) (go-virtual nav-enemy-jump-blocked) @@ -1580,13 +1500,11 @@ nav-enemy-default-event-handler (nav-enemy-initialize-jump (-> self event-param-point)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) (none) ) - :code - (behavior () + :code (behavior () (nav-enemy-execute-jump) (let ((a1-0 (-> self nav user-poly))) (if (not a1-0) @@ -1599,8 +1517,7 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-jump-land) (none) ) - :post - nav-enemy-jump-post + :post nav-enemy-jump-post ) (defbehavior nav-enemy-jump-land-post nav-enemy () @@ -1654,13 +1571,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-jump-land (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self nav flags) (nav-control-flags navcf19)) (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -1673,8 +1588,7 @@ nav-enemy-default-event-handler ) (none) ) - :trans - (behavior () + :trans (behavior () (if (or (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) (logtest? (nav-control-flags navcf19) (-> self nav flags)) ) @@ -1682,43 +1596,35 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (nav-enemy-jump-land-anim) (go (-> self jump-return-state)) (none) ) - :post - nav-enemy-jump-land-post + :post nav-enemy-jump-land-post ) (defstate nav-enemy-jump-blocked (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) (go (-> self jump-return-state)) ) (none) ) - :code - (behavior () + :code (behavior () (when (not (ja-group? (-> self draw art-group data (-> self nav-info idle-anim)))) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! - (-> self draw art-group data (-> self nav-info idle-anim)) - :num! - (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) + (ja :group! (-> self draw art-group data (-> self nav-info idle-anim)) + :num! (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) ) ) (let ((f30-0 (nav-enemy-rnd-float-range 0.75 1.25))) @@ -1729,19 +1635,16 @@ nav-enemy-default-event-handler ) (none) ) - :post - nav-enemy-simple-post + :post nav-enemy-simple-post ) (defstate nav-enemy-wait-for-cue (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf11)) (ja-channel-push! 1 (seconds 0.1)) @@ -1766,26 +1669,21 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-jump-to-point) (none) ) - :post - nav-enemy-simple-post + :post nav-enemy-simple-post ) (defstate nav-enemy-jump-to-point (nav-enemy) :virtual #t - :event - nav-enemy-jump-event-handler - :exit - (behavior () + :event nav-enemy-jump-event-handler + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) (none) ) - :trans - (behavior () + :trans (behavior () 0 (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (nav-enemy-initialize-jump (-> self event-param-point)) (nav-enemy-neck-control-look-at) @@ -1802,16 +1700,13 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-wait-for-cue) (none) ) - :post - nav-enemy-jump-post + :post nav-enemy-jump-post ) (define *nav-enemy-dummy-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #x28)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 614400.0) + :center (new 'static 'vector :w (the-as float #x28)) + :shadow-dir (new 'static 'vector :y -1.0 :w 614400.0) :bot-plane (new 'static 'plane :y 1.0 :w 4096.0) :top-plane (new 'static 'plane :y 1.0 :w -4096.0) ) diff --git a/goal_src/levels/common/orb-cache.gc b/goal_src/levels/common/orb-cache.gc index 70b35c1ea8..f862a5c58d 100644 --- a/goal_src/levels/common/orb-cache.gc +++ b/goal_src/levels/common/orb-cache.gc @@ -6,6 +6,7 @@ ;; dgos: GAME, COMMON, L1 ;; DECOMP BEGINS + (import "goal_src/import/orb-cache-top-ag.gc") (deftype orb-cache-top (baseplat) @@ -41,8 +42,7 @@ ) (defstate orb-cache-top-idle (orb-cache-top) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('eco-blue) (process-entity-status! self (entity-perm-status complete) #t) @@ -57,17 +57,9 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (and (and *target* (>= 20480.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'powerup)) - (set! (-> a1-1 param 1) (the-as uint 3)) - (not (send-event-function *target* a1-1)) - ) + (not (send-event *target* 'query 'powerup (pickup-type eco-blue))) ) (level-hint-spawn (game-text-id sidekick-hint-orb-cache-top) @@ -79,8 +71,7 @@ ) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (if (and (not arg0) (-> self child)) (sound-play-by-name (static-sound-name "close-orb-cash") (new-sound-id) 1024 0 0 1 #t) ) @@ -203,17 +194,13 @@ ) (defstate orb-cache-top-activate (orb-cache-top) - :event - (the-as (function process int symbol event-message-block object :behavior orb-cache-top) plat-event) - :exit - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior orb-cache-top) plat-event) + :exit (behavior () (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :trans - (the-as (function none :behavior orb-cache-top) plat-trans) - :code - (behavior ((arg0 symbol)) + :trans (the-as (function none :behavior orb-cache-top) plat-trans) + :code (behavior ((arg0 symbol)) (process-entity-status! self (entity-perm-status bit-3) #t) (calculate-pos self arg0) (if arg0 @@ -225,19 +212,11 @@ (set! (-> s4-1 quad) (-> self basetrans quad)) (set! (-> s4-1 y) (-> self money-pos-list s5-1)) (set! (-> self money-pos-actual s5-1) (-> s4-1 y)) - (let ((s3-0 (get-process *default-dead-pool* money #x4000))) - (set! (-> self money-list s5-1) - (ppointer->handle - (when s3-0 - (let ((t9-5 (method-of-type money activate))) - (t9-5 (the-as money s3-0) self 'money (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 money-init-by-other-no-bob s4-1 *null-vector* 5 1.0 (-> self entity)) - (-> s3-0 ppointer) - ) - ) + (set! (-> self money-list s5-1) + (ppointer->handle + (process-spawn money :init money-init-by-other-no-bob s4-1 *null-vector* 5 1.0 (-> self entity) :to self) ) - ) + ) ) ) (loop @@ -288,17 +267,13 @@ ) (none) ) - :post - (the-as (function none :behavior orb-cache-top) plat-post) + :post (the-as (function none :behavior orb-cache-top) plat-post) ) (defstate orb-cache-top-complete (orb-cache-top) - :event - (the-as (function process int symbol event-message-block object :behavior orb-cache-top) plat-event) - :trans - (the-as (function none :behavior orb-cache-top) plat-trans) - :code - (behavior ((arg0 symbol)) + :event (the-as (function process int symbol event-message-block object :behavior orb-cache-top) plat-event) + :trans (the-as (function none :behavior orb-cache-top) plat-trans) + :code (behavior ((arg0 symbol)) (if (not arg0) (sound-play-by-name (static-sound-name "close-orb-cash") (new-sound-id) 1024 0 0 1 #t) ) @@ -308,8 +283,7 @@ (anim-loop) (none) ) - :post - (the-as (function none :behavior orb-cache-top) plat-post) + :post (the-as (function none :behavior orb-cache-top) plat-post) ) (defmethod init-from-entity! orb-cache-top ((obj orb-cache-top) (arg0 entity-actor)) diff --git a/goal_src/levels/common/plat-button.gc b/goal_src/levels/common/plat-button.gc index 415caf17f9..5a8ef6d248 100644 --- a/goal_src/levels/common/plat-button.gc +++ b/goal_src/levels/common/plat-button.gc @@ -6,6 +6,7 @@ ;; dgos: GAME, COMMON, L1 ;; DECOMP BEGINS + (import "goal_src/import/plat-button-ag.gc") (deftype plat-button (process-drawable) @@ -57,8 +58,7 @@ (defstate plat-button-idle (plat-button) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) (when (can-activate? self) @@ -79,8 +79,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (can-activate? self))) (if gp-0 (ja-no-eval :num! (seek! 0.0)) @@ -116,8 +115,7 @@ (defstate plat-button-teleport-to-other-end (plat-button) :virtual #t - :code - (behavior () + :code (behavior () (let ((f0-0 1.0)) (if (>= (-> self path-pos) 0.5) (set! f0-0 0.0) @@ -137,10 +135,8 @@ (defstate plat-button-pressed (plat-button) :virtual #t - :trans - (the-as (function none :behavior plat-button) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior plat-button) rider-trans) + :code (behavior () (ja-no-eval :num! (seek!)) (until (ja-done? 0) (suspend) @@ -154,8 +150,7 @@ ) (none) ) - :post - (the-as (function none :behavior plat-button) rider-post) + :post (the-as (function none :behavior plat-button) rider-post) ) (defbehavior plat-button-camera-on plat-button () @@ -176,30 +171,26 @@ (defstate plat-button-move-downward (plat-button) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (the-as object (when (or (= arg2 'touch) (= arg2 'attack)) (set! (-> self state-time) (-> *display* base-frame-counter)) #f ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (process-entity-status! self (entity-perm-status bit-3) #t) (plat-button-camera-on) (set-setting! *setting-control* self 'allow-look-around #f 0.0 0) (none) ) - :exit - (behavior () + :exit (behavior () (plat-button-camera-off) (clear-pending-settings-from-process *setting-control* self 'allow-look-around) (none) ) - :trans - (behavior () + :trans (behavior () (if (= (-> self path-pos) 1.0) (go-virtual plat-button-at-end) ) @@ -248,38 +239,32 @@ ) (none) ) - :code - (the-as (function none :behavior plat-button) anim-loop) - :post - (the-as (function none :behavior plat-button) rider-post) + :code (the-as (function none :behavior plat-button) anim-loop) + :post (the-as (function none :behavior plat-button) rider-post) ) (defstate plat-button-move-upward (plat-button) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (the-as object (when (or (= arg2 'touch) (= arg2 'attack)) (set! (-> self state-time) (-> *display* base-frame-counter)) #f ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (process-entity-status! self (entity-perm-status bit-3) #t) (plat-button-camera-on) (set-setting! *setting-control* self 'allow-look-around #f 0.0 0) (none) ) - :exit - (behavior () + :exit (behavior () (plat-button-camera-off) (clear-pending-settings-from-process *setting-control* self 'allow-look-around) (none) ) - :trans - (behavior () + :trans (behavior () (if (= (-> self path-pos) 0.0) (go-virtual plat-button-at-end) ) @@ -328,16 +313,13 @@ ) (none) ) - :code - (the-as (function none :behavior plat-button) anim-loop) - :post - (the-as (function none :behavior plat-button) rider-post) + :code (the-as (function none :behavior plat-button) anim-loop) + :post (the-as (function none :behavior plat-button) rider-post) ) (defstate plat-button-at-end (plat-button) :virtual #t - :code - (behavior () + :code (behavior () (if (-> self allow-auto-kill) (process-entity-status! self (entity-perm-status bit-3) #f) ) diff --git a/goal_src/levels/common/plat-eco.gc b/goal_src/levels/common/plat-eco.gc index ca2b7dfc87..36c19e47c4 100644 --- a/goal_src/levels/common/plat-eco.gc +++ b/goal_src/levels/common/plat-eco.gc @@ -6,6 +6,7 @@ ;; dgos: GAME, COMMON, L1 ;; DECOMP BEGINS + (import "goal_src/import/plat-eco-ag.gc") (deftype plat-eco (plat) @@ -39,8 +40,7 @@ (defstate plat-idle (plat-eco) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('wake) (go-virtual plat-path-active (the-as plat #f)) @@ -49,31 +49,22 @@ (go-virtual notice-blue (process->handle arg0)) ) (('ridden 'edge-grabbed) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'query) - (set! (-> a1-6 param 0) (the-as uint 'powerup)) - (set! (-> a1-6 param 1) (the-as uint 3)) - (when (send-event-function *target* a1-6) - (send-to-all (-> self link) 'wake) - (go-virtual plat-path-active (the-as plat #f)) - ) + (when (send-event *target* 'query 'powerup (pickup-type eco-blue)) + (send-to-all (-> self link) 'wake) + (go-virtual plat-path-active (the-as plat #f)) ) ) ) ) - :enter - (behavior () + :enter (behavior () (lods-assign! (-> self draw) (-> self unlit-look)) (none) ) - :trans - (behavior () + :trans (behavior () (when (and (and *target* (>= (-> self notice-dist) (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) ) - (send-event *target* 'query 'powerup 3) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) (send-to-all (-> self link) 'wake) (go-virtual plat-path-active (the-as plat #f)) @@ -91,21 +82,18 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-post) (update-transforms! (-> self root-override)) (anim-loop) (none) ) - :post - (the-as (function none :behavior plat-eco) ja-post) + :post (the-as (function none :behavior plat-eco) ja-post) ) (defstate notice-blue (plat-eco) :virtual override - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('wake) (sound-play-by-name @@ -120,22 +108,14 @@ (go-virtual plat-path-active (the-as plat #f)) ) (('ridden 'edge-grabbed) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'powerup)) - (set! (-> a1-3 param 1) (the-as uint 3)) - (when (send-event-function *target* a1-3) - (send-to-all (-> self link) 'wake) - (go-virtual plat-path-active (the-as plat #f)) - ) + (when (send-event *target* 'query 'powerup (pickup-type eco-blue)) + (send-to-all (-> self link) 'wake) + (go-virtual plat-path-active (the-as plat #f)) ) ) ) ) - :trans - (behavior () + :trans (behavior () ((-> (method-of-object self plat-idle) trans)) (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) self) @@ -151,8 +131,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (set! (-> self target) arg0) (loop (let* ((gp-0 (handle->process (-> self target))) @@ -206,8 +185,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (plat-trans) (plat-post) (none) @@ -216,8 +194,7 @@ (defstate plat-path-active (plat-eco) :virtual #t - :enter - (behavior ((arg0 plat)) + :enter (behavior ((arg0 plat)) (lods-assign! (-> self draw) (-> self lit-look)) (sync-now! (-> self sync) (-> self sync-linear-val)) (set! (-> self sync-offset-faux) (-> self sync offset)) @@ -247,8 +224,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (when (!= (-> self sync-offset-faux) (-> self sync-offset-dest)) (seek! (-> self sync-offset-faux) (-> self sync-offset-dest) (* 12.0 (-> *display* seconds-per-frame))) (let* ((f0-7 (the float (-> self sync period))) diff --git a/goal_src/levels/common/plat.gc b/goal_src/levels/common/plat.gc index 2389ac67df..72e5191db6 100644 --- a/goal_src/levels/common/plat.gc +++ b/goal_src/levels/common/plat.gc @@ -6,22 +6,21 @@ ;; dgos: GAME, COMMON, L1 ;; DECOMP BEGINS -(import "goal_src/import/plat-jungleb-ag.gc") -(import "goal_src/import/plat-ag.gc") + (import "goal_src/import/plat-sunken-ag.gc") +(import "goal_src/import/plat-ag.gc") +(import "goal_src/import/plat-jungleb-ag.gc") (defpartgroup group-standard-plat :id 107 :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 363 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 363 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 364 :fade-after (meters 160) :falloff-to (meters 160)) ) ) (defpart 363 - :init-specs - ((sp-flt spt-num 1.5) + :init-specs ((sp-flt spt-num 1.5) (sp-flt spt-y (meters 1)) (sp-int spt-rot-x 5) (sp-flt spt-r 5324.8) @@ -38,8 +37,7 @@ ) (defpart 364 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-y (meters 1.5)) (sp-rnd-flt spt-scale-x (meters 2) (meters 1) 1.0) @@ -181,8 +179,7 @@ (defstate plat-startup (plat) :virtual #t - :code - (behavior ((arg0 plat)) + :code (behavior ((arg0 plat)) (cond ((logtest? (-> self path flags) (path-control-flag not-found)) (go-virtual plat-idle) @@ -200,15 +197,12 @@ (defstate plat-idle (plat) :virtual #t - :event - (the-as (function process int symbol event-message-block object :behavior plat) plat-event) - :trans - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior plat) plat-event) + :trans (behavior () (dummy-20 self) (none) ) - :code - (behavior () + :code (behavior () (plat-trans) (rider-post) (suspend) @@ -232,15 +226,12 @@ (defstate plat-path-active (plat) :virtual #t - :event - (the-as (function process int symbol event-message-block object :behavior plat) plat-event) - :exit - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior plat) plat-event) + :exit (behavior () (sound-stop (-> self sound-id)) (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self path-pos) (if (logtest? (-> self fact options) (fact-options wrap-phase)) (get-current-phase (-> self sync)) (get-current-phase-with-mirror (-> self sync)) @@ -261,10 +252,8 @@ (plat-trans) (none) ) - :code - (the-as (function plat none :behavior plat) anim-loop) - :post - (the-as (function none :behavior plat) plat-post) + :code (the-as (function plat none :behavior plat) anim-loop) + :post (the-as (function none :behavior plat) plat-post) ) (defmethod init-from-entity! plat ((obj plat) (arg0 entity-actor)) diff --git a/goal_src/levels/common/rigid-body-h.gc b/goal_src/levels/common/rigid-body-h.gc index 325ece7a2e..f177e2f3b6 100644 --- a/goal_src/levels/common/rigid-body-h.gc +++ b/goal_src/levels/common/rigid-body-h.gc @@ -5,14 +5,15 @@ ;; name in dgo: rigid-body-h ;; dgos: GAME, COMMON, L1 -;; definition of type rigid-body +;; DECOMP BEGINS + (deftype rigid-body (structure) - ((mass float :offset-assert 0) - (inv-mass float :offset-assert 4) - (lin-momentum-damping-factor float :offset-assert 8) - (ang-momentum-damping-factor float :offset-assert 12) - (inertial-tensor matrix :inline :offset-assert 16) - (inv-inertial-tensor matrix :inline :offset-assert 80) + ((mass float :offset-assert 0) + (inv-mass float :offset-assert 4) + (lin-momentum-damping-factor float :offset-assert 8) + (ang-momentum-damping-factor float :offset-assert 12) + (inertial-tensor matrix :inline :offset-assert 16) + (inv-inertial-tensor matrix :inline :offset-assert 80) (cm-offset-joint vector :inline :offset-assert 144) (position vector :inline :offset-assert 160) (rotation quaternion :inline :offset-assert 176) @@ -48,13 +49,20 @@ ) ) -;; definition of type rigid-body-control-point + (deftype rigid-body-control-point (structure) - ((local-pos vector :inline :offset-assert 0) - (world-pos vector :inline :offset-assert 16) - (velocity vector :inline :offset-assert 32) + ((local-pos vector :inline :offset-assert 0) + (world-pos vector :inline :offset-assert 16) + (velocity vector :inline :offset-assert 32) ) :method-count-assert 9 :size-assert #x30 :flag-assert #x900000030 ) + + +0 + + + + diff --git a/goal_src/levels/common/rigid-body.gc b/goal_src/levels/common/rigid-body.gc index 7c7c8cceec..7f6cbb5278 100644 --- a/goal_src/levels/common/rigid-body.gc +++ b/goal_src/levels/common/rigid-body.gc @@ -605,8 +605,7 @@ (defstate rigid-body-platform-idle (rigid-body-platform) :virtual #t - :trans - (behavior () + :trans (behavior () (if (and *target* (>= (-> self info idle-distance) (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) ) @@ -615,23 +614,19 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior rigid-body-platform) ja-post) + :post (the-as (function none :behavior rigid-body-platform) ja-post) ) (defstate rigid-body-platform-float (rigid-body-platform) :virtual #t - :event - rigid-body-platform-event-handler - :trans - (behavior () + :event rigid-body-platform-event-handler + :trans (behavior () (if (or (not *target*) (< (-> self info idle-distance) (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) ) @@ -640,15 +635,13 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior rigid-body-platform) rigid-body-platform-post) + :post (the-as (function none :behavior rigid-body-platform) rigid-body-platform-post) ) (defmethod TODO-RENAME-29 rigid-body-platform ((obj rigid-body-platform) (arg0 rigid-body-platform-constants)) diff --git a/goal_src/levels/common/ropebridge.gc b/goal_src/levels/common/ropebridge.gc index 235792c418..12857d9f12 100644 --- a/goal_src/levels/common/ropebridge.gc +++ b/goal_src/levels/common/ropebridge.gc @@ -6,12 +6,13 @@ ;; dgos: GAME, COMMON, L1 ;; DECOMP BEGINS + +(import "goal_src/import/vil3-bridge-36-ag.gc") (import "goal_src/import/ropebridge-36-ag.gc") -(import "goal_src/import/ropebridge-70-ag.gc") -(import "goal_src/import/snow-bridge-36-ag.gc") (import "goal_src/import/ropebridge-32-ag.gc") (import "goal_src/import/ropebridge-52-ag.gc") -(import "goal_src/import/vil3-bridge-36-ag.gc") +(import "goal_src/import/snow-bridge-36-ag.gc") +(import "goal_src/import/ropebridge-70-ag.gc") (deftype ropebridge-tuning (structure) ((num-springs int32 :offset-assert 0) @@ -156,8 +157,7 @@ (new 'static 'ropebridge-tuning :num-springs 16 :num-spring-points 17 - :col-mesh-indexes - (new 'static 'array uint8 16 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3) + :col-mesh-indexes (new 'static 'array uint8 16 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3) :view-frustum-radius 81920.0 :root-prim-radius 81920.0 :desired-spring-len 4096.0 @@ -178,11 +178,39 @@ (new 'static 'ropebridge-tuning :num-springs 18 :num-spring-points 19 - :col-mesh-indexes - (new 'static 'array uint8 32 - #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 - #x3 #x3 #x3 #x3 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 - #x0 #x0 #x0 #x0 + :col-mesh-indexes (new 'static 'array uint8 32 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 ) :view-frustum-radius 98304.0 :root-prim-radius 98304.0 @@ -204,11 +232,39 @@ (new 'static 'ropebridge-tuning :num-springs 26 :num-spring-points 27 - :col-mesh-indexes - (new 'static 'array uint8 32 - #x3 #x3 #x3 #x3 #x3 #x1 #x4 #x4 #x2 #x3 #x3 #x3 #x3 - #x3 #x3 #x3 #x3 #x3 #x1 #x4 #x4 #x4 #x2 #x3 #x3 #x3 - #x0 #x0 #x0 #x0 #x0 #x0 + :col-mesh-indexes (new 'static 'array uint8 32 + #x3 + #x3 + #x3 + #x3 + #x3 + #x1 + #x4 + #x4 + #x2 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x1 + #x4 + #x4 + #x4 + #x2 + #x3 + #x3 + #x3 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 ) :view-frustum-radius 122880.0 :root-prim-radius 122880.0 @@ -230,12 +286,55 @@ (new 'static 'ropebridge-tuning :num-springs 35 :num-spring-points 36 - :col-mesh-indexes - (new 'static 'array uint8 48 - #x3 #x3 #x3 #x3 #x3 #x1 #x4 #x4 #x2 #x7 #x4 #x4 #x2 #x3 #x3 - #x1 #x4 #x4 #x4 #x2 #x3 #x3 #x3 #x6 #x4 #x4 #x5 #x3 #x3 #x3 - #x3 #x3 #x3 #x3 #x3 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 - #x0 #x0 #x0 + :col-mesh-indexes (new 'static 'array uint8 48 + #x3 + #x3 + #x3 + #x3 + #x3 + #x1 + #x4 + #x4 + #x2 + #x7 + #x4 + #x4 + #x2 + #x3 + #x3 + #x1 + #x4 + #x4 + #x4 + #x2 + #x3 + #x3 + #x3 + #x6 + #x4 + #x4 + #x5 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x3 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 ) :view-frustum-radius 163840.0 :root-prim-radius 163840.0 @@ -257,11 +356,39 @@ (new 'static 'ropebridge-tuning :num-springs 18 :num-spring-points 19 - :col-mesh-indexes - (new 'static 'array uint8 32 - #x3 #x3 #x3 #x3 #x1 #x4 #x4 #x4 #x6 #x3 #x5 #x4 #x4 #x4 - #x2 #x3 #x3 #x3 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 - #x0 #x0 #x0 #x0 + :col-mesh-indexes (new 'static 'array uint8 32 + #x3 + #x3 + #x3 + #x3 + #x1 + #x4 + #x4 + #x4 + #x6 + #x3 + #x5 + #x4 + #x4 + #x4 + #x2 + #x3 + #x3 + #x3 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 ) :view-frustum-radius 98304.0 :root-prim-radius 98304.0 @@ -283,11 +410,39 @@ (new 'static 'ropebridge-tuning :num-springs 18 :num-spring-points 19 - :col-mesh-indexes - (new 'static 'array uint8 32 - #x3 #x3 #x3 #x3 #x1 #x4 #x4 #x2 #x1 #x4 #x4 #x2 #x3 #x1 #x4 - #x4 #x2 #x3 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 - #x0 #x0 + :col-mesh-indexes (new 'static 'array uint8 32 + #x3 + #x3 + #x3 + #x3 + #x1 + #x4 + #x4 + #x2 + #x1 + #x4 + #x4 + #x2 + #x3 + #x1 + #x4 + #x4 + #x2 + #x3 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 ) :view-frustum-radius 98304.0 :root-prim-radius 98304.0 @@ -395,8 +550,7 @@ ) (defstate ropebridge-idle (ropebridge) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((f0-0 -1.0)) (cond ((= arg2 'bonk) @@ -447,8 +601,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (suspend) (detect-riders! (-> self root-override)) @@ -460,8 +613,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (ja-post) (let ((gp-0 (-> self root-override))) (update-transforms! gp-0) diff --git a/goal_src/levels/common/sharkey.gc b/goal_src/levels/common/sharkey.gc index 7dd1918f16..2b6ced4d9f 100644 --- a/goal_src/levels/common/sharkey.gc +++ b/goal_src/levels/common/sharkey.gc @@ -6,6 +6,7 @@ ;; dgos: GAME, COMMON, L1 ;; DECOMP BEGINS + (import "goal_src/import/sharkey-ag.gc") (defpartgroup group-sharkey-splash @@ -14,8 +15,7 @@ :linger-duration 780 :flags (use-local-clock) :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 124 :flags (is-3d) :period 900 :length 63) + :parts ((sp-item 124 :flags (is-3d) :period 900 :length 63) (sp-item 125 :period 900 :length 15) (sp-item 126 :flags (is-3d) :period 900 :length 15) (sp-item 127 :flags (is-3d) :period 900 :length 15) @@ -156,14 +156,8 @@ nav-enemy-default-event-handler (defbehavior sharkey-notice-player? sharkey () (if *target* (and (< (- (-> *target* control trans y) (-> self y-max)) 0.0) - (let ((gp-0 'racer) - (a1-0 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'mode)) - (!= gp-0 (send-event-function *target* a1-0)) + (let ((gp-0 'racer)) + (!= gp-0 (send-event *target* 'query 'mode)) ) (nav-enemy-test-point-near-nav-mesh? (-> *target* control shadow-pos)) ) @@ -219,24 +213,20 @@ nav-enemy-default-event-handler (defstate nav-enemy-idle (sharkey) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior sharkey) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf0)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (cond ((-> self enable-patrol) (if (and (and *target* (>= (-> self enemy-info idle-distance) @@ -273,8 +263,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja :group! (-> self draw art-group data (-> self nav-info idle-anim))) (ja :num-func num-func-identity :frame-num 0.0) @@ -290,31 +279,26 @@ nav-enemy-default-event-handler (anim-loop) (none) ) - :post - (the-as (function none :behavior sharkey) #f) + :post (the-as (function none :behavior sharkey) #f) ) (defstate nav-enemy-patrol (sharkey) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior sharkey) nav-enemy-default-event-handler ) - :trans - (behavior () + :trans (behavior () (if (sharkey-notice-player?) (go-virtual nav-enemy-chase) ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (set! (-> self nav target-pos quad) (-> self spawn-point quad)) (loop - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info walk-anim)) :num! (seek! max (-> self anim-speed)) :frame-num 0.0 ) @@ -336,8 +320,7 @@ nav-enemy-default-event-handler ) (none) ) - :post - (behavior () + :post (behavior () (nav-enemy-travel-post) (none) ) @@ -345,18 +328,15 @@ nav-enemy-default-event-handler (defstate nav-enemy-notice (sharkey) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior sharkey) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (go-virtual nav-enemy-chase) (none) ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-chase) (none) ) @@ -373,13 +353,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-attack (sharkey) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior sharkey) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) @@ -398,61 +376,50 @@ nav-enemy-default-event-handler (ja :num! (seek! (ja-aframe 3.0 0) 2.0)) ) ) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'attack-invinc) - (set! (-> a1-7 param 0) (the-as uint #f)) - (let ((a0-15 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-15 mode) 'sharkey) - (set! (-> a1-7 param 1) (the-as uint a0-15)) - ) - (when (send-event-function *target* a1-7) - (logclear! (-> self mask) (process-mask enemy)) - (vector-float*! (-> self collide-info transv) (-> self collide-info transv) 8.0) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((f30-0 -409600.0) - (f28-0 (-> self collide-info transv y)) - (f26-0 (-> self collide-info trans y)) + (when (send-event *target* 'attack-invinc #f (static-attack-info ((mode 'sharkey)))) + (logclear! (-> self mask) (process-mask enemy)) + (vector-float*! (-> self collide-info transv) (-> self collide-info transv) 8.0) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (let ((f30-0 -409600.0) + (f28-0 (-> self collide-info transv y)) + (f26-0 (-> self collide-info trans y)) + ) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) + (ja-no-eval :group! sharkey-chomp-ja :num! (seek!) :frame-num (ja-aframe 3.0 0)) + (until (ja-done? 0) + (+! f28-0 (* f30-0 (-> *display* seconds-per-frame))) + (+! f26-0 (* f28-0 (-> *display* seconds-per-frame))) + (set! (-> self collide-info transv y) f28-0) + (when (< (-> self collide-info trans y) (-> self water height)) + (set! f28-0 (* 0.9 f28-0)) + (vector-float*! (-> self collide-info transv) (-> self collide-info transv) 0.9) ) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) - (ja-no-eval :group! sharkey-chomp-ja :num! (seek!) :frame-num (ja-aframe 3.0 0)) - (until (ja-done? 0) - (+! f28-0 (* f30-0 (-> *display* seconds-per-frame))) - (+! f26-0 (* f28-0 (-> *display* seconds-per-frame))) - (set! (-> self collide-info transv y) f28-0) - (when (< (-> self collide-info trans y) (-> self water height)) - (set! f28-0 (* 0.9 f28-0)) - (vector-float*! (-> self collide-info transv) (-> self collide-info transv) 0.9) - ) - (vector-normalize-copy! (-> self dir) (-> self collide-info transv) 1.0) - (forward-up->quaternion (-> self collide-info quat) (-> self dir) *up-vector*) - (integrate-for-enemy-with-move-to-ground! - (-> self collide-info) - (-> self collide-info transv) - (collide-kind background) - 8192.0 - #t - #f - #f - ) - (set! (-> self collide-info trans y) f26-0) - (suspend) - (ja :num! (seek!)) + (vector-normalize-copy! (-> self dir) (-> self collide-info transv) 1.0) + (forward-up->quaternion (-> self collide-info quat) (-> self dir) *up-vector*) + (integrate-for-enemy-with-move-to-ground! + (-> self collide-info) + (-> self collide-info transv) + (collide-kind background) + 8192.0 + #t + #f + #f ) + (set! (-> self collide-info trans y) f26-0) + (suspend) + (ja :num! (seek!)) ) ) - (send-event *target* 'end-mode) - (set! (-> self mask) (logior (process-mask enemy) (-> self mask))) ) + (send-event *target* 'end-mode) + (set! (-> self mask) (logior (process-mask enemy) (-> self mask))) ) (sharkey-reset-position) (logior! (-> self draw status) (draw-status hidden)) (go-virtual nav-enemy-idle) (none) ) - :post - (behavior () + :post (behavior () (nav-enemy-simple-post) (none) ) @@ -460,18 +427,15 @@ nav-enemy-default-event-handler (defstate nav-enemy-chase (sharkey) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior sharkey) nav-enemy-default-event-handler ) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self sound-id)) (none) ) - :trans - (behavior () + :trans (behavior () (if (not *target*) (go-virtual nav-enemy-patrol) ) @@ -521,14 +485,12 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self player-water-time) (-> *display* base-frame-counter)) (ja-channel-push! 1 (seconds 0.17)) (sound-play-by-name (static-sound-name "bigshark-idle") (new-sound-id) 1024 0 0 1 #t) (loop - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info run-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info run-anim)) :num! (seek! max (-> self anim-speed)) :frame-num 0.0 ) @@ -540,8 +502,7 @@ nav-enemy-default-event-handler ) (none) ) - :post - (behavior () + :post (behavior () (sharkey-get-player-position (-> self nav target-pos)) (nav-enemy-travel-post) (let* ((f3-0 (vector-vector-distance (-> self collide-info trans) (-> self nav target-pos))) @@ -564,17 +525,14 @@ nav-enemy-default-event-handler (defstate nav-enemy-stop-chase (sharkey) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior sharkey) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.17)) (loop - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info walk-anim)) :num! (seek! max (-> self anim-speed)) :frame-num 0.0 ) @@ -591,13 +549,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-stare (sharkey) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior sharkey) nav-enemy-default-event-handler ) - :trans - (behavior () + :trans (behavior () (if (TODO-RENAME-46 self (-> self nav-info notice-distance)) (go-virtual nav-enemy-chase) ) @@ -606,8 +562,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.17)) (ja :group! (-> self draw art-group data (-> self nav-info idle-anim))) (ja :num-func num-func-identity :frame-num 0.0) @@ -623,17 +578,14 @@ nav-enemy-default-event-handler (defstate nav-enemy-victory (sharkey) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior sharkey) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (dotimes (gp-0 3) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info victory-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info victory-anim)) :num! (seek! max (-> self anim-speed)) :frame-num 0.0 ) diff --git a/goal_src/levels/common/tippy.gc b/goal_src/levels/common/tippy.gc index f9c667c028..9a343edd29 100644 --- a/goal_src/levels/common/tippy.gc +++ b/goal_src/levels/common/tippy.gc @@ -5,7 +5,8 @@ ;; name in dgo: tippy ;; dgos: GAME, COMMON, L1 -;; definition of type tippy +;; DECOMP BEGINS + (deftype tippy (structure) ((axis vector :inline :offset-assert 0) (angle float :offset-assert 16) @@ -23,24 +24,8 @@ ) ) -;; definition for method 3 of type tippy -(defmethod inspect tippy ((obj tippy)) - (format #t "[~8x] ~A~%" obj 'tippy) - (format #t "~Taxis: #~%" (-> obj axis)) - (format #t "~Tangle: ~f~%" (-> obj angle)) - (format #t "~Torig: #~%" (-> obj orig)) - (format #t "~Tdist-ratio: ~f~%" (-> obj dist-ratio)) - (format #t "~Tdamping: ~f~%" (-> obj damping)) - (format #t "~T1-damping: ~f~%" (-> obj 1-damping)) - obj - ) -;; definition for method 9 of type tippy -;; INFO: Return type mismatch int vs none. -(defmethod - reset! - tippy - ((obj tippy) (arg0 process-drawable) (arg1 float) (arg2 float)) +(defmethod reset! tippy ((obj tippy) (arg0 process-drawable) (arg1 float) (arg2 float)) (set-vector! (-> obj axis) 0.0 0.0 0.0 1.0) (set! (-> obj angle) 0.0) (quaternion-copy! (-> obj orig) (-> arg0 root quat)) @@ -51,56 +36,41 @@ (none) ) -;; definition for method 10 of type tippy -(defmethod - TODO-RENAME-10 - tippy - ((obj tippy) (arg0 process-drawable) (arg1 vector)) +(defmethod TODO-RENAME-10 tippy ((obj tippy) (arg0 process-drawable) (arg1 vector)) (let ((s4-0 #t)) - (cond - (arg1 - (let ((s3-0 (new 'stack-no-clear 'vector))) - 0.0 - (set! (-> s3-0 x) (- (-> arg1 z) (-> arg0 root trans z))) - (set! (-> s3-0 y) 0.0) - (set! (-> s3-0 z) (- (-> arg0 root trans x) (-> arg1 x))) - (let ((f0-6 (vector-length s3-0))) - (vector-float*! s3-0 s3-0 (/ 1.0 f0-6)) - (let ((f30-0 (* f0-6 (-> obj dist-ratio)))) - (set! - (-> obj axis x) - (+ - (* (-> obj 1-damping) (-> obj axis x)) - (* (-> obj damping) (-> s3-0 x)) + (cond + (arg1 + (let ((s3-0 (new 'stack-no-clear 'vector))) + 0.0 + (set! (-> s3-0 x) (- (-> arg1 z) (-> arg0 root trans z))) + (set! (-> s3-0 y) 0.0) + (set! (-> s3-0 z) (- (-> arg0 root trans x) (-> arg1 x))) + (let ((f0-6 (vector-length s3-0))) + (vector-float*! s3-0 s3-0 (/ 1.0 f0-6)) + (let ((f30-0 (* f0-6 (-> obj dist-ratio)))) + (set! (-> obj axis x) (+ (* (-> obj 1-damping) (-> obj axis x)) (* (-> obj damping) (-> s3-0 x)))) + (set! (-> obj axis y) 0.0) + (set! (-> obj axis z) (+ (* (-> obj 1-damping) (-> obj axis z)) (* (-> obj damping) (-> s3-0 z)))) + (vector-normalize! (-> obj axis) 1.0) + (set! (-> obj angle) (+ (* (-> obj 1-damping) (-> obj angle)) (* (-> obj damping) f30-0))) + ) + ) + ) + ) + (else + (set! (-> obj angle) (* (-> obj 1-damping) (-> obj angle))) + (when (< (-> obj angle) 182.04445) + (set! (-> obj angle) 0.0) + (set! s4-0 #f) ) - ) - (set! (-> obj axis y) 0.0) - (set! - (-> obj axis z) - (+ - (* (-> obj 1-damping) (-> obj axis z)) - (* (-> obj damping) (-> s3-0 z)) - ) - ) - (vector-normalize! (-> obj axis) 1.0) - (set! - (-> obj angle) - (+ (* (-> obj 1-damping) (-> obj angle)) (* (-> obj damping) f30-0)) - ) ) - ) ) - ) - (else - (set! (-> obj angle) (* (-> obj 1-damping) (-> obj angle))) - (when (< (-> obj angle) 182.04445) - (set! (-> obj angle) 0.0) - (set! s4-0 #f) - ) - ) + (quaternion-vector-angle! (-> arg0 root quat) (-> obj axis) (-> obj angle)) + (quaternion*! (-> arg0 root quat) (-> arg0 root quat) (-> obj orig)) + s4-0 ) - (quaternion-vector-angle! (-> arg0 root quat) (-> obj axis) (-> obj angle)) - (quaternion*! (-> arg0 root quat) (-> arg0 root quat) (-> obj orig)) - s4-0 - ) ) + + + + diff --git a/goal_src/levels/common/water-anim.gc b/goal_src/levels/common/water-anim.gc index ace24f656b..1082bd9943 100644 --- a/goal_src/levels/common/water-anim.gc +++ b/goal_src/levels/common/water-anim.gc @@ -6,22 +6,23 @@ ;; dgos: GAME, COMMON, L1, WATER-AN ;; DECOMP BEGINS -(import "goal_src/import/water-anim-sunken-ag.gc") -(import "goal_src/import/water-anim-jungle-ag.gc") -(import "goal_src/import/water-anim-village2-ag.gc") -(import "goal_src/import/water-anim-darkcave-ag.gc") -(import "goal_src/import/water-anim-maincave-water-ag.gc") -(import "goal_src/import/water-anim-finalboss-ag.gc") -(import "goal_src/import/water-anim-rolling-ag.gc") -(import "goal_src/import/water-anim-village1-ag.gc") -(import "goal_src/import/water-anim-village3-ag.gc") + (import "goal_src/import/water-anim-maincave-ag.gc") -(import "goal_src/import/water-anim-robocave-ag.gc") -(import "goal_src/import/water-anim-misty-ag.gc") -(import "goal_src/import/water-anim-training-ag.gc") +(import "goal_src/import/water-anim-village3-ag.gc") +(import "goal_src/import/water-anim-finalboss-ag.gc") +(import "goal_src/import/water-anim-maincave-water-ag.gc") +(import "goal_src/import/water-anim-sunken-ag.gc") (import "goal_src/import/water-anim-lavatube-ag.gc") +(import "goal_src/import/water-anim-robocave-ag.gc") +(import "goal_src/import/water-anim-jungle-ag.gc") (import "goal_src/import/water-anim-ogre-ag.gc") +(import "goal_src/import/water-anim-training-ag.gc") +(import "goal_src/import/water-anim-darkcave-ag.gc") +(import "goal_src/import/water-anim-village1-ag.gc") +(import "goal_src/import/water-anim-rolling-ag.gc") +(import "goal_src/import/water-anim-misty-ag.gc") (import "goal_src/import/water-anim-sunken-dark-eco-ag.gc") +(import "goal_src/import/water-anim-village2-ag.gc") (deftype water-anim (water-vol) ((ppointer-water-anim (pointer water-anim) :offset 24) @@ -288,177 +289,135 @@ (define *water-anim-look* (the-as (array water-anim-look) - (new - 'static - 'boxed-array - :type water-anim-look :length 48 :allocated-length 48 + (new 'static 'boxed-array :type water-anim-look (new 'static 'water-anim-look :skel-group '*water-anim-sunken-big-room-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 70 :fo-max 80) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 70 :fo-max 80) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-first-room-from-entrance-sg* + :skel-group '*water-anim-sunken-first-room-from-entrance-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 50 :fo-max 60) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 50 :fo-max 60) ) (new 'static 'water-anim-look :skel-group '*water-anim-sunken-qbert-room-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 48 :fo-max 58) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 48 :fo-max 58) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-first-right-branch-sg* + :skel-group '*water-anim-sunken-first-right-branch-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 30 :fo-max 40) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 30 :fo-max 40) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-circular-with-bullys-sg* + :skel-group '*water-anim-sunken-circular-with-bullys-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 15 :fo-max 25) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 15 :fo-max 25) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-hall-with-one-whirlpool-sg* + :skel-group '*water-anim-sunken-hall-with-one-whirlpool-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 27 :fo-max 37) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 27 :fo-max 37) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-hall-with-three-whirlpools-sg* + :skel-group '*water-anim-sunken-hall-with-three-whirlpools-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 26 :fo-max 36) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 26 :fo-max 36) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-start-of-helix-slide-sg* + :skel-group '*water-anim-sunken-start-of-helix-slide-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 25 :fo-max 35) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 25 :fo-max 35) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-room-above-exit-chamber-sg* + :skel-group '*water-anim-sunken-room-above-exit-chamber-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 45 :fo-max 55) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 45 :fo-max 55) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-hall-before-big-room-sg* + :skel-group '*water-anim-sunken-hall-before-big-room-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 20 :fo-max 30) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 20 :fo-max 30) ) (new 'static 'water-anim-look :skel-group '*water-anim-sunken-dark-eco-qbert-sg* :anim 6 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 40 :fo-max 50) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 40 :fo-max 50) ) (new 'static 'water-anim-look :skel-group '*water-anim-sunken-short-piece-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 20 :fo-max 30) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 20 :fo-max 30) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-big-room-upper-water-sg* + :skel-group '*water-anim-sunken-big-room-upper-water-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 27 :fo-max 37) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 27 :fo-max 37) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-dark-eco-platform-room-sg* + :skel-group '*water-anim-sunken-dark-eco-platform-room-sg* :anim 6 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 22 :fo-max 32) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 22 :fo-max 32) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-maincave-water-with-crystal-sg* + :skel-group '*water-anim-maincave-water-with-crystal-sg* :anim 2 :ambient-sound-spec #f ) (new 'static 'water-anim-look :skel-group '*water-anim-maincave-center-pool-sg* :anim 10 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 70 :fo-max 80) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 70 :fo-max 80) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-maincave-lower-right-pool-sg* + :skel-group '*water-anim-maincave-lower-right-pool-sg* :anim 10 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 40 :fo-max 50) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 40 :fo-max 50) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-maincave-mid-right-pool-sg* + :skel-group '*water-anim-maincave-mid-right-pool-sg* :anim 10 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 37 :fo-max 47) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 37 :fo-max 47) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-maincave-lower-left-pool-sg* + :skel-group '*water-anim-maincave-lower-left-pool-sg* :anim 10 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 20 :fo-max 30) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 20 :fo-max 30) ) (new 'static 'water-anim-look :skel-group '*water-anim-maincave-mid-left-pool-sg* :anim 10 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 51 :fo-max 61) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 51 :fo-max 61) ) (new 'static 'water-anim-look :skel-group '*water-anim-robocave-main-pool-sg* :anim 3 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 54 :fo-max 64) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 54 :fo-max 64) ) (new 'static 'water-anim-look :skel-group '*water-anim-misty-mud-by-arena-sg* :anim 24 :ambient-sound-spec #f) (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-above-skeleton-sg* + :skel-group '*water-anim-misty-mud-above-skeleton-sg* :anim 24 :ambient-sound-spec #f ) (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-behind-skeleton-sg* + :skel-group '*water-anim-misty-mud-behind-skeleton-sg* :anim 24 :ambient-sound-spec #f ) (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-above-skull-back-sg* + :skel-group '*water-anim-misty-mud-above-skull-back-sg* :anim 24 :ambient-sound-spec #f ) (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-above-skull-front-sg* + :skel-group '*water-anim-misty-mud-above-skull-front-sg* :anim 24 :ambient-sound-spec #f ) (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-other-near-skull-sg* + :skel-group '*water-anim-misty-mud-other-near-skull-sg* :anim 24 :ambient-sound-spec #f ) @@ -474,48 +433,40 @@ ) (new 'static 'water-anim-look :skel-group '*water-anim-misty-mud-by-dock-sg* :anim 24 :ambient-sound-spec #f) (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-island-near-dock-sg* + :skel-group '*water-anim-misty-mud-island-near-dock-sg* :anim 24 :ambient-sound-spec #f ) (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-lonely-island-sg* + :skel-group '*water-anim-misty-mud-lonely-island-sg* :anim 24 :ambient-sound-spec #f ) (new 'static 'water-anim-look :skel-group '*water-anim-misty-dark-eco-pool-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 17 :fo-max 27) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 17 :fo-max 27) ) (new 'static 'water-anim-look :skel-group '*water-anim-ogre-lava-sg* :anim 2 :ambient-sound-spec #f) (new 'static 'water-anim-look :skel-group '*water-anim-jungle-river-sg* :anim 3 :ambient-sound-spec #f) (new 'static 'water-anim-look :skel-group '*water-anim-village3-lava-sg* :anim 3 :ambient-sound-spec #f) (new 'static 'water-anim-look :skel-group '*water-anim-training-lake-sg* :anim 2 :ambient-sound-spec #f) (new 'static 'water-anim-look - :skel-group - '*water-anim-darkcave-water-with-crystal-sg* + :skel-group '*water-anim-darkcave-water-with-crystal-sg* :anim 2 :ambient-sound-spec #f ) (new 'static 'water-anim-look :skel-group '*water-anim-rolling-water-back-sg* :anim 4 :ambient-sound-spec #f) (new 'static 'water-anim-look :skel-group '*water-anim-rolling-water-front-sg* :anim 4 :ambient-sound-spec #f) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-dark-eco-helix-room-sg* + :skel-group '*water-anim-sunken-dark-eco-helix-room-sg* :anim 6 - :ambient-sound-spec - (static-sound-spec "helix-dark-eco" :fo-min 120 :fo-max 130) + :ambient-sound-spec (static-sound-spec "helix-dark-eco" :fo-min 120 :fo-max 130) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-finalboss-dark-eco-pool-sg* + :skel-group '*water-anim-finalboss-dark-eco-pool-sg* :anim 2 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 19 :fo-max 29) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 19 :fo-max 29) ) (new 'static 'water-anim-look :skel-group '*water-anim-lavatube-energy-lava-sg* @@ -525,14 +476,12 @@ (new 'static 'water-anim-look :skel-group '*water-anim-village1-rice-paddy-sg* :anim 8 :ambient-sound-spec #f) (new 'static 'water-anim-look :skel-group '*water-anim-village1-fountain-sg* :anim 8 :ambient-sound-spec #f) (new 'static 'water-anim-look - :skel-group - '*water-anim-village1-rice-paddy-mid-sg* + :skel-group '*water-anim-village1-rice-paddy-mid-sg* :anim 8 :ambient-sound-spec #f ) (new 'static 'water-anim-look - :skel-group - '*water-anim-village1-rice-paddy-top-sg* + :skel-group '*water-anim-village1-rice-paddy-top-sg* :anim 8 :ambient-sound-spec #f ) @@ -543,8 +492,7 @@ (defstate water-vol-idle (water-anim) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'move-to) (set! (-> self root trans quad) (-> (the-as vector (-> arg3 param 0)) quad)) @@ -560,8 +508,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (let ((t9-0 (-> (method-of-type water-vol water-vol-idle) trans))) (if t9-0 (t9-0) @@ -576,8 +523,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-post) (logior! (-> self mask) (process-mask sleep-code)) diff --git a/goal_src/levels/darkcave/darkcave-obs.gc b/goal_src/levels/darkcave/darkcave-obs.gc index d1d169e28f..58ee7fa850 100644 --- a/goal_src/levels/darkcave/darkcave-obs.gc +++ b/goal_src/levels/darkcave/darkcave-obs.gc @@ -8,6 +8,7 @@ ; (define-extern *cavecrystal-sg* skeleton-group) ;; DECOMP BEGINS + (import "goal_src/import/cavecrystal-ag.gc") (deftype cavecrystal (process-drawable) @@ -94,16 +95,14 @@ ) (defstate cavecrystal-idle (cavecrystal) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (go cavecrystal-active) ) ) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 40960.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) (level-hint-spawn (game-text-id darkcave-light-crystal-hint) @@ -116,8 +115,7 @@ (update-connected-crystals! self) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 @@ -126,8 +124,7 @@ ) (defstate cavecrystal-active (cavecrystal) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'attack) (let ((v1-1 (-> arg3 param 2))) @@ -146,23 +143,20 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self activated-time) (-> *display* game-frame-counter)) (set! (-> self prev-compute-glow-time) (-> *display* game-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (if (not (-> self is-master?)) (logior! (-> self mask) (process-mask actor-pause)) ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (compute-glow self))) (set! (-> self glow-u) f30-0) (let ((gp-0 (new 'stack-no-clear 'vector)) @@ -201,8 +195,7 @@ (update! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 diff --git a/goal_src/levels/demo/demo-obs.gc b/goal_src/levels/demo/demo-obs.gc index bb1c106930..29490bc9df 100644 --- a/goal_src/levels/demo/demo-obs.gc +++ b/goal_src/levels/demo/demo-obs.gc @@ -10,10 +10,8 @@ ;; DECOMP BEGINS (defstate target-demo (target) - :event - target-generic-event-handler - :code - (behavior () + :event target-generic-event-handler + :code (behavior () (if *time-of-day-proc* (set! (-> *time-of-day-proc* 0 hour) 12) ) @@ -141,26 +139,17 @@ ) ) ) - (let ((gp-17 (get-process *default-dead-pool* process #x4000))) - (when gp-17 - (let ((t9-26 (method-of-type process activate))) - (t9-26 gp-17 *default-pool* 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process gp-17 (lambda () - (set! (-> *setting-control* default bg-a) 0.0) - (start 'play (get-continue-by-name *game-info* "village1-demo-convo")) - ) - ) - (-> gp-17 ppointer) - ) - ) + (process-spawn-function process (lambda () + (set! (-> *setting-control* default bg-a) 0.0) + (start 'play (get-continue-by-name *game-info* "village1-demo-convo")) + ) + ) (loop (suspend) ) (none) ) - :post - target-no-move-post + :post target-no-move-post ) diff --git a/goal_src/levels/demo/static-screen.gc b/goal_src/levels/demo/static-screen.gc index 6a9c4e341d..b77d6a9cc9 100644 --- a/goal_src/levels/demo/static-screen.gc +++ b/goal_src/levels/demo/static-screen.gc @@ -49,8 +49,7 @@ ) (defpart 2966 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x5c6)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x5c6)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1.18)) (sp-flt spt-scale-x (meters 15)) @@ -65,8 +64,7 @@ ) (defpart 2967 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x5c6)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x5c6)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -1.264)) (sp-flt spt-scale-x (meters 15)) @@ -81,8 +79,7 @@ ) (defpart 2968 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x5c6)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x5c6)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -2.482)) (sp-flt spt-scale-x (meters 15)) @@ -100,28 +97,24 @@ :id 707 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2966 :flags (launch-asap)) (sp-item 2967 :flags (launch-asap)) (sp-item 2968 :flags (launch-asap))) + :parts ((sp-item 2966 :flags (launch-asap)) (sp-item 2967 :flags (launch-asap)) (sp-item 2968 :flags (launch-asap))) ) (defstate idle (static-screen) :virtual #t - :enter - (behavior ((arg0 int) (arg1 time-frame) (arg2 symbol)) + :enter (behavior ((arg0 int) (arg1 time-frame) (arg2 symbol)) (set! (-> *setting-control* current bg-a) 1.0) (set! (-> *setting-control* default bg-a) 0.0) (push-setting! *setting-control* self 'common-page 'set 0.0 (ash 1 (+ arg0 1))) (none) ) - :trans - (behavior () + :trans (behavior () (hide-hud-quick) (spawn (-> self part 0) *zero-vector*) 0 (none) ) - :code - (behavior ((arg0 int) (arg1 time-frame) (arg2 symbol)) + :code (behavior ((arg0 int) (arg1 time-frame) (arg2 symbol)) (local-vars (v1-6 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (until v1-6 diff --git a/goal_src/levels/finalboss/final-door.gc b/goal_src/levels/finalboss/final-door.gc index f34f0811e4..2041b98465 100644 --- a/goal_src/levels/finalboss/final-door.gc +++ b/goal_src/levels/finalboss/final-door.gc @@ -8,9 +8,10 @@ (define-extern power-left type) ;; DECOMP BEGINS + (import "goal_src/import/power-left-ag.gc") -(import "goal_src/import/powercellalt-ag.gc") (import "goal_src/import/power-right-ag.gc") +(import "goal_src/import/powercellalt-ag.gc") (deftype fin-door (process-hidden) () @@ -51,16 +52,14 @@ (defstate idle (final-door) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('open) (go-virtual open #f) ) ) ) - :code - (behavior () + :code (behavior () (transform-post) (logior! (-> self mask) (process-mask sleep)) (suspend) @@ -71,8 +70,7 @@ (defstate open (final-door) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'brightness) (let ((f0-0 (the-as float (-> arg3 param 0))) @@ -91,8 +89,7 @@ ) ) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (case (-> self type) ((power-left) (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 0.353) :frame-num 0.0) @@ -165,8 +162,7 @@ (defstate idle (power-left) :virtual #t - :code - (behavior () + :code (behavior () (ja-post) (loop (if (and (and *target* (>= 61440.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) @@ -224,8 +220,7 @@ (defstate jump (powercellalt) :virtual #t - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "cell-prize") (new-sound-id) 1024 0 0 1 #t) (let ((gp-1 (new 'stack 'trajectory))) (set! (-> self base y) (-> self jump-pos y)) @@ -247,23 +242,16 @@ (set! (-> self base quad) (-> self root-override trans quad)) (transform-post) (sound-play-by-name (static-sound-name "land-pcmetal") (new-sound-id) 1024 3048 0 1 #t) - (let ((gp-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-3 - (let ((t9-12 (method-of-type part-tracker activate))) - (t9-12 (the-as part-tracker gp-3) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-3 - part-tracker-init - (-> *part-group-id-table* 4) - -1 - #f - #f - #f - (-> self root-override root-prim prim-core) - ) - (-> gp-3 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 4) + -1 + #f + #f + #f + (-> self root-override root-prim prim-core) + :to *entity-pool* ) (go-virtual idle) (none) @@ -272,8 +260,7 @@ (defstate idle (powercellalt) :virtual #t - :code - (behavior () + :code (behavior () (loop (vector<-cspace! (-> self root-override trans) @@ -318,33 +305,28 @@ ) (defstate target-final-door (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) ((-> target-grab event) arg0 arg1 arg2 arg3) ) - :enter - (behavior ((arg0 basic) (arg1 handle)) + :enter (behavior ((arg0 basic) (arg1 handle)) (send-event *camera* 'change-to-entity-by-name "camera-403") (set! (-> self control unknown-surface00) *empty-mods*) (logior! (-> self state-flags) (state-flags sf04 sf08)) (set-setting! *setting-control* self 'allow-progress #f 0.0 0) (none) ) - :exit - (behavior () - (send-event *camera* 'change-state *camera-base-mode* 60) + :exit (behavior () + (send-event *camera* 'change-state *camera-base-mode* (seconds 0.2)) (logclear! (-> self state-flags) (state-flags sf04 sf08)) (target-exit) (clear-pending-settings-from-process *setting-control* self 'allow-progress) (none) ) - :trans - (behavior () + :trans (behavior () (set-letterbox-frames (seconds 0.017)) (none) ) - :code - (behavior ((arg0 basic) (arg1 handle)) + :code (behavior ((arg0 basic) (arg1 handle)) (local-vars (sv-144 process) (sv-160 vector) (sv-176 process) (sv-192 vector)) (let ((a0-2 (get-task-control (game-task finalboss-movies)))) (save-reminder a0-2 (logior (get-reminder a0-2 0) 2) 0) @@ -432,8 +414,7 @@ (go target-stance) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) diff --git a/goal_src/levels/finalboss/green-eco-lurker.gc b/goal_src/levels/finalboss/green-eco-lurker.gc index 6e303c692d..93399470de 100644 --- a/goal_src/levels/finalboss/green-eco-lurker.gc +++ b/goal_src/levels/finalboss/green-eco-lurker.gc @@ -6,6 +6,7 @@ ;; dgos: FIN, L1 ;; DECOMP BEGINS + (import "goal_src/import/green-eco-lurker-ag.gc") (deftype green-eco-lurker (nav-enemy) @@ -99,8 +100,7 @@ :use-proximity-notice #f :use-jump-blocked #t :use-jump-patrol #f - :gnd-collide-with - (collide-kind background cak-2 ground-object) + :gnd-collide-with (collide-kind background cak-2 ground-object) :debug-draw-neck #f :debug-draw-jump #f ) @@ -111,8 +111,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2585 :fade-after (meters 100) :period 600 :length 5 :binding 2583) + :parts ((sp-item 2585 :fade-after (meters 100) :period 600 :length 5 :binding 2583) (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) (sp-item 2584 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead)) (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) @@ -153,8 +152,7 @@ ) (defpart 2587 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -178,13 +176,11 @@ ) (defpart 2590 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) ) (defpart 2589 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-scale-x (meters 0.2)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) @@ -201,8 +197,7 @@ ) (defpart 2586 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 16)) (sp-copy-from-other spt-scale-y -4) @@ -217,8 +212,7 @@ ) (defpart 2588 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -242,8 +236,7 @@ ) (defpart 2585 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 16.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 0.1)) @@ -260,8 +253,7 @@ ) (defpart 2583 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.3) (meters 0.3) 1.0) @@ -285,8 +277,7 @@ ) (defpart 2584 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -396,42 +387,35 @@ ) (defstate green-eco-lurker-tune-spheres (green-eco-lurker) - :trans - (behavior () + :trans (behavior () 0 (none) ) - :code - (behavior () + :code (behavior () 0 (none) ) - :post - (the-as (function none :behavior green-eco-lurker) transform-post) + :post (the-as (function none :behavior green-eco-lurker) transform-post) ) (defstate green-eco-lurker-wait-to-appear (green-eco-lurker) - :enter - (behavior () + :enter (behavior () (logior! (-> self draw status) (draw-status hidden)) (clear-collide-with-as (-> self collide-info)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (restore-collide-with-as (-> self collide-info)) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-52 self (-> self appear-dest)) (go green-eco-lurker-appear) ) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -472,8 +456,7 @@ ) (defstate green-eco-lurker-appear (green-eco-lurker) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self played-sound?) #f) (set! (-> self sound-delay) (nav-enemy-rnd-int-range 30 150)) @@ -489,14 +472,16 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self collide-info trans quad)) (set! (-> gp-0 y) (+ 8192.0 (-> gp-0 y))) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 643) -1 #f #f #f gp-0) - (-> s5-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 643) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (let ((gp-1 (new 'stack-no-clear 'vector))) @@ -507,8 +492,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (fmin (the float (- (-> *display* base-frame-counter) (-> self state-time))) (-> self traj time)))) (eval-position! (-> self traj) f30-0 (-> self collide-info trans)) (when (= f30-0 (-> self traj time)) @@ -535,8 +519,7 @@ 0 (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (sound-play-by-name (static-sound-name "blob-out") @@ -569,18 +552,15 @@ ) (none) ) - :post - (the-as (function none :behavior green-eco-lurker) transform-post) + :post (the-as (function none :behavior green-eco-lurker) transform-post) ) (defstate green-eco-lurker-appear-land (green-eco-lurker) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior green-eco-lurker) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (activate! *camera-smush-control* 409.6 37 150 1.0 0.99) (sound-play-by-name (static-sound-name "blob-land") @@ -615,14 +595,12 @@ (go-virtual nav-enemy-chase) (none) ) - :post - (the-as (function none :behavior green-eco-lurker) transform-post) + :post (the-as (function none :behavior green-eco-lurker) transform-post) ) (defstate nav-enemy-patrol (green-eco-lurker) :virtual #t - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-patrol) code))) (if t9-1 @@ -635,15 +613,13 @@ (defstate nav-enemy-chase (green-eco-lurker) :virtual #t - :code - (behavior () + :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (cond ((ja-group? green-eco-lurker-jump-land-ja) (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info run-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info run-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -670,12 +646,10 @@ (defstate nav-enemy-jump-land (green-eco-lurker) :virtual #t - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.075)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info jump-land-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info jump-land-anim)) :num! (seek! (ja-aframe 32.0 0) 0.5) :frame-num 0.0 ) @@ -691,26 +665,18 @@ (defstate nav-enemy-die (green-eco-lurker) :virtual #t - :enter - (behavior () + :enter (behavior () (send-event (ppointer->process (-> self parent)) 'blob-died) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 643) - -1 - #f - #f - #f - (-> self collide-info trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 643) + -1 + #f + #f + #f + (-> self collide-info trans) + :to *entity-pool* ) (sound-play-by-name (static-sound-name "blob-explode") (new-sound-id) 1024 0 0 1 #t) (activate! *camera-smush-control* 409.6 37 150 1.0 0.99) @@ -833,8 +799,7 @@ ) (defstate spawn-minions (green-eco-lurker-gen) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('blob-died) (set! (-> self num-alive) (max 0 (+ (-> self num-alive) -1))) @@ -845,8 +810,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (while (< (-> self num-spawned) (-> self num-to-spawn)) (when (< (-> self num-alive) 3) (when (nonzero? (-> self num-spawned)) @@ -858,15 +822,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self root trans quad)) (set! (-> gp-0 y) (+ -16384.0 (-> gp-0 y))) - (let ((s5-0 (get-process *default-dead-pool* green-eco-lurker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type green-eco-lurker activate))) - (t9-1 (the-as green-eco-lurker s5-0) self 'green-eco-lurker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 green-eco-lurker-init-by-other (-> self entity) self gp-0) - (-> s5-0 ppointer) - ) - ) + (process-spawn green-eco-lurker (-> self entity) self gp-0 :to self) ) (+! (-> self num-spawned) 1) (+! (-> self num-alive) 1) diff --git a/goal_src/levels/finalboss/light-eco.gc b/goal_src/levels/finalboss/light-eco.gc index 059c93069a..c3cbb956e5 100644 --- a/goal_src/levels/finalboss/light-eco.gc +++ b/goal_src/levels/finalboss/light-eco.gc @@ -6,6 +6,7 @@ ;; dgos: FIN, L1 ;; DECOMP BEGINS + (import "goal_src/import/light-eco-ag.gc") (deftype light-eco-child (process-drawable) @@ -73,13 +74,11 @@ :id 690 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 32) - :parts - ((sp-item 2902) (sp-item 2900) (sp-item 2897) (sp-item 2898)) + :parts ((sp-item 2902) (sp-item 2900) (sp-item 2897) (sp-item 2898)) ) (defpart 2897 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-scale-x (meters 10.5) (meters 4.5) 1.0) (sp-int spt-rot-x 4) @@ -101,13 +100,11 @@ ) (defpart 2899 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) (defpart 2898 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-scale-x (meters 20) (meters 4.5) 1.0) (sp-int spt-rot-x 4) @@ -128,8 +125,7 @@ ) (defpart 2900 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) @@ -154,13 +150,11 @@ ) (defpart 2901 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) (defpart 2902 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 8.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -186,8 +180,7 @@ ) (defpart 2903 - :init-specs - ((sp-flt spt-userdata 2252800.0)) + :init-specs ((sp-flt spt-userdata 2252800.0)) ) (defun check-drop-level-lighteco-big-pops ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) @@ -217,8 +210,7 @@ ) (defpart 2905 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -234,8 +226,7 @@ ) (defpart 2904 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 4.0 4.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -257,21 +248,18 @@ :id 691 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 32) - :parts - ((sp-item 2902) (sp-item 2900) (sp-item 2897) (sp-item 2898)) + :parts ((sp-item 2902) (sp-item 2900) (sp-item 2897) (sp-item 2898)) ) (defpartgroup group-light-eco-child :id 692 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 2906) (sp-item 2907)) + :parts ((sp-item 2906) (sp-item 2907)) ) (defpart 2907 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.025 0.025 1.0) (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) @@ -296,13 +284,11 @@ ) (defpart 2908 - :init-specs - ((sp-flt spt-fade-a -0.85333335)) + :init-specs ((sp-flt spt-fade-a -0.85333335)) ) (defpart 2906 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -327,8 +313,7 @@ ) (defpart 2909 - :init-specs - ((sp-flt spt-userdata 2048000.0)) + :init-specs ((sp-flt spt-userdata 2048000.0)) ) (defun check-drop-level-lighteco-pops ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) @@ -358,8 +343,7 @@ ) (defpart 2911 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -375,8 +359,7 @@ ) (defpart 2910 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 4.0 4.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -426,15 +409,12 @@ ) (defstate light-eco-child-appear (light-eco-child) - :event - light-eco-child-default-event-handler - :enter - (behavior () + :event light-eco-child-default-event-handler + :enter (behavior () (set! (-> self falling-start-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (fmin (the float (- (-> *display* base-frame-counter) (-> self falling-start-time))) (-> self traj time)) ) @@ -447,28 +427,23 @@ (common-trans self) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (ja :num! (loop!)) ) (none) ) - :post - (the-as (function none :behavior light-eco-child) transform-post) + :post (the-as (function none :behavior light-eco-child) transform-post) ) (defstate light-eco-child-hit-ground (light-eco-child) - :event - light-eco-child-default-event-handler - :enter - (behavior () + :event light-eco-child-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (+ (-> self root-override transv y) (* -544768.0 (-> *display* seconds-per-frame))))) (when (and (< f30-0 0.0) (>= (-> self ground-y) (-> self root-override trans y))) (if (>= 4096.0 (fabs f30-0)) @@ -501,49 +476,41 @@ (common-trans self) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (ja :num! (loop!)) ) (none) ) - :post - (the-as (function none :behavior light-eco-child) transform-post) + :post (the-as (function none :behavior light-eco-child) transform-post) ) (defstate light-eco-child-idle (light-eco-child) - :event - light-eco-child-default-event-handler - :enter - (behavior () + :event light-eco-child-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 4)) (go light-eco-child-die) ) (common-trans self) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (ja :num! (loop!)) ) (none) ) - :post - (the-as (function none :behavior light-eco-child) transform-post) + :post (the-as (function none :behavior light-eco-child) transform-post) ) (defstate light-eco-child-die (light-eco-child) - :code - (behavior () + :code (behavior () (send-event (ppointer->process (-> self parent)) 'untrigger (-> self angle-bit)) (clear-collide-with-as (-> self root-override)) (logior! (-> self draw status) (draw-status hidden)) @@ -556,8 +523,7 @@ ) (defstate light-eco-child-grabbed (light-eco-child) - :code - (behavior () + :code (behavior () (suspend) 0 (none) @@ -669,15 +635,7 @@ (set! (-> s4-0 y) 1974272.0) (when (or (not *target*) (>= (vector-vector-xz-distance s4-0 (target-pos 0)) 49152.0)) (logior! (-> obj angle-mask) (ash 1 gp-0)) - (let ((s3-1 (get-process *default-dead-pool* light-eco-child #x4000))) - (when s3-1 - (let ((t9-7 (method-of-type light-eco-child activate))) - (t9-7 (the-as light-eco-child s3-1) obj 'light-eco-child (the-as pointer #x70004000)) - ) - (run-now-in-process s3-1 light-eco-child-init-by-other (-> obj entity) (-> obj root trans) s4-0 gp-0) - (-> s3-1 ppointer) - ) - ) + (process-spawn light-eco-child (-> obj entity) (-> obj root trans) s4-0 gp-0 :to obj) (return #t) ) ) @@ -689,49 +647,43 @@ (defbehavior light-eco-mother-default-event-handler light-eco-mother ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as int (cond - ((= v1-0 'untrigger) - (the-as int (when (= (-> arg0 type) light-eco-child) - (let* ((a1-3 (-> arg3 param 0)) - (v0-0 (logxor (-> self angle-mask) (ash 1 a1-3))) - ) - (set! (-> self angle-mask) v0-0) - v0-0 - ) - ) - ) - ) - ((= v1-0 'trigger) - (the-as int (when (not (-> self player-got-eco?)) - (set! (-> self player-got-eco?) #t) - (let ((a1-5 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-5 from) self) - (set! (-> a1-5 num-params) 0) - (set! (-> a1-5 message) 'white-eco-picked-up) - (the-as int (send-event-function (ppointer->process (-> self parent)) a1-5)) - ) - ) - ) - ) - ((= v1-0 'beam-off) - (the-as int (go light-eco-mother-discipate)) - ) - ) - ) + (the-as + int + (cond + ((= v1-0 'untrigger) + (the-as int (when (= (-> arg0 type) light-eco-child) + (let* ((a1-3 (-> arg3 param 0)) + (v0-0 (logxor (-> self angle-mask) (ash 1 a1-3))) + ) + (set! (-> self angle-mask) v0-0) + v0-0 + ) + ) + ) + ) + ((= v1-0 'trigger) + (the-as int (when (not (-> self player-got-eco?)) + (set! (-> self player-got-eco?) #t) + (the-as int (send-event (ppointer->process (-> self parent)) 'white-eco-picked-up)) + ) + ) + ) + ((= v1-0 'beam-off) + (the-as int (go light-eco-mother-discipate)) + ) + ) + ) ) ) (defstate light-eco-mother-appear (light-eco-mother) - :event - light-eco-mother-default-event-handler - :trans - (behavior () + :event light-eco-mother-default-event-handler + :trans (behavior () (common-trans self) (spawn (-> self part2) (-> self root trans)) (none) ) - :code - (behavior () + :code (behavior () (while (!= (-> self root scale x) 12.0) (let ((f0-3 (seek-with-smooth (-> self root scale x) 12.0 (* 6.0 (-> *display* seconds-per-frame)) 0.25 0.001))) (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) @@ -742,42 +694,34 @@ (go light-eco-mother-active) (none) ) - :post - (the-as (function none :behavior light-eco-mother) ja-post) + :post (the-as (function none :behavior light-eco-mother) ja-post) ) (defstate light-eco-mother-active (light-eco-mother) - :event - light-eco-mother-default-event-handler - :trans - (behavior () + :event light-eco-mother-default-event-handler + :trans (behavior () (common-trans self) (spawn (-> self part) (-> self root trans)) 0 (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (ja :num! (loop!)) ) (none) ) - :post - (the-as (function none :behavior light-eco-mother) ja-post) + :post (the-as (function none :behavior light-eco-mother) ja-post) ) (defstate light-eco-mother-discipate (light-eco-mother) - :event - light-eco-mother-default-event-handler - :trans - (behavior () + :event light-eco-mother-default-event-handler + :trans (behavior () (common-trans self) (none) ) - :code - (behavior () + :code (behavior () (while (!= (-> self root scale x) 0.0) (let ((f0-3 (seek-with-smooth (-> self root scale x) 0.0 (* 12.0 (-> *display* seconds-per-frame)) 0.5 0.001))) (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) @@ -791,8 +735,7 @@ ) (none) ) - :post - (the-as (function none :behavior light-eco-mother) ja-post) + :post (the-as (function none :behavior light-eco-mother) ja-post) ) (defmethod deactivate light-eco-mother ((obj light-eco-mother)) diff --git a/goal_src/levels/finalboss/robotboss-h.gc b/goal_src/levels/finalboss/robotboss-h.gc index f3ceb70b1f..2aceed64a9 100644 --- a/goal_src/levels/finalboss/robotboss-h.gc +++ b/goal_src/levels/finalboss/robotboss-h.gc @@ -6,6 +6,7 @@ ;; dgos: FIN, L1 ;; DECOMP BEGINS + (import "goal_src/import/robotboss-ag.gc") (deftype robotboss-dda (structure) @@ -126,16 +127,10 @@ ) (defbehavior target-has-all-the-cells? process () - (the-as symbol (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 6)) - (>= (the int (the-as float (send-event-function *target* a1-0))) 100) - ) - ) - ) + (the-as + symbol + (and *target* (>= (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 100)) + ) ) (defskelgroup *robotboss-sg* robotboss robotboss-basic-lod0-jg robotboss-idle-ja diff --git a/goal_src/levels/finalboss/robotboss-misc.gc b/goal_src/levels/finalboss/robotboss-misc.gc index c7f33e8ff6..bb1b174db5 100644 --- a/goal_src/levels/finalboss/robotboss-misc.gc +++ b/goal_src/levels/finalboss/robotboss-misc.gc @@ -10,6 +10,7 @@ ;; DECOMP BEGINS + (import "goal_src/import/silodoor-ag.gc") (import "goal_src/import/ecoclaw-ag.gc") (import "goal_src/import/finalbosscam-ag.gc") @@ -21,8 +22,7 @@ ) (defstate cam-robotboss (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('set-pivot) (let ((v0-0 (the-as object (-> self pivot-pt)))) @@ -38,8 +38,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (cond ((-> self enter-has-run) ) @@ -53,16 +52,14 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (when (zero? (logand (-> *camera* master-options) 2)) (set! *camera-base-mode* cam-string) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (when #t (let ((a2-0 (new-stack-vector0))) @@ -229,10 +226,8 @@ ) (defstate ecoclaw-activate (ecoclaw) - :event - ecoclaw-handler - :trans - (behavior () + :event ecoclaw-handler + :trans (behavior () (if (-> self particles 1 kind) (draw-eco-beam (the-as vector (&-> self stack 112)) (the-as vector (&-> self stack 144))) ) @@ -244,34 +239,25 @@ ) ) ((-> self particles gp-0 kind) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self particles gp-0 tracker) - (ppointer->handle (when s5-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 (the-as part-tracker s5-0) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - part-tracker-init - (-> self particles gp-0 kind) - -1 - ecoclaw-beam-particle-callback - (-> self ppointer) - #f - (&+ (&-> self stack 80) (* gp-0 32)) - ) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> self particles gp-0 tracker) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> self particles gp-0 kind) + -1 + ecoclaw-beam-particle-callback + (-> self ppointer) + #f + (&+ (&-> self stack 80) (* gp-0 32)) + :to self + ) + ) + ) ) ) ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -282,15 +268,12 @@ ) (none) ) - :post - (the-as (function none :behavior ecoclaw) ja-post) + :post (the-as (function none :behavior ecoclaw) ja-post) ) (defstate ecoclaw-idle (ecoclaw) - :event - ecoclaw-handler - :code - (behavior () + :event ecoclaw-handler + :code (behavior () (loop (if (-> self particles 0 kind) (go ecoclaw-activate) @@ -299,8 +282,7 @@ ) (none) ) - :post - (the-as (function none :behavior ecoclaw) ja-post) + :post (the-as (function none :behavior ecoclaw) ja-post) ) (defmethod init-from-entity! ecoclaw ((obj ecoclaw) (arg0 entity-actor)) @@ -337,8 +319,7 @@ (defstate idle (silodoor) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('open) (let ((f0-0 (the-as float (-> arg3 param 0)))) @@ -351,10 +332,8 @@ ) ) ) - :trans - (the-as (function none :behavior silodoor) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior silodoor) rider-trans) + :code (behavior () (loop (when (not (movie?)) (ja :num! (seek! (* (-> self part-opened) (the float (ja-num-frames 0))) 0.01)) @@ -373,8 +352,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (if (and (< (vector-vector-xz-distance (target-pos 0) (-> self root trans)) 57344.0) (not (ja-min? 0))) (rider-post) (transform-post) @@ -385,8 +363,7 @@ (defstate hidden (silodoor) :virtual #t - :code - (behavior () + :code (behavior () (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) @@ -498,19 +475,9 @@ (defmethod play-anim! finalbosscam ((obj finalbosscam) (arg0 symbol)) (when arg0 - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj robotboss) - (ppointer->handle - (when s5-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 (the-as manipy s5-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> obj root-override trans) (-> obj entity) *robotboss-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> obj robotboss) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *robotboss-sg* #f :to obj)) + ) (send-event (handle->process (-> obj robotboss)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj robotboss)) 'center-joint 3) (send-event (handle->process (-> obj robotboss)) 'origin-joint-index 3) @@ -543,8 +510,7 @@ (defstate play-anim (finalbosscam) :virtual #t - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self robotboss)))) (if a0-1 (deactivate a0-1) diff --git a/goal_src/levels/finalboss/robotboss-part.gc b/goal_src/levels/finalboss/robotboss-part.gc index 0a7d15ff3a..3570d69840 100644 --- a/goal_src/levels/finalboss/robotboss-part.gc +++ b/goal_src/levels/finalboss/robotboss-part.gc @@ -11,8 +11,7 @@ :id 636 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 34) - :parts - ((sp-item 2680) + :parts ((sp-item 2680) (sp-item 2545 :binding 2542) (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2543) (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2544) @@ -45,8 +44,7 @@ :id 637 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 34) - :parts - ((sp-item 2681) + :parts ((sp-item 2681) (sp-item 2682 :period 336 :length 5) (sp-item 2682 :period 140 :length 5) (sp-item 2682 :period 61 :length 5) @@ -56,8 +54,7 @@ ) (defpart 2681 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 0.1 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) @@ -78,8 +75,7 @@ ) (defpart 2683 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters -2.5) (meters 1) 1.0) @@ -112,13 +108,11 @@ ) (defpart 2684 - :init-specs - ((sp-flt spt-fade-a -0.07111111)) + :init-specs ((sp-flt spt-fade-a -0.07111111)) ) (defpart 2549 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.25) (sp-rnd-flt spt-scale-x (meters 5) (meters 8) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -134,8 +128,7 @@ ) (defpart 2682 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 2.0 6.0 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.5) 1.0) @@ -161,8 +154,7 @@ ) (defpart 2545 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.025) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -182,8 +174,7 @@ ) (defpart 2542 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -205,8 +196,7 @@ ) (defpart 2543 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -225,8 +215,7 @@ ) (defpart 2544 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -245,8 +234,7 @@ ) (defpart 2546 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) (sp-rnd-flt spt-scale-y (meters 0.3) (meters 0.4) 1.0) @@ -266,8 +254,7 @@ ) (defpart 2548 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.25) (sp-rnd-flt spt-scale-x (meters 6) (meters 3) 1.0) (sp-rnd-flt spt-scale-y (meters 4) (meters 3) 1.0) @@ -287,8 +274,7 @@ ) (defpart 2547 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 5) (meters 8) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -304,8 +290,7 @@ ) (defpart 2680 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -323,8 +308,7 @@ :id 644 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2591 :period 600 :length 5) + :parts ((sp-item 2591 :period 600 :length 5) (sp-item 2592 :period 600 :length 40) (sp-item 2593 :period 600 :length 40) (sp-item 2594 :period 600 :length 40) @@ -332,8 +316,7 @@ ) (defpart 2592 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.8) (meters 1.6) 1.0) @@ -361,13 +344,11 @@ ) (defpart 2595 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) ) (defpart 2594 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.8)) @@ -388,8 +369,7 @@ ) (defpart 2591 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 64)) @@ -405,8 +385,7 @@ ) (defpart 2593 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -433,8 +412,7 @@ ) (defpart 2596 - :init-specs - ((sp-flt spt-fade-r -2.1333334) + :init-specs ((sp-flt spt-fade-r -2.1333334) (sp-flt spt-fade-g -1.0666667) (sp-flt spt-fade-b 0.0) (sp-int spt-next-time 60) @@ -443,8 +421,7 @@ ) (defpart 2597 - :init-specs - ((sp-flt spt-fade-r 0.0) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g -0.28444445) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.42666668) @@ -454,16 +431,14 @@ ) (defpart 2598 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpartgroup group-robotboss-blue-smoke :id 645 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2685 :period 36 :length 5) + :parts ((sp-item 2685 :period 36 :length 5) (sp-item 2685 :period 140 :length 5) (sp-item 2685 :period 61 :length 5) (sp-item 2599 :period 15 :length 5) @@ -472,8 +447,7 @@ ) (defpart 2686 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 4) (meters 16) 1.0) @@ -489,8 +463,7 @@ ) (defpart 2599 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -516,8 +489,7 @@ ) (defpart 2685 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-int spt-num 0 1 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1) 1.0) @@ -548,13 +520,11 @@ :id 638 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2600 :period 600 :length 5) (sp-item 2602 :period 600 :length 40)) + :parts ((sp-item 2600 :period 600 :length 5) (sp-item 2602 :period 600 :length 40)) ) (defpart 2600 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 64)) @@ -570,8 +540,7 @@ ) (defpart 2602 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 8.0 1.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 8) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -600,8 +569,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2753) + :parts ((sp-item 2753) (sp-item 2754) (sp-item 2755 :fade-after (meters 120) :falloff-to (meters 140) :binding 2752) (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) @@ -623,8 +591,7 @@ ) (defpart 2755 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) @@ -640,8 +607,7 @@ ) (defpart 2752 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters 2.25)) (sp-rnd-flt spt-scale-x (meters 4) (meters 1) 1.0) @@ -661,8 +627,7 @@ ) (defpart 2753 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-flt spt-y (meters 4)) (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 1.0) @@ -679,8 +644,7 @@ ) (defpart 2754 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-flt spt-y (meters -3)) (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 1.0) @@ -702,13 +666,11 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2756) (sp-item 2757) (sp-item 2758) (sp-item 2759)) + :parts ((sp-item 2756) (sp-item 2757) (sp-item 2758) (sp-item 2759)) ) (defpart 2759 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 10) (meters 16) 1.0) @@ -725,8 +687,7 @@ ) (defpart 2758 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 16) (meters 6) 1.0) @@ -746,8 +707,7 @@ ) (defpart 2757 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 16) (meters 6) 1.0) @@ -767,8 +727,7 @@ ) (defpart 2756 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 16) (meters 6) 1.0) @@ -791,8 +750,7 @@ :id 619 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2500 :flags (is-3d) :period 900 :length 5) + :parts ((sp-item 2500 :flags (is-3d) :period 900 :length 5) (sp-item 2501 :period 900 :length 5) (sp-item 2502 :period 900 :length 40) (sp-item 2503 :period 900 :length 20 :binding 2499) @@ -818,8 +776,7 @@ ) (defpart 2503 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0) @@ -844,8 +801,7 @@ ) (defpart 2499 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -866,13 +822,11 @@ ) (defpart 2506 - :init-specs - ((sp-flt spt-fade-r -0.14222223) (sp-flt spt-fade-g -0.14222223) (sp-flt spt-fade-b -0.14222223)) + :init-specs ((sp-flt spt-fade-r -0.14222223) (sp-flt spt-fade-g -0.14222223) (sp-flt spt-fade-b -0.14222223)) ) (defpart 2502 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 64.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 2.6) (meters 2) 1.0) @@ -900,13 +854,11 @@ ) (defpart 2507 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334)) ) (defpart 2505 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.2) 1.0) @@ -927,8 +879,7 @@ ) (defpart 2501 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 160)) @@ -945,8 +896,7 @@ ) (defpart 2504 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 32.0) (sp-flt spt-y (meters 10)) (sp-rnd-flt spt-scale-x (meters 20) (meters 16) 1.0) @@ -973,8 +923,7 @@ ) (defpart 2508 - :init-specs - ((sp-flt spt-fade-r -1.6) + :init-specs ((sp-flt spt-fade-r -1.6) (sp-flt spt-fade-g -1.6) (sp-flt spt-fade-b -1.0666667) (sp-int spt-next-time 60) @@ -983,8 +932,7 @@ ) (defpart 2509 - :init-specs - ((sp-flt spt-fade-r -0.26666668) + :init-specs ((sp-flt spt-fade-r -0.26666668) (sp-flt spt-fade-g -0.26666668) (sp-flt spt-fade-b -0.17777778) (sp-flt spt-fade-a -0.16) @@ -994,13 +942,11 @@ ) (defpart 2510 - :init-specs - ((sp-flt spt-fade-r -0.114285715) (sp-flt spt-fade-g -0.114285715) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r -0.114285715) (sp-flt spt-fade-g -0.114285715) (sp-flt spt-fade-b 0.0)) ) (defpart 2500 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 10)) (sp-flt spt-scale-x (meters 30)) @@ -1020,16 +966,14 @@ ) (defpart 2511 - :init-specs - ((sp-flt spt-fade-a -1.4222223)) + :init-specs ((sp-flt spt-fade-a -1.4222223)) ) (defpartgroup group-robotboss-greenshot-launch :id 640 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2799 :period 600 :length 10) + :parts ((sp-item 2799 :period 600 :length 10) (sp-item 2800 :period 600 :length 10) (sp-item 2801 :period 600 :length 20) (sp-item 2802 :period 600 :length 10) @@ -1037,8 +981,7 @@ ) (defpart 2800 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 32) (meters 128) 1.0) (sp-int spt-rot-x 4) @@ -1060,13 +1003,11 @@ ) (defpart 2803 - :init-specs - ((sp-flt spt-fade-a -1.6)) + :init-specs ((sp-flt spt-fade-a -1.6)) ) (defpart 2801 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 32) (meters 32) 1.0) (sp-int spt-rot-x 4) @@ -1087,8 +1028,7 @@ ) (defpart 2802 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 100)) (sp-flt spt-rot-z (degrees 0.0)) @@ -1107,8 +1047,7 @@ ) (defpart 2799 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 6)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1131,8 +1070,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2769 :binding 2766) + :parts ((sp-item 2769 :binding 2766) (sp-item 2766 :flags (bit1 start-dead launch-asap) :binding 2767) (sp-item 2767 :flags (start-dead) :binding 2768) (sp-item 2768 :flags (start-dead launch-asap)) @@ -1185,8 +1123,7 @@ ) (defpart 2769 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.1)) @@ -1200,8 +1137,7 @@ ) (defpart 2766 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -1224,8 +1160,7 @@ ) (defpart 2770 - :init-specs - ((sp-rnd-flt spt-scale-x (meters 3) (meters 2) 1.0) + :init-specs ((sp-rnd-flt spt-scale-x (meters 3) (meters 2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 128.0 128.0 1.0) @@ -1237,8 +1172,7 @@ ) (defpart 2767 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 4)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1263,13 +1197,11 @@ ) (defpart 2771 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpart 2768 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 5.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1300,13 +1232,11 @@ :id 646 :duration 900 :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2699) (sp-item 2700) (sp-item 2701)) + :parts ((sp-item 2699) (sp-item 2700) (sp-item 2701)) ) (defpart 2699 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -1328,13 +1258,11 @@ ) (defpart 2703 - :init-specs - ((sp-flt spt-fade-a -1.4222221)) + :init-specs ((sp-flt spt-fade-a -1.4222221)) ) (defpart 2700 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 32) 1.0) (sp-int spt-rot-x 4) @@ -1355,8 +1283,7 @@ ) (defpart 2701 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1377,8 +1304,7 @@ :id 641 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2805 :period 600 :length 10) + :parts ((sp-item 2805 :period 600 :length 10) (sp-item 2806 :period 600 :length 10) (sp-item 2807 :period 600 :length 20) (sp-item 2808 :period 600 :length 10) @@ -1386,8 +1312,7 @@ ) (defpart 2806 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 32) (meters 128) 1.0) (sp-int spt-rot-x 4) @@ -1409,13 +1334,11 @@ ) (defpart 2809 - :init-specs - ((sp-flt spt-fade-a -1.6)) + :init-specs ((sp-flt spt-fade-a -1.6)) ) (defpart 2807 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 32) (meters 32) 1.0) (sp-int spt-rot-x 4) @@ -1436,8 +1359,7 @@ ) (defpart 2808 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 100)) (sp-flt spt-rot-z (degrees 0.0)) @@ -1456,8 +1378,7 @@ ) (defpart 2805 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 6)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1480,13 +1401,11 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2709) (sp-item 2710) (sp-item 2711)) + :parts ((sp-item 2709) (sp-item 2710) (sp-item 2711)) ) (defpart 2710 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.4) 1.0) @@ -1502,8 +1421,7 @@ ) (defpart 2711 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 6) (meters 0.8) 1.0) @@ -1519,8 +1437,7 @@ ) (defpart 2709 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 0.6)) @@ -1547,13 +1464,11 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2712) (sp-item 2713) (sp-item 2714 :period 45 :length 5)) + :parts ((sp-item 2712) (sp-item 2713) (sp-item 2714 :period 45 :length 5)) ) (defpart 2714 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 10) (meters 5) 1.0) @@ -1575,8 +1490,7 @@ ) (defpart 2712 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 8.0 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) @@ -1598,8 +1512,7 @@ ) (defpart 2713 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-rnd-flt spt-num 2.0 16.0 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) @@ -1626,13 +1539,11 @@ :id 648 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2626 :flags (is-3d))) + :parts ((sp-item 2626 :flags (is-3d))) ) (defpart 2626 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 10)) (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) @@ -1652,13 +1563,11 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2772)) + :parts ((sp-item 2772)) ) (defpart 2772 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1679,8 +1588,7 @@ :id 649 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2629 :period 600 :length 5) + :parts ((sp-item 2629 :period 600 :length 5) (sp-item 2630 :period 600 :length 40) (sp-item 2631 :period 600 :length 40) (sp-item 2632 :period 600 :length 40) @@ -1688,8 +1596,7 @@ ) (defpart 2630 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.8) (meters 1.6) 1.0) @@ -1717,13 +1624,11 @@ ) (defpart 2633 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) ) (defpart 2632 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.8)) @@ -1744,8 +1649,7 @@ ) (defpart 2629 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 64)) @@ -1761,8 +1665,7 @@ ) (defpart 2631 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1789,8 +1692,7 @@ ) (defpart 2634 - :init-specs - ((sp-flt spt-fade-r 0.0) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g -1.0666667) (sp-flt spt-fade-b -2.1333334) (sp-int spt-next-time 60) @@ -1799,8 +1701,7 @@ ) (defpart 2635 - :init-specs - ((sp-flt spt-fade-r 0.0) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g -0.28444445) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.42666668) @@ -1810,16 +1711,14 @@ ) (defpart 2636 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpartgroup group-robotboss-red-smoke :id 650 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2776 :period 36 :length 5) + :parts ((sp-item 2776 :period 36 :length 5) (sp-item 2776 :period 140 :length 5) (sp-item 2776 :period 61 :length 5) (sp-item 2637 :period 15 :length 5) @@ -1828,8 +1727,7 @@ ) (defpart 2777 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0) (meters 4) 1.0) @@ -1845,8 +1743,7 @@ ) (defpart 2637 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 4) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1869,8 +1766,7 @@ ) (defpart 2776 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-int spt-num 0 1 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1) 1.0) @@ -1901,8 +1797,7 @@ :id 642 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2778 :period 600 :length 10) + :parts ((sp-item 2778 :period 600 :length 10) (sp-item 2779 :period 600 :length 10) (sp-item 2780 :period 600 :length 20) (sp-item 2781 :period 600 :length 10) @@ -1910,8 +1805,7 @@ ) (defpart 2779 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 32) (meters 128) 1.0) (sp-int spt-rot-x 4) @@ -1933,13 +1827,11 @@ ) (defpart 2782 - :init-specs - ((sp-flt spt-fade-a -1.6)) + :init-specs ((sp-flt spt-fade-a -1.6)) ) (defpart 2780 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 32) (meters 32) 1.0) (sp-int spt-rot-x 4) @@ -1960,8 +1852,7 @@ ) (defpart 2781 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 100)) (sp-flt spt-rot-z (degrees 0.0)) @@ -1980,8 +1871,7 @@ ) (defpart 2778 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 6)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2004,13 +1894,11 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2811) (sp-item 2812) (sp-item 2813)) + :parts ((sp-item 2811) (sp-item 2812) (sp-item 2813)) ) (defpart 2811 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-scale-x (meters 16) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -2032,13 +1920,11 @@ ) (defpart 2814 - :init-specs - ((sp-flt spt-fade-a -1.4222221)) + :init-specs ((sp-flt spt-fade-a -1.4222221)) ) (defpart 2812 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 32) 1.0) (sp-int spt-rot-x 4) @@ -2059,8 +1945,7 @@ ) (defpart 2813 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 10) (meters 2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2082,13 +1967,11 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2815) (sp-item 2816) (sp-item 2817) (sp-item 2818) (sp-item 2819)) + :parts ((sp-item 2815) (sp-item 2816) (sp-item 2817) (sp-item 2818) (sp-item 2819)) ) (defpart 2816 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2110,8 +1993,7 @@ ) (defpart 2819 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 8.0 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 8) (meters 4) 1.0) @@ -2132,8 +2014,7 @@ ) (defpart 2815 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-rnd-flt spt-num 2.0 16.0 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) @@ -2158,8 +2039,7 @@ ) (defpart 2817 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2178,8 +2058,7 @@ ) (defpart 2818 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 10) (meters 1.6) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2197,8 +2076,7 @@ :id 653 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2648 :period 600 :length 5) + :parts ((sp-item 2648 :period 600 :length 5) (sp-item 2649 :period 600 :length 40) (sp-item 2650 :period 600 :length 40) (sp-item 2651 :period 600 :length 40) @@ -2206,8 +2084,7 @@ ) (defpart 2649 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 1) (meters 2) 1.0) @@ -2235,13 +2112,11 @@ ) (defpart 2652 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) ) (defpart 2651 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.8)) @@ -2262,8 +2137,7 @@ ) (defpart 2648 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 128)) @@ -2279,8 +2153,7 @@ ) (defpart 2650 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 16) (meters 8) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2307,8 +2180,7 @@ ) (defpart 2653 - :init-specs - ((sp-flt spt-fade-r 0.0) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g -1.0666667) (sp-flt spt-fade-b -2.1333334) (sp-int spt-next-time 60) @@ -2317,8 +2189,7 @@ ) (defpart 2654 - :init-specs - ((sp-flt spt-fade-r -0.28444445) + :init-specs ((sp-flt spt-fade-r -0.28444445) (sp-flt spt-fade-g -0.28444445) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.42666668) @@ -2328,16 +2199,14 @@ ) (defpart 2655 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpartgroup group-robotboss-yellow-smoke :id 654 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2820 :period 36 :length 5) + :parts ((sp-item 2820 :period 36 :length 5) (sp-item 2820 :period 140 :length 5) (sp-item 2820 :period 61 :length 5) (sp-item 2656 :period 15 :length 5) @@ -2346,8 +2215,7 @@ ) (defpart 2821 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0) (meters 4) 1.0) @@ -2363,8 +2231,7 @@ ) (defpart 2656 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2387,8 +2254,7 @@ ) (defpart 2820 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-int spt-num 0 2 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1) 1.0) @@ -2418,8 +2284,7 @@ (defpartgroup group-white-eco :id 655 :bounds (static-bspherem 0 0.5 0 1.5) :parts ((sp-item 2852))) (defpart 2852 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-int spt-rot-x 16) (sp-flt spt-r 4096.0) (sp-flt spt-g 3276.8) @@ -2434,8 +2299,7 @@ ) (defpart 2657 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-int spt-rot-x 4) @@ -2458,13 +2322,11 @@ ) (defpart 2661 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) (defpart 2658 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-int spt-rot-x 4) @@ -2486,8 +2348,7 @@ ) (defpart 2659 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.0) (sp-flt spt-scale-x (meters 3.5)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2504,8 +2365,7 @@ ) (defpart 2660 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.0) (sp-flt spt-scale-x (meters 4)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2525,8 +2385,7 @@ :id 666 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2719 :binding 2716) + :parts ((sp-item 2719 :binding 2716) (sp-item 2716 :flags (bit1 start-dead launch-asap) :binding 2717) (sp-item 2716 :flags (bit1 start-dead launch-asap) :binding 2718) (sp-item 2716 :flags (bit1 start-dead launch-asap) :binding 2717) @@ -2547,13 +2406,11 @@ :id 667 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 2723 :flags (is-3d))) + :parts ((sp-item 2723 :flags (is-3d))) ) (defpart 2723 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) @@ -2571,8 +2428,7 @@ ) (defpart 2719 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.01) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2592,8 +2448,7 @@ ) (defpart 2716 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -2615,8 +2470,7 @@ ) (defpart 2717 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -2635,8 +2489,7 @@ ) (defpart 2718 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -2655,8 +2508,7 @@ ) (defpart 2720 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.85) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.5) 1.0) @@ -2676,8 +2528,7 @@ ) (defpart 2722 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2697,8 +2548,7 @@ ) (defpart 2721 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 4) (meters 8) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2717,8 +2567,7 @@ :id 668 :flags (use-local-clock) :bounds (static-bspherem 0 23 0 64) - :parts - ((sp-item 2726 :binding 2724) + :parts ((sp-item 2726 :binding 2724) (sp-item 2724 :flags (bit1 start-dead launch-asap) :binding 2725) (sp-item 2724 :flags (bit1 start-dead launch-asap) :binding 2725) (sp-item 2724 :flags (bit1 start-dead launch-asap) :binding 2725) @@ -2735,8 +2584,7 @@ ) (defpart 2730 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) @@ -2754,8 +2602,7 @@ ) (defpart 2726 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.02) (sp-rnd-flt spt-scale-x (meters 6) (meters 3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2774,8 +2621,7 @@ ) (defpart 2724 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -2797,8 +2643,7 @@ ) (defpart 2725 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2822,8 +2667,7 @@ ) (defpart 2727 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.85) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.5) 1.0) @@ -2843,8 +2687,7 @@ ) (defpart 2729 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2863,8 +2706,7 @@ ) (defpart 2728 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 4) (meters 8) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2883,8 +2725,7 @@ :id 670 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2733 :binding 2731) + :parts ((sp-item 2733 :binding 2731) (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) @@ -2906,13 +2747,11 @@ :id 671 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 2737 :flags (is-3d))) + :parts ((sp-item 2737 :flags (is-3d))) ) (defpart 2737 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) @@ -2930,8 +2769,7 @@ ) (defpart 2733 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.025) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2951,8 +2789,7 @@ ) (defpart 2731 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -2974,8 +2811,7 @@ ) (defpart 2732 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2994,8 +2830,7 @@ ) (defpart 2734 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.85) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.5) 1.0) @@ -3015,8 +2850,7 @@ ) (defpart 2736 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.7) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -3036,8 +2870,7 @@ ) (defpart 2735 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.7) (sp-rnd-flt spt-scale-x (meters 4) (meters 8) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -3056,8 +2889,7 @@ :id 672 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2740 :binding 2738) + :parts ((sp-item 2740 :binding 2738) (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) @@ -3079,13 +2911,11 @@ :id 673 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 2744 :flags (is-3d))) + :parts ((sp-item 2744 :flags (is-3d))) ) (defpart 2744 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) @@ -3103,8 +2933,7 @@ ) (defpart 2740 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.025) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -3124,8 +2953,7 @@ ) (defpart 2738 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -3147,8 +2975,7 @@ ) (defpart 2739 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -3166,8 +2993,7 @@ ) (defpart 2741 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.85) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.5) 1.0) @@ -3187,8 +3013,7 @@ ) (defpart 2743 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-scale-x (meters 4) (meters 1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -3208,8 +3033,7 @@ ) (defpart 2742 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 4) (meters 8) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -3229,8 +3053,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2324)) + :parts ((sp-item 2324)) ) (defpartgroup group-robotboss-green-claw-glow @@ -3238,8 +3061,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2324)) + :parts ((sp-item 2324)) ) (defpartgroup group-robotboss-red-claw-glow @@ -3247,8 +3069,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2324)) + :parts ((sp-item 2324)) ) (defpartgroup group-robotboss-yellow-claw-glow @@ -3256,8 +3077,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2324)) + :parts ((sp-item 2324)) ) 0 diff --git a/goal_src/levels/finalboss/robotboss-weapon.gc b/goal_src/levels/finalboss/robotboss-weapon.gc index 7df4bafbef..24e97ff078 100644 --- a/goal_src/levels/finalboss/robotboss-weapon.gc +++ b/goal_src/levels/finalboss/robotboss-weapon.gc @@ -6,9 +6,10 @@ ;; dgos: FIN, L1 ;; DECOMP BEGINS -(import "goal_src/import/redring-ag.gc") + (import "goal_src/import/darkecobomb-ag.gc") (import "goal_src/import/greenshot-ag.gc") +(import "goal_src/import/redring-ag.gc") (deftype torus (structure) ((origin vector :inline :offset-assert 0) @@ -212,14 +213,12 @@ ) (defstate arcing-shot-debug-trajectory (arcing-shot) - :trans - (behavior () + :trans (behavior () (arcing-shot-setup (camera-pos) (-> self entity extra trans) 40960.0) (arcing-shot-draw) (none) ) - :code - (behavior () + :code (behavior () (loop (format *stdcon* "debug trajectory~%") (suspend) @@ -253,29 +252,21 @@ ) (defstate darkecobomb-explode (darkecobomb) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (send-event *target* 'reset-pickup 'eco) (sound-play-by-name (static-sound-name "explod-bomb") (new-sound-id) 1024 0 0 1 #f) (activate! *camera-smush-control* 819.2 37 600 1.0 0.995) (send-event (ppointer->process (-> self parent)) 'flash 255.0) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 619) - 900 - #f - #f - #f - (-> self root-override trans) - ) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 619) + 900 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (logior! (-> self draw status) (draw-status hidden)) (cond @@ -295,17 +286,7 @@ (if *target* (logclear! (-> *target* mask) (process-mask sleep)) ) - (let ((a1-12 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-12 from) self) - (set! (-> a1-12 num-params) 2) - (set! (-> a1-12 message) 'attack-invinc) - (set! (-> a1-12 param 0) (the-as uint #f)) - (let ((a0-21 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-21 mode) 'instant-death) - (set! (-> a1-12 param 1) (the-as uint a0-21)) - ) - (send-event-function *target* a1-12) - ) + (send-event *target* 'attack-invinc #f (static-attack-info ((mode 'instant-death)))) ) (else (send-event (ppointer->process (-> self parent)) 'bomb-done) @@ -314,8 +295,7 @@ (deactivate self) (none) ) - :post - (the-as (function none :behavior darkecobomb) ja-post) + :post (the-as (function none :behavior darkecobomb) ja-post) ) (defbehavior darkecobomb-handler darkecobomb ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) @@ -334,21 +314,17 @@ ) (defstate darkecobomb-countdown (darkecobomb) - :event - darkecobomb-handler - :enter - (behavior () + :event darkecobomb-handler + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (set! (-> self next-tick) 0.9) (none) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (none) ) - :trans - (behavior () + :trans (behavior () (darkecobomb-explode-if-player-high-enough) (let ((f0-1 (fmax @@ -363,23 +339,16 @@ (set! (-> self anim-speed) (+ 1.0 f1-5)) ) (when (< (cos (* 16384.0 (- 1.0 f0-1))) (-> self next-tick)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 663) - 150 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 663) + 150 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (set! (-> self next-tick) (+ -0.06 (-> self next-tick))) (sound-play-by-name (static-sound-name "robo-warning") (new-sound-id) 1024 0 0 1 #t) @@ -396,8 +365,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "bomb-open") (new-sound-id) 1024 0 0 1 #t) (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -414,29 +382,24 @@ ) (none) ) - :post - (the-as (function none :behavior darkecobomb) transform-post) + :post (the-as (function none :behavior darkecobomb) transform-post) ) (defstate darkecobomb-land (darkecobomb) - :event - darkecobomb-handler - :enter - (behavior () + :event darkecobomb-handler + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) 0 (none) ) - :trans - (behavior () + :trans (behavior () (darkecobomb-explode-if-player-high-enough) (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 0.5)) (go darkecobomb-countdown) ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -451,18 +414,15 @@ ) (none) ) - :post - (the-as (function none :behavior darkecobomb) transform-post) + :post (the-as (function none :behavior darkecobomb) transform-post) ) (defstate darkecobomb-idle (darkecobomb) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (arcing-shot-calculate (-> self root-override trans) (/ (the float (- (-> *display* game-frame-counter) (-> self state-time))) (the float (-> self flight-time))) @@ -472,8 +432,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -488,8 +447,7 @@ ) (none) ) - :post - (the-as (function none :behavior darkecobomb) transform-post) + :post (the-as (function none :behavior darkecobomb) transform-post) ) (defbehavior darkecobomb-init-by-other darkecobomb ((arg0 vector) (arg1 vector) (arg2 float) (arg3 time-frame) (arg4 float)) @@ -543,13 +501,11 @@ ) (defstate greenshot-idle (greenshot) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (arcing-shot-calculate (-> self root-override trans) (/ (the float (- (-> *display* game-frame-counter) (-> self state-time))) (the float (-> self flight-time))) @@ -560,8 +516,7 @@ (spawn (-> self part) (-> self root-override trans)) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -571,8 +526,7 @@ ) (none) ) - :post - (the-as (function none :behavior greenshot) transform-post) + :post (the-as (function none :behavior greenshot) transform-post) ) (defbehavior greenshot-init-by-other greenshot ((arg0 vector) (arg1 vector) (arg2 float) (arg3 time-frame)) @@ -678,8 +632,7 @@ ) (defstate redshot-explode (redshot) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (sound-play-by-name (static-sound-name "red-explode") (new-sound-id) 1024 0 0 1 #t) (logclear! (-> self draw status) (draw-status hidden)) @@ -688,48 +641,29 @@ (set! (-> self ring origin quad) (-> self root-override trans quad)) (+! (-> self ring origin y) (-> self ring radius-secondary)) (set-vector! (-> self ring axis) 0.0 1.0 0.0 1.0) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 648) - -1 - redshot-particle-callback - (-> self ppointer) - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) - ) - ) - ) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 648) + -1 + redshot-particle-callback + (-> self ppointer) + #f + (-> self root-override trans) + :to self + ) + ) + ) (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self ring radius-primary) (* 204.8 (the float (- (-> *display* game-frame-counter) (-> self state-time)))) ) (let ((gp-0 (new 'stack-no-clear 'vector))) (when (dummy-11 (-> self ring) gp-0) (vector-normalize! gp-0 16384.0) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack) - (set! (-> a1-2 param 0) (the-as uint #f)) - (let ((v1-8 (new 'static 'attack-info :mask #x2))) - (set! (-> v1-8 vector quad) (-> gp-0 quad)) - (set! (-> a1-2 param 1) (the-as uint v1-8)) - ) - (send-event-function *target* a1-2) - ) + (send-event *target* 'attack #f (static-attack-info ((vector gp-0)))) (send-event (ppointer->process (-> self parent)) 'hit-jak) ) ) @@ -754,16 +688,14 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja :num-func num-func-identity :frame-num (* 0.000016276043 (-> self ring radius-primary))) (suspend) ) (none) ) - :post - (the-as (function none :behavior redshot) transform-post) + :post (the-as (function none :behavior redshot) transform-post) ) (defbehavior redshot-handler redshot ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) @@ -775,15 +707,12 @@ ) (defstate redshot-wait (redshot) - :event - redshot-handler - :enter - (behavior () + :event redshot-handler + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (redshot-trans (- (-> self stall-time) (- (-> *display* game-frame-counter) (-> self state-time)))) (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self stall-time)) (go redshot-explode) @@ -791,27 +720,22 @@ (spawn (-> self shot-particle) (-> self root-override trans)) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior redshot) transform-post) + :post (the-as (function none :behavior redshot) transform-post) ) (defstate redshot-idle (redshot) - :event - redshot-handler - :enter - (behavior () + :event redshot-handler + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (redshot-trans (seconds 5)) (arcing-shot-calculate (-> self root-override trans) @@ -823,15 +747,13 @@ (spawn (-> self shot-particle) (-> self root-override trans)) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior redshot) transform-post) + :post (the-as (function none :behavior redshot) transform-post) ) (defbehavior redshot-init-by-other redshot ((arg0 vector) (arg1 vector) (arg2 float) (arg3 time-frame) (arg4 time-frame) (arg5 int)) @@ -886,34 +808,21 @@ (defstate yellowshot-idle (yellowshot) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (when (= (-> arg0 type) target) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((a0-2 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-2 mode) 'generic) - (set! (-> a1-3 param 1) (the-as uint a0-2)) - ) - (send-event-function *target* a1-3) - ) + (send-event *target* 'attack (-> arg3 param 0) (static-attack-info ((mode 'generic)))) (send-event (ppointer->process (-> self parent)) 'hit-jak) ) ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (arcing-shot-calculate (-> self root-override trans) (/ (the float (- (-> *display* game-frame-counter) (-> self state-time))) (the float (-> self flight-time))) @@ -925,15 +834,13 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior yellowshot) transform-post) + :post (the-as (function none :behavior yellowshot) transform-post) ) (defbehavior yellowshot-init-by-other yellowshot ((arg0 vector) (arg1 vector) (arg2 float) (arg3 time-frame)) diff --git a/goal_src/levels/finalboss/robotboss.gc b/goal_src/levels/finalboss/robotboss.gc index 14d9c680d2..84b64bc205 100644 --- a/goal_src/levels/finalboss/robotboss.gc +++ b/goal_src/levels/finalboss/robotboss.gc @@ -6,9 +6,10 @@ ;; dgos: FIN, L1 ;; DECOMP BEGINS + +(import "goal_src/import/robotboss-redeco-ag.gc") (import "goal_src/import/robotboss-blueeco-ag.gc") (import "goal_src/import/robotboss-yelloweco-ag.gc") -(import "goal_src/import/robotboss-redeco-ag.gc") (defmethod ease-loc-t robotboss ((obj robotboss)) (parameter-ease-sin-clamp (-> obj loc-t)) @@ -160,8 +161,7 @@ ) ) cfg-37 - :delay - (empty-form) + :delay (empty-form) ) (if (or (not (-> *camera* cam-entity)) (not (string= @@ -182,18 +182,11 @@ ) ) cfg-49 - :delay - (empty-form) + :delay (empty-form) ) - (let ((a1-18 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-18 from) self) - (set! (-> a1-18 num-params) 1) - (set! (-> a1-18 message) 'query-state) - (set! (-> a1-18 param 0) (the-as uint cam-robotboss)) - (when (not (send-event-function *camera* a1-18)) - (send-event *camera* 'change-state cam-robotboss 300) - (send-event *camera* 'clear-entity) - ) + (when (not (send-event *camera* 'query-state cam-robotboss)) + (send-event *camera* 'change-state cam-robotboss (seconds 1)) + (send-event *camera* 'clear-entity) ) (b! #t cfg-66 :delay (nop!)) (label cfg-49) @@ -204,38 +197,27 @@ ) ) ) - (let ((a1-24 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-24 from) self) - (set! (-> a1-24 num-params) 1) - (set! (-> a1-24 message) 'query-state) - (set! (-> a1-24 param 0) (the-as uint cam-string)) - (when (not (send-event-function *camera* a1-24)) - (send-event *camera* 'point-of-interest #f) - (send-event *camera* 'force-blend 300) - (send-event *camera* 'clear-entity) - (send-event *camera* 'change-state cam-string 300) - ) + (when (not (send-event *camera* 'query-state cam-string)) + (send-event *camera* 'point-of-interest #f) + (send-event *camera* 'force-blend (seconds 1)) + (send-event *camera* 'clear-entity) + (send-event *camera* 'change-state cam-string (seconds 1)) ) ) (label cfg-66) - (let ((a1-29 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-29 from) self) - (set! (-> a1-29 num-params) 1) - (set! (-> a1-29 message) 'query-state) - (set! (-> a1-29 param 0) (the-as uint cam-string)) - (cond - ((send-event-function *camera* a1-29) + (cond + ((send-event *camera* 'query-state cam-string) + ) + ((-> self use-interesting) + (let ((s5-10 (new 'stack-no-clear 'vector))) + (vector<-cspace! s5-10 (-> self node-list data 87)) + (send-event *camera* 'point-of-interest s5-10) ) - ((-> self use-interesting) - (let ((s5-10 (new 'stack-no-clear 'vector))) - (vector<-cspace! s5-10 (-> self node-list data 87)) - (send-event *camera* 'point-of-interest s5-10) - ) - ) - ) + ) ) - (when (and arg0 *debug-segment* (cpad-pressed? 0 l3)) ;; NOTE : changed from (cpad-pressed? 1 x) - (cpad-clear! 0 l3) + (when (and arg0 *debug-segment* (cpad-pressed? 1 x)) + (logclear! (-> *cpad-list* cpads 1 button0-abs 0) (pad-buttons x)) + (logclear! (-> *cpad-list* cpads 1 button0-rel 0) (pad-buttons x)) (go arg0) ) (none) @@ -255,19 +237,9 @@ (set! (-> self vulnerable) arg0) (let ((gp-0 (new 'stack 'sphere))) (set! (-> gp-0 w) 4096.0) - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self shot-attractor) - (ppointer->handle - (when s5-0 - (let ((t9-2 (method-of-type manipy activate))) - (t9-2 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> self root-override trans) (-> self entity) *redring-sg* gp-0) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> self shot-attractor) + (ppointer->handle (manipy-spawn (-> self root-override trans) (-> self entity) *redring-sg* gp-0 :to self)) + ) ) (send-event (handle->process (-> self shot-attractor)) 'attackable #t) (send-event (handle->process (-> self shot-attractor)) 'draw #f) @@ -362,24 +334,18 @@ (vector<-cspace! gp-0 (-> self node-list data 60)) (set! (-> s4-0 quad) (-> self entity extra trans quad)) (vector+! s4-0 s4-0 arg0) - (let ((s3-1 (get-process *default-dead-pool* darkecobomb #x4000))) - (when s3-1 - (let ((t9-2 (method-of-type darkecobomb activate))) - (t9-2 (the-as darkecobomb s3-1) self 'darkecobomb (the-as pointer #x70004000)) - ) - (run-now-in-process s3-1 darkecobomb-init-by-other gp-0 s4-0 61440.0 300 arg1) - (-> s3-1 ppointer) - ) - ) + (process-spawn darkecobomb gp-0 s4-0 61440.0 300 arg1 :to self) ) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 638) 300 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 638) + 300 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) ) @@ -462,8 +428,7 @@ ) (defstate robotboss-yellow-dark-bomb-wait (robotboss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'white-eco-picked-up) @@ -494,15 +459,13 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (set! (-> self children-spawned) 0) 0 (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self des-cam-entity) #f) (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) self) @@ -567,15 +530,13 @@ (send-event (handle->process (-> self white-eco)) 'beam-off) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans (the-as (state robotboss) #f)) (spool-push *art-control* "green-sagecage-outro-beat-boss-a" 0 self (the-as float -1.0)) (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -637,13 +598,11 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) (defstate robotboss-daxter-sacrifice-movie (robotboss) - :code - (behavior () + :code (behavior () (set-blackout-frames (seconds 100)) (entity-birth-no-kill (-> self alts 5)) (let ((a1-0 (new 'stack-no-clear 'event-message-block))) @@ -672,21 +631,18 @@ ) (defstate robotboss-white-eco-movie (robotboss) - :enter - (behavior () + :enter (behavior () (logior! (-> self draw status) (draw-status hidden)) (set! (-> self children-spawned) 0) (set! (-> self state-time) (-> *display* base-frame-counter)) (ja-post) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "green-sagecage-daxter-sacrifice" 0 self (the-as float -1.0)) (when (and (< (-> self children-spawned) 1) (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.95)) @@ -695,25 +651,12 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self entity extra trans quad)) (set! (-> gp-0 y) (+ 81920.0 (-> gp-0 y))) - (let ((s5-0 (get-process *default-dead-pool* light-eco-mother #x4000))) - (set! (-> self white-eco) - (ppointer->handle - (when s5-0 - (let ((t9-2 (method-of-type light-eco-mother activate))) - (t9-2 (the-as light-eco-mother s5-0) self 'light-eco-mother (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 light-eco-mother-init-by-other (-> self entity) gp-0) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> self white-eco) (ppointer->handle (process-spawn light-eco-mother (-> self entity) gp-0 :to self))) ) ) (none) ) - :code - (behavior () + :code (behavior () (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) self) (set! (-> a1-0 num-params) 1) @@ -850,17 +793,7 @@ ) ) ) - (let* ((gp-0 (get-process *default-dead-pool* finalbosscam #x4000)) - (gp-1 (ppointer->handle (when gp-0 - (let ((t9-9 (method-of-type finalbosscam activate))) - (t9-9 (the-as finalbosscam gp-0) self 'finalbosscam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 finalbosscam-init-by-other (-> self entity)) - (-> gp-0 ppointer) - ) - ) - ) - ) + (let ((gp-1 (ppointer->handle (process-spawn finalbosscam (-> self entity) :to self)))) (send-event (handle->process gp-1) 'play-anim) (suspend) (while (movie?) @@ -885,8 +818,7 @@ ) (defstate robotboss-yellow-dark-bomb (robotboss) - :enter - (behavior () + :enter (behavior () (set! (-> self old-loc quad) (-> self desired-loc quad)) (set-vector! (-> self desired-loc) 16384.0 -81920.0 716800.0 1.0) (set! (-> self loc-t) 0.0) @@ -896,8 +828,7 @@ (play-ambient (-> self ambient) "GOL-AM01" #t (the-as vector #f)) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans (the-as (state robotboss) #f)) (spool-push *art-control* "finalbosscam-white-eco" 0 self (the-as float -1.0)) (if (>= (-> self loc-t) 1.0) @@ -906,8 +837,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja :group! robotboss-dark-reveal-no-yellow-ja) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) @@ -928,8 +858,7 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) (defbehavior robotboss-yellowshot robotboss () @@ -946,25 +875,19 @@ (vector-! s5-0 s5-0 gp-0) (vector-normalize! s5-0 (the-as float 819200.0)) (vector+! s5-0 s5-0 gp-0) - (let ((s4-1 (get-process *default-dead-pool* yellowshot #x4000))) - (when s4-1 - (let ((t9-4 (method-of-type yellowshot activate))) - (t9-4 (the-as yellowshot s4-1) self 'yellowshot (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 yellowshot-init-by-other gp-0 s5-0 0.0 750) - (-> s4-1 ppointer) - ) - ) + (process-spawn yellowshot gp-0 s5-0 0.0 750 :to self) ) (send-event self 'flash 255.0) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-8 (method-of-type part-tracker activate))) - (t9-8 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 642) 300 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 642) + 300 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (sound-play-by-name (static-sound-name "bfg-fire") (new-sound-id) 1024 0 0 1 #t) @@ -980,14 +903,10 @@ ) (defstate robotboss-yellow-wait (robotboss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hit-jak) - (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-3 (the-as number (logior #x3f800000 v1-2))) - (f0-2 (+ -1.0 (the-as float v1-3))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.75 f0-2) (play-ambient (-> self ambient) "GOL-AM10" #t (the-as vector #f)) @@ -1005,10 +924,7 @@ ) ) (('missed-jak) - (let* ((v1-13 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-14 (the-as number (logior #x3f800000 v1-13))) - (f0-5 (+ -1.0 (the-as float v1-14))) - ) + (let ((f0-5 (rand-float-gen))) (if (< 0.5 f0-5) (play-ambient (-> self ambient) "GOL-AM14" #t (the-as vector #f)) (play-ambient (-> self ambient) "MAI-AM02" #t (the-as vector #f)) @@ -1020,8 +936,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self hits-to-go) -1) (set! (-> self state-time) (-> *display* game-frame-counter)) (set! (-> self till-next-shot) 300) @@ -1029,8 +944,7 @@ (set! (-> self keep-charging) #f) (none) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self shot-attractor)))) (if a0-1 (deactivate a0-1) @@ -1084,8 +998,7 @@ (stop! (-> self looping-sound 3)) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-yellow-dark-bomb) (robotboss-shooting-trans 21) (cond @@ -1100,33 +1013,19 @@ (set! (-> self yellow-smoke) #t) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 27)) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 653) 300 #f #f #f gp-0) - (-> s5-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 653) + 300 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) - (let* ((s5-1 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 (when s5-1 - (let ((t9-10 (method-of-type manipy activate))) - (t9-10 (the-as manipy s5-1) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - manipy-init - (-> self root-override trans) - (-> self entity) - *robotboss-yelloweco-sg* - #f - ) - (-> s5-1 ppointer) - ) - ) - ) + (let ((gp-1 (manipy-spawn (-> self root-override trans) (-> self entity) *robotboss-yelloweco-sg* #f :to self))) (send-event (ppointer->process (-> self parent)) 'flash 255.0) (send-event (ppointer->process gp-1) 'anim-mode 'play1) (send-event (ppointer->process gp-1) 'rot-quat (-> self root-override quat)) @@ -1155,8 +1054,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -1216,22 +1114,15 @@ (or (robotboss-time-to-shoot-yellow) (not (ja-group? robotboss-yellow-hit-ja))) ) (set! (-> self state-time) (-> *display* game-frame-counter)) - (let* ((f30-1 (-> self dda yellow-shot-time-min)) - (f28-0 (-> self dda yellow-shot-time-rnd)) - (v1-147 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-148 (the-as number (logior #x3f800000 v1-147))) - ) - (set! (-> self till-next-shot) - (the int (+ f30-1 (the float (the int (* f28-0 (+ -1.0 (the-as float v1-148))))))) - ) + (let ((f30-1 (-> self dda yellow-shot-time-min)) + (f28-0 (-> self dda yellow-shot-time-rnd)) + ) + (set! (-> self till-next-shot) (the int (+ f30-1 (the float (the int (* f28-0 (rand-float-gen))))))) ) (stop! (-> self looping-sound 3)) (robotboss-yellowshot) (robotboss-yellow-eco-on) - (let* ((v1-154 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-155 (the-as number (logior #x3f800000 v1-154))) - (f0-29 (+ -1.0 (the-as float v1-155))) - ) + (let ((f0-29 (rand-float-gen))) (cond ((< 0.8333333 f0-29) (play-ambient (-> self ambient) "GOL-AM04" #t (the-as vector #f)) @@ -1272,8 +1163,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (when *target* (if (nonzero? (-> self yellow-gun)) (set-target! (-> self yellow-gun) (target-pos 5)) @@ -1285,10 +1175,8 @@ ) (defstate robotboss-yellow (robotboss) - :event - robotboss-handler - :enter - (behavior () + :event robotboss-handler + :enter (behavior () (set! (-> self old-loc quad) (-> self desired-loc quad)) (set-vector! (-> self desired-loc) 13653.333 77824.0 491520.0 1.0) (set! (-> self loc-t) 0.0) @@ -1297,8 +1185,7 @@ (set! (-> self desired-pool-y) -18432.0) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-yellow-wait) (if (>= (-> self loc-t) 1.0) (go robotboss-yellow-wait) @@ -1306,8 +1193,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -1341,28 +1227,23 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) (defstate robotboss-red-dark-bomb-wait (robotboss) - :event - robotboss-bomb-handler - :enter - (behavior () + :event robotboss-bomb-handler + :enter (behavior () (set! (-> self children-spawned) 0) (logior! (-> self alts 11 extra perm status) (entity-perm-status bit-3)) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self ignore-camera) #f) (set! (-> self des-cam-entity) #f) (logclear! (-> self alts 11 extra perm status) (entity-perm-status bit-3)) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-yellow) (if (and (< (-> self children-spawned) 0) (or (not *target*) (!= (-> *target* control unknown-surface00 name) 'launch-jump)) @@ -1372,8 +1253,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -1403,13 +1283,11 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) (defstate robotboss-red-dark-bomb (robotboss) - :enter - (behavior () + :enter (behavior () (set! (-> self old-loc quad) (-> self desired-loc quad)) (set-vector! (-> self desired-loc) 0.0 -81920.0 716800.0 1.0) (set! (-> self loc-t) 0.0) @@ -1418,8 +1296,7 @@ (set! (-> self desired-pool-y) -20480.0) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-red-dark-bomb-wait) (robotboss-position) (if (>= (-> self loc-t) 1.0) @@ -1427,8 +1304,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja :group! robotboss-dark-reveal-no-red-ja) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) @@ -1449,8 +1325,7 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) (deftype redshot-launch-info (structure) @@ -1481,20 +1356,16 @@ 0.0 (dotimes (s3-0 6) (let ((s1-0 (-> arg0 info s3-0))) - (let* ((f30-0 -40960.0) - (f28-0 81920.0) - (v1-4 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-5 (the-as number (logior #x3f800000 v1-4))) - ) - (set! (-> s1-0 dest x) (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-5))))) + (let ((f30-0 -40960.0) + (f28-0 81920.0) + ) + (set! (-> s1-0 dest x) (+ f30-0 (* f28-0 (rand-float-gen)))) ) (set! (-> s1-0 dest y) 0.0) - (let* ((f30-1 -40960.0) - (f28-1 81920.0) - (v1-10 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-11 (the-as number (logior #x3f800000 v1-10))) - ) - (set! (-> s1-0 dest z) (+ f30-1 (* f28-1 (+ -1.0 (the-as float v1-11))))) + (let ((f30-1 -40960.0) + (f28-1 81920.0) + ) + (set! (-> s1-0 dest z) (+ f30-1 (* f28-1 (rand-float-gen)))) ) (set! (-> s1-0 dest w) 1.0) ) @@ -1520,14 +1391,10 @@ (the-as time-frame (+ (the int (* f30-2 (+ -1.0 (the-as float v1-28)))) 180)) ) ) - (let* ((s1-3 (max 150 (- (the-as time-frame s2-0) (-> arg0 info s3-0 flight-time)))) - (f30-3 60.0) - (v1-38 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-39 (the-as number (logior #x3f800000 v1-38))) - ) - (set! (-> arg0 info s3-0 stall-time) - (the-as time-frame (+ (the int (* f30-3 (+ -1.0 (the-as float v1-39)))) 300 s1-3)) - ) + (let ((s1-3 (max 150 (- (the-as time-frame s2-0) (-> arg0 info s3-0 flight-time)))) + (f30-3 60.0) + ) + (set! (-> arg0 info s3-0 stall-time) (the-as time-frame (+ (the int (* f30-3 (rand-float-gen))) 300 s1-3))) ) (set! s2-0 (the-as int (+ (-> arg0 info s3-0 flight-time) (-> arg0 info s3-0 stall-time)))) ) @@ -1560,12 +1427,10 @@ (s0-0 gp-0) ) (set! sv-48 (-> sv-32 dest)) - (let* ((f30-0 20480.0) - (f28-0 12288.0) - (v1-10 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-11 (the-as number (logior #x3f800000 v1-10))) - ) - (set! sv-64 (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-11))))) + (let ((f30-0 20480.0) + (f28-0 12288.0) + ) + (set! sv-64 (+ f30-0 (* f28-0 (rand-float-gen)))) ) (set! sv-80 (-> sv-32 flight-time)) (set! sv-96 (-> sv-32 stall-time)) @@ -1590,14 +1455,16 @@ ) ) (when s5-0 - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 641) 300 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 641) + 300 + #f + #f + #f + gp-0 + :to *entity-pool* ) (sound-play-by-name (static-sound-name "red-fire") (new-sound-id) 1024 0 0 1 #t) ) @@ -1610,14 +1477,10 @@ ) (defstate robotboss-red-wait (robotboss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hit-jak) - (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-3 (the-as number (logior #x3f800000 v1-2))) - (f0-2 (+ -1.0 (the-as float v1-3))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.75 f0-2) (play-ambient (-> self ambient) "GOL-AM10" #t (the-as vector #f)) @@ -1635,10 +1498,7 @@ ) ) (('missed-jak) - (let* ((v1-13 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-14 (the-as number (logior #x3f800000 v1-13))) - (f0-5 (+ -1.0 (the-as float v1-14))) - ) + (let ((f0-5 (rand-float-gen))) (if (< 0.5 f0-5) (play-ambient (-> self ambient) "GOL-AM14" #t (the-as vector #f)) (play-ambient (-> self ambient) "MAI-AM01" #t (the-as vector #f)) @@ -1650,8 +1510,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self hits-to-go) -1) (set! (-> self des-cam-entity) "camera-390") (set! (-> self use-interesting) #t) @@ -1660,8 +1519,7 @@ 0 (none) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self shot-attractor)))) (if a0-1 (deactivate a0-1) @@ -1725,8 +1583,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-red-dark-bomb) (robotboss-shooting-trans 40) (cond @@ -1754,27 +1611,19 @@ (set! (-> self red-smoke) #t) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 51)) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 649) 300 #f #f #f gp-0) - (-> s5-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 649) + 300 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) - (let* ((s5-1 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 - (when s5-1 - (let ((t9-10 (method-of-type manipy activate))) - (t9-10 (the-as manipy s5-1) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> self root-override trans) (-> self entity) *robotboss-redeco-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) + (let ((gp-1 (manipy-spawn (-> self root-override trans) (-> self entity) *robotboss-redeco-sg* #f :to self))) (send-event (ppointer->process (-> self parent)) 'flash 255.0) (send-event (ppointer->process gp-1) 'anim-mode 'play1) (send-event (ppointer->process gp-1) 'rot-quat (-> self root-override quat)) @@ -1793,8 +1642,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -1818,14 +1666,10 @@ ) (label cfg-24) (set! (-> self state-time) (-> *display* game-frame-counter)) - (let* ((f30-0 (-> self dda red-shot-time-min)) - (f28-0 (-> self dda red-shot-time-rnd)) - (v1-65 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-66 (the-as number (logior #x3f800000 v1-65))) - ) - (set! (-> self till-next-shot) - (the int (+ f30-0 (the float (the int (* f28-0 (+ -1.0 (the-as float v1-66))))))) - ) + (let ((f30-0 (-> self dda red-shot-time-min)) + (f28-0 (-> self dda red-shot-time-rnd)) + ) + (set! (-> self till-next-shot) (the int (+ f30-0 (the float (the int (* f28-0 (rand-float-gen))))))) ) (when (not (robotboss-is-red-hit)) (ja-channel-push! 1 (seconds 0.2)) @@ -1847,12 +1691,10 @@ (stop! (-> self looping-sound 2)) ) (when (not (ja-group? robotboss-red-last-hit-ja)) - (let* ((v1-120 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-121 (the-as number (logior #x3f800000 v1-120))) - (f30-1 (+ -1.0 (the-as float v1-121))) - (gp-1 (new 'stack-no-clear 'redshot-launch-array)) - (s5-0 (-> self dda red-shots-min)) - ) + (let ((f30-1 (rand-float-gen)) + (gp-1 (new 'stack-no-clear 'redshot-launch-array)) + (s5-0 (-> self dda red-shots-min)) + ) (robotboss-yellow-eco-on) (robotboss-redshot-fill-array gp-1) (robotboss-redshot (the-as redshot-launch-info (-> gp-1 info)) #t) @@ -1866,10 +1708,7 @@ ) ) (when (not (robotboss-is-red-hit)) - (let* ((v1-135 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-136 (the-as number (logior #x3f800000 v1-135))) - (f0-33 (+ -1.0 (the-as float v1-136))) - ) + (let ((f0-33 (rand-float-gen))) (cond ((< 0.8333333 f0-33) (play-ambient (-> self ambient) "GOL-AM04" #t (the-as vector #f)) @@ -1909,15 +1748,12 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) (defstate robotboss-red (robotboss) - :event - robotboss-handler - :enter - (behavior () + :event robotboss-handler + :enter (behavior () (set! (-> self old-loc quad) (-> self desired-loc quad)) (set-vector! (-> self desired-loc) 8192.0 -40960.0 327680.0 1.0) (set! (-> self loc-t) 0.0) @@ -1927,8 +1763,7 @@ (set-setting! *setting-control* self 'sound-flava #f (the-as float 40.0) 48) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-red-wait) (if (>= (-> self loc-t) 1.0) (go robotboss-red-wait) @@ -1936,8 +1771,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -1963,27 +1797,22 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) (defstate robotboss-green-dark-bomb-wait (robotboss) - :event - robotboss-bomb-handler - :enter - (behavior () + :event robotboss-bomb-handler + :enter (behavior () (set! (-> self children-spawned) 0) 0 (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self ignore-camera) #f) (set! (-> self des-cam-entity) #f) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-red) (if (and (< (-> self children-spawned) 0) (or (not *target*) (!= (-> *target* control unknown-surface00 name) 'launch-jump)) @@ -1993,8 +1822,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -2025,13 +1853,11 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) (defstate robotboss-green-dark-bomb (robotboss) - :enter - (behavior () + :enter (behavior () (set! (-> self old-loc quad) (-> self desired-loc quad)) (set-vector! (-> self desired-loc) 16384.0 -81920.0 716800.0 1.0) (set! (-> self loc-t) 0.0) @@ -2041,8 +1867,7 @@ (play-ambient (-> self ambient) "MAI-AM01" #t (the-as vector #f)) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-green-dark-bomb-wait) (robotboss-position) (if (>= (-> self loc-t) 1.0) @@ -2050,8 +1875,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja :group! robotboss-dark-reveal-green-ja) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) @@ -2072,8 +1896,7 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) (defbehavior robotboss-greenshot robotboss ((arg0 vector) (arg1 float) (arg2 int) (arg3 symbol)) @@ -2084,25 +1907,19 @@ (set! (-> s2-0 quad) (-> self entity extra trans quad)) (set! (-> s2-0 y) (+ -40960.0 (-> s2-0 y))) (vector+! s2-0 s2-0 arg0) - (let ((s1-1 (get-process *default-dead-pool* greenshot #x4000))) - (when s1-1 - (let ((t9-2 (method-of-type greenshot activate))) - (t9-2 (the-as greenshot s1-1) self 'greenshot (the-as pointer #x70004000)) - ) - (run-now-in-process s1-1 greenshot-init-by-other gp-0 s2-0 arg1 arg2) - (-> s1-1 ppointer) - ) - ) + (process-spawn greenshot gp-0 s2-0 arg1 arg2 :to self) ) (when arg3 - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 640) 300 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 640) + 300 + #f + #f + #f + gp-0 + :to *entity-pool* ) (sound-play-by-name (static-sound-name "green-fire") (new-sound-id) 1024 0 0 1 #t) ) @@ -2111,8 +1928,7 @@ ) (defstate robotboss-green-wait (robotboss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (ja-channel-push! 1 (seconds 0.2)) @@ -2135,10 +1951,7 @@ ) ) (('hit-jak) - (let* ((v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-9 (the-as number (logior #x3f800000 v1-8))) - (f0-2 (+ -1.0 (the-as float v1-9))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.75 f0-2) (play-ambient (-> self ambient) "GOL-AM10" #t (the-as vector #f)) @@ -2156,10 +1969,7 @@ ) ) (('blob-died) - (let* ((v1-19 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-20 (the-as number (logior #x3f800000 v1-19))) - (f0-5 (+ -1.0 (the-as float v1-20))) - ) + (let ((f0-5 (rand-float-gen))) (cond ((< 0.75 f0-5) (play-ambient (-> self ambient) "MAI-AM02" #t (the-as vector #f)) @@ -2181,16 +1991,14 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (set! (-> self children-spawned) 0) (robotboss-setup-for-hits 2 5) (set! (-> self des-cam-entity) "camera-385") (none) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self shot-attractor)))) (if a0-1 (deactivate a0-1) @@ -2253,8 +2061,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-green-dark-bomb) (cond ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 0.4)) @@ -2300,20 +2107,12 @@ (< (-> self children-spawned) 10) ) (+! (-> self children-spawned) 1) - (let ((gp-0 (get-process *default-dead-pool* green-eco-lurker-gen #x4000))) - (when gp-0 - (let ((t9-16 (method-of-type green-eco-lurker-gen activate))) - (t9-16 (the-as green-eco-lurker-gen gp-0) self 'green-eco-lurker-gen (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - green-eco-lurker-gen-init-by-other - (-> self entity) - (-> self entity extra trans) - (-> self dda num-blobs) - ) - (-> gp-0 ppointer) - ) + (process-spawn + green-eco-lurker-gen + (-> self entity) + (-> self entity extra trans) + (-> self dda num-blobs) + :to self ) (set! (-> self old-loc quad) (-> self desired-loc quad)) (set-vector! (-> self desired-loc) 24576.0 0.0 655360.0 1.0) @@ -2332,8 +2131,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -2357,15 +2155,12 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) (defstate robotboss-green (robotboss) - :event - robotboss-handler - :enter - (behavior () + :event robotboss-handler + :enter (behavior () (set! (-> self old-loc quad) (-> self desired-loc quad)) (set-vector! (-> self desired-loc) 24576.0 0.0 245760.0 1.0) (set! (-> self loc-t) 0.0) @@ -2376,8 +2171,7 @@ (set-setting! *setting-control* self 'sound-flava #f (the-as float 40.0) 47) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-green-wait) (if (>= (-> self loc-t) 1.0) (go robotboss-green-wait) @@ -2385,8 +2179,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -2412,27 +2205,22 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) (defstate robotboss-blue-dark-bomb-wait (robotboss) - :event - robotboss-bomb-handler - :enter - (behavior () + :event robotboss-bomb-handler + :enter (behavior () (set! (-> self children-spawned) 0) 0 (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self ignore-camera) #f) (set! (-> self des-cam-entity) #f) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-green) (if (and (< (-> self children-spawned) 0) (or (not *target*) (!= (-> *target* control unknown-surface00 name) 'launch-jump)) @@ -2442,8 +2230,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -2482,13 +2269,11 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) (defstate robotboss-blue-dark-bomb (robotboss) - :enter - (behavior () + :enter (behavior () (set! (-> self old-loc quad) (-> self desired-loc quad)) (set-vector! (-> self desired-loc) 16384.0 -118784.0 614400.0 1.0) (set! (-> self loc-t) 0.0) @@ -2497,8 +2282,7 @@ (set! (-> self desired-pool-y) -28672.0) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-blue-dark-bomb-wait) (robotboss-position) (if (>= (-> self loc-t) 1.0) @@ -2506,8 +2290,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja :group! robotboss-dark-reveal-ja) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) @@ -2528,8 +2311,7 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) (defbehavior robotboss-blue-beam robotboss ((arg0 int) (arg1 symbol)) @@ -2563,31 +2345,20 @@ (a2-0 (new 'stack-no-clear 'vector)) ) (vector-! a2-0 gp-0 s4-0) - (when (>= (fill-and-probe-using-line-sphere - *collide-cache* - s4-0 - a2-0 - (the-as float 4096.0) - (collide-kind target) - self - t2-0 - 1 - ) - 0.0 + (if (>= (fill-and-probe-using-line-sphere + *collide-cache* + s4-0 + a2-0 + (the-as float 4096.0) + (collide-kind target) + self + t2-0 + 1 ) - (let ((a1-13 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-13 from) self) - (set! (-> a1-13 num-params) 2) - (set! (-> a1-13 message) 'attack) - (set! (-> a1-13 param 0) (the-as uint #f)) - (let ((v1-50 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-50 shove-up) 10240.0) - (set! (-> v1-50 shove-back) 30720.0) - (set! (-> a1-13 param 1) (the-as uint v1-50)) - ) - (send-event-function *target* a1-13) + 0.0 + ) + (send-event *target* 'attack #f (static-attack-info ((shove-up (meters 2.5)) (shove-back (meters 7.5))))) ) - ) ) ) ) @@ -2603,23 +2374,12 @@ (spawn (-> self particle 1) gp-0) (when (and arg1 (nonzero? (-> self looping-sound 1))) (update! (-> self looping-sound 1)) - (when (and *target* - (zero? (logand (-> *target* state-flags) (state-flags sf03 sf04 sf05 sf06 sf07 sf15))) - (>= 8192.0 (vector-vector-distance gp-0 (target-pos 0))) - ) - (let ((a1-16 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-16 from) self) - (set! (-> a1-16 num-params) 2) - (set! (-> a1-16 message) 'attack) - (set! (-> a1-16 param 0) (the-as uint #f)) - (let ((v1-80 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-80 shove-up) 10240.0) - (set! (-> v1-80 shove-back) 30720.0) - (set! (-> a1-16 param 1) (the-as uint v1-80)) - ) - (send-event-function *target* a1-16) + (if (and *target* + (zero? (logand (-> *target* state-flags) (state-flags sf03 sf04 sf05 sf06 sf07 sf15))) + (>= 8192.0 (vector-vector-distance gp-0 (target-pos 0))) + ) + (send-event *target* 'attack #f (static-attack-info ((shove-up (meters 2.5)) (shove-back (meters 7.5))))) ) - ) ) ) ((nonzero? (-> self looping-sound 1)) @@ -2720,10 +2480,8 @@ ) (defstate robotboss-blue-wait (robotboss) - :event - robotboss-handler - :enter - (behavior () + :event robotboss-handler + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (robotboss-setup-for-hits 4 5) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) @@ -2746,8 +2504,7 @@ (robotboss-yellow-eco-on) (none) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self shot-attractor)))) (if a0-1 (deactivate a0-1) @@ -2804,8 +2561,7 @@ (robotboss-cut-cam-exit) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-blue-dark-bomb) (robotboss-shooting-trans 9) (cond @@ -2820,27 +2576,19 @@ (set! (-> self blue-smoke) #t) (let ((gp-1 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-1 (-> self node-list data 7)) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-9 (method-of-type part-tracker activate))) - (t9-9 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 644) 300 #f #f #f gp-1) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 644) + 300 + #f + #f + #f + gp-1 + :to *entity-pool* ) ) - (let* ((s5-2 (get-process *default-dead-pool* manipy #x4000)) - (gp-2 - (when s5-2 - (let ((t9-12 (method-of-type manipy activate))) - (t9-12 (the-as manipy s5-2) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 manipy-init (-> self root-override trans) (-> self entity) *robotboss-blueeco-sg* #f) - (-> s5-2 ppointer) - ) - ) - ) + (let ((gp-2 (manipy-spawn (-> self root-override trans) (-> self entity) *robotboss-blueeco-sg* #f :to self))) (send-event (ppointer->process (-> self parent)) 'flash 255.0) (send-event (ppointer->process gp-2) 'anim-mode 'play1) (send-event (ppointer->process gp-2) 'rot-quat (-> self root-override quat)) @@ -2861,10 +2609,7 @@ (robotboss-blue-beam 8 #t) (robotboss-blue-beam 9 #f) (when (TODO-RENAME-10 (-> self ambient) (new 'stack-no-clear 'vector) (seconds 10) (the-as float 327680.0) self) - (let* ((v1-73 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-74 (the-as number (logior #x3f800000 v1-73))) - (f0-2 (+ -1.0 (the-as float v1-74))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.8 f0-2) (play-ambient (-> self ambient) "GOL-AM02" #t (the-as vector #f)) @@ -2888,8 +2633,7 @@ (robotboss-cut-cam (the-as float 5.0) (the-as float 50.0) (the-as int robotboss-blue-roar-ja)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.4)) (ja-no-eval :group! robotboss-idle-blue-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -2935,8 +2679,7 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) (defmethod init-from-entity! robotboss ((obj robotboss) (arg0 entity-actor)) diff --git a/goal_src/levels/finalboss/sage-finalboss-part.gc b/goal_src/levels/finalboss/sage-finalboss-part.gc index ccd092334d..14f996ec1c 100644 --- a/goal_src/levels/finalboss/sage-finalboss-part.gc +++ b/goal_src/levels/finalboss/sage-finalboss-part.gc @@ -11,8 +11,7 @@ :id 682 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2825 :period 300 :length 5 :binding 2823) + :parts ((sp-item 2825 :period 300 :length 5 :binding 2823) (sp-item 2823 :flags (start-dead launch-asap) :binding 2824) (sp-item 2823 :flags (start-dead launch-asap) :binding 2824) (sp-item 2824 :flags (start-dead)) @@ -24,8 +23,7 @@ ) (defpart 2825 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -2.5) (meters 5) 1.0) (sp-rnd-flt spt-y (meters -1.5) (meters 3) 1.0) @@ -41,8 +39,7 @@ ) (defpart 2823 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -65,8 +62,7 @@ ) (defpart 2824 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -85,8 +81,7 @@ ) (defpart 2827 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters -3.90625)) (sp-flt spt-scale-x (meters 15)) @@ -101,8 +96,7 @@ ) (defpart 2826 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.3) (sp-rnd-flt spt-x (meters -4) (meters 8) 1.0) (sp-rnd-flt spt-y (meters -3) (meters 6) 1.0) @@ -126,16 +120,14 @@ ) (defpart 2828 - :init-specs - ((sp-flt spt-fade-a 0.0) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 300 299 1) (sp-launcher-by-id spt-next-launcher 2829) ) ) (defpart 2829 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) (defpartgroup group-target-white-eco-ground @@ -143,8 +135,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2921) + :parts ((sp-item 2921) (sp-item 2922 :flags (is-3d)) (sp-item 2923 :flags (is-3d)) (sp-item 2924 :flags (is-3d)) @@ -154,8 +145,7 @@ ) (defpart 2921 - :init-specs - ((sp-flt spt-num 1.5) + :init-specs ((sp-flt spt-num 1.5) (sp-flt spt-x (meters 2.5)) (sp-flt spt-y (meters -0.5)) (sp-int spt-rot-x 8) @@ -172,13 +162,11 @@ ) (defpart 2927 - :init-specs - ((sp-flt spt-fade-b -4.551111)) + :init-specs ((sp-flt spt-fade-b -4.551111)) ) (defpart 2924 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 2) 1.0) (sp-flt spt-y (meters 0.1)) @@ -198,8 +186,7 @@ ) (defpart 2922 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 2) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -220,8 +207,7 @@ ) (defpart 2923 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-rnd-flt spt-x (meters 1.8) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) @@ -241,8 +227,7 @@ ) (defpart 2925 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 3.0 1.0) (sp-rnd-flt spt-x (meters 0) (meters 5.5) 1.0) (sp-flt spt-y (meters -0.5)) @@ -266,8 +251,7 @@ ) (defpart 2926 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 3.0 1.0) (sp-rnd-flt spt-x (meters 0) (meters 5) 1.0) (sp-flt spt-y (meters -0.5)) @@ -293,8 +277,7 @@ ) (defpart 2928 - :init-specs - ((sp-flt spt-fade-a -0.18)) + :init-specs ((sp-flt spt-fade-a -0.18)) ) (defpartgroup group-target-white-eco-joints @@ -302,13 +285,11 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2929) (sp-item 2930)) + :parts ((sp-item 2929) (sp-item 2930)) ) (defpart 2930 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.2 1.0) (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) @@ -334,13 +315,11 @@ ) (defpart 2931 - :init-specs - ((sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-a -0.10666667)) ) (defpart 2929 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 8.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -365,8 +344,7 @@ ) (defpart 2932 - :init-specs - ((sp-flt spt-userdata 2048000.0)) + :init-specs ((sp-flt spt-userdata 2048000.0)) ) (defun check-drop-level-eichar-lighteco-pops ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) @@ -396,8 +374,7 @@ ) (defpart 2934 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -413,8 +390,7 @@ ) (defpart 2933 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 4.0 4.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -437,13 +413,11 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2892)) + :parts ((sp-item 2892)) ) (defpart 2892 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 4.0 3.0 1.0) (sp-rnd-flt spt-x (meters -0.2) (meters -0.1) 1.0) (sp-rnd-flt spt-z (meters 0.2) (meters 0.1) 1.0) @@ -470,13 +444,11 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2893) (sp-item 2935)) + :parts ((sp-item 2893) (sp-item 2935)) ) (defpart 2935 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters -0.2) (meters -0.1) 1.0) (sp-rnd-flt spt-z (meters 0.2) (meters 0.1) 1.0) @@ -495,8 +467,7 @@ ) (defpart 2893 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.2) (meters -0.1) 1.0) (sp-rnd-flt spt-z (meters 0.2) (meters 0.1) 1.0) @@ -521,8 +492,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2936 :period 36 :length 5) + :parts ((sp-item 2936 :period 36 :length 5) (sp-item 2936 :period 140 :length 5) (sp-item 2936 :period 61 :length 5) (sp-item 2894 :period 15 :length 5) @@ -531,8 +501,7 @@ ) (defpart 2937 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 4) (meters 16) 1.0) @@ -548,8 +517,7 @@ ) (defpart 2894 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -575,8 +543,7 @@ ) (defpart 2936 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-int spt-num 0 1 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1) 1.0) @@ -608,8 +575,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2939 :period 1200 :length 20 :binding 2938) + :parts ((sp-item 2939 :period 1200 :length 20 :binding 2938) (sp-item 2940 :period 1200 :length 5) (sp-item 2941 :period 1200 :length 40) (sp-item 2942 :period 1200 :length 20) @@ -636,8 +602,7 @@ ) (defpart 2939 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0) @@ -662,8 +627,7 @@ ) (defpart 2938 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 4) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -684,13 +648,11 @@ ) (defpart 2946 - :init-specs - ((sp-flt spt-fade-g -0.14222223) (sp-flt spt-fade-b -0.14222223)) + :init-specs ((sp-flt spt-fade-g -0.14222223) (sp-flt spt-fade-b -0.14222223)) ) (defpart 2945 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 10)) (sp-rnd-flt spt-scale-x (meters 8) (meters 60) 1.0) @@ -711,13 +673,11 @@ ) (defpart 2947 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) (defpart 2941 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 128.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 4) (meters 1) 1.0) @@ -740,13 +700,11 @@ ) (defpart 2948 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) (defpart 2944 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 16.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 2) (meters 1) 1.0) @@ -764,8 +722,7 @@ ) (defpart 2940 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 256)) @@ -781,8 +738,7 @@ ) (defpart 2942 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters -8) (meters 16) 1.0) (sp-rnd-flt spt-scale-x (meters 20) (meters 40) 1.0) @@ -808,8 +764,7 @@ ) (defpart 2943 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 20.0) (sp-rnd-flt spt-y (meters -8) (meters 16) 1.0) (sp-rnd-flt spt-scale-x (meters 40) (meters 40) 1.0) @@ -839,13 +794,11 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2949) (sp-item 2950)) + :parts ((sp-item 2949) (sp-item 2950)) ) (defpart 2950 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 128.0) (sp-rnd-flt spt-x (meters 0) (meters 5) 1.0) (sp-flt spt-y (meters -8)) @@ -872,13 +825,11 @@ ) (defpart 2951 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334)) ) (defpart 2949 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-x (meters 0) (meters 10) 1.0) (sp-flt spt-y (meters -10)) @@ -904,8 +855,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2952 :flags (is-3d)) + :parts ((sp-item 2952 :flags (is-3d)) (sp-item 2953 :flags (is-3d)) (sp-item 2954 :flags (is-3d)) (sp-item 2955) @@ -916,8 +866,7 @@ ) (defpart 2952 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.1) (sp-flt spt-y (meters 10)) (sp-flt spt-z (meters 4)) @@ -939,13 +888,11 @@ ) (defpart 2959 - :init-specs - ((sp-flt spt-fade-a -0.16)) + :init-specs ((sp-flt spt-fade-a -0.16)) ) (defpart 2953 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.1) (sp-flt spt-y (meters 10)) (sp-flt spt-z (meters 4)) @@ -967,8 +914,7 @@ ) (defpart 2954 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.1) (sp-flt spt-y (meters 0.5)) (sp-flt spt-z (meters 4)) @@ -991,8 +937,7 @@ ) (defpart 2955 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-flt spt-y (meters 10)) (sp-flt spt-z (meters 8)) @@ -1016,8 +961,7 @@ ) (defpart 2956 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 10)) (sp-flt spt-z (meters 8)) @@ -1041,8 +985,7 @@ ) (defpart 2957 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters 10) (meters 40) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 20) 1.0) @@ -1063,13 +1006,11 @@ ) (defpart 2960 - :init-specs - ((sp-flt spt-fade-a -0.85333335)) + :init-specs ((sp-flt spt-fade-a -0.85333335)) ) (defpart 2958 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 10) (meters 30) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 20) 1.0) @@ -1092,8 +1033,7 @@ ) (defpart 2961 - :init-specs - ((sp-flt spt-userdata 4096000.0)) + :init-specs ((sp-flt spt-userdata 4096000.0)) ) (defun check-drop-level-bigdoor-open-pops ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) @@ -1123,8 +1063,7 @@ ) (defpart 2963 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1140,8 +1079,7 @@ ) (defpart 2962 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 4.0 4.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1163,13 +1101,11 @@ :id 706 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2965)) + :parts ((sp-item 2965)) ) (defpart 2965 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters -3.90625)) (sp-flt spt-scale-x (meters 15)) diff --git a/goal_src/levels/finalboss/sage-finalboss.gc b/goal_src/levels/finalboss/sage-finalboss.gc index cd2b33ab66..2e7a4eb193 100644 --- a/goal_src/levels/finalboss/sage-finalboss.gc +++ b/goal_src/levels/finalboss/sage-finalboss.gc @@ -5,10 +5,11 @@ ;; name in dgo: sage-finalboss ;; dgos: FIN ;; DECOMP BEGINS + (import "goal_src/import/plat-eco-finalboss-ag.gc") -(import "goal_src/import/robotboss-cinematic-ag.gc") -(import "goal_src/import/jak-white-ag.gc") (import "goal_src/import/green-sagecage-ag.gc") +(import "goal_src/import/jak-white-ag.gc") +(import "goal_src/import/robotboss-cinematic-ag.gc") (defskelgroup *robotboss-cinematic-sg* robotboss-cinematic robotboss-cinematic-lod0-jg robotboss-cinematic-idle-ja ((robotboss-cinematic-lod0-mg (meters 999999))) @@ -70,8 +71,7 @@ (defstate plat-path-active (plat-eco-finalboss) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('target) (process-entity-status! self (entity-perm-status complete) #t) @@ -104,8 +104,7 @@ ) ) ) - :enter - (behavior ((arg0 plat)) + :enter (behavior ((arg0 plat)) (set! (-> self state-time) (-> *display* base-frame-counter)) (lods-assign! (-> self draw) (-> self lit-look)) (process-entity-status! self (entity-perm-status complete) #t) @@ -120,8 +119,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((s5-0 (eval-path-curve! (-> self path) (new 'stack-no-clear 'vector) 0.0 'interp)) (gp-0 (eval-path-curve! (-> self path) (new 'stack-no-clear 'vector) 1.0 'interp)) ) @@ -162,16 +160,9 @@ ) ) (plat-trans) - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) self) - (set! (-> a1-8 num-params) 2) - (set! (-> a1-8 message) 'query) - (set! (-> a1-8 param 0) (the-as uint 'powerup)) - (set! (-> a1-8 param 1) (the-as uint 1)) - (when (send-event-function *target* a1-8) - (process-entity-status! self (entity-perm-status complete) #t) - (set! (-> self force-dest) 0.0) - ) + (when (send-event *target* 'query 'powerup (pickup-type eco-yellow)) + (process-entity-status! self (entity-perm-status complete) #t) + (set! (-> self force-dest) 0.0) ) (none) ) @@ -253,18 +244,9 @@ (defmethod play-reminder sage-finalboss ((obj sage-finalboss)) (let ((s5-0 (entity-by-name "red-sagecage-1"))) (when s5-0 - (let ((s4-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj redsage) - (ppointer->handle (when s4-0 - (let ((t9-2 (method-of-type manipy activate))) - (t9-2 (the-as manipy s4-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 manipy-init (-> obj root-override trans) s5-0 *redsage-sg* #f) - (-> s4-0 ppointer) - ) - ) - ) - ) + (set! (-> obj redsage) + (ppointer->handle (manipy-spawn (-> obj root-override trans) s5-0 *redsage-sg* #f :to obj)) + ) (send-event (handle->process (-> obj redsage)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj redsage)) 'blend-shape #t) (send-event (handle->process (-> obj redsage)) 'center-joint 3) @@ -273,18 +255,9 @@ ) (let ((s5-1 (entity-by-name "blue-sagecage-1"))) (when s5-1 - (let ((s4-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj bluesage) - (ppointer->handle (when s4-1 - (let ((t9-10 (method-of-type manipy activate))) - (t9-10 (the-as manipy s4-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 manipy-init (-> obj root-override trans) s5-1 *bluesage-sg* #f) - (-> s4-1 ppointer) - ) - ) - ) - ) + (set! (-> obj bluesage) + (ppointer->handle (manipy-spawn (-> obj root-override trans) s5-1 *bluesage-sg* #f :to obj)) + ) (send-event (handle->process (-> obj bluesage)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj bluesage)) 'blend-shape #t) (send-event (handle->process (-> obj bluesage)) 'center-joint 3) @@ -295,19 +268,9 @@ (the-as symbol (when s5-2 - (let ((s4-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj yellowsage) - (ppointer->handle - (when s4-2 - (let ((t9-18 (method-of-type manipy activate))) - (t9-18 (the-as manipy s4-2) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s4-2 manipy-init (-> obj root-override trans) s5-2 *yellowsage-sg* #f) - (-> s4-2 ppointer) - ) - ) - ) - ) + (set! (-> obj yellowsage) + (ppointer->handle (manipy-spawn (-> obj root-override trans) s5-2 *yellowsage-sg* #f :to obj)) + ) (send-event (handle->process (-> obj yellowsage)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj yellowsage)) 'blend-shape #t) (send-event (handle->process (-> obj yellowsage)) 'center-joint 3) @@ -322,19 +285,9 @@ (the-as symbol (when s5-0 - (let ((s4-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj assistant) - (ppointer->handle - (when s4-0 - (let ((t9-2 (method-of-type manipy activate))) - (t9-2 (the-as manipy s4-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 manipy-init (-> obj root-override trans) s5-0 *assistant-lavatube-end-sg* #f) - (-> s4-0 ppointer) - ) - ) - ) - ) + (set! (-> obj assistant) + (ppointer->handle (manipy-spawn (-> obj root-override trans) s5-0 *assistant-lavatube-end-sg* #f :to obj)) + ) (let ((s5-1 (handle->process (-> obj assistant)))) (if (the-as manipy s5-1) (set! (-> (the-as manipy s5-1) draw level-index) (the-as uint (-> (level-get *level* 'finalboss) index))) @@ -361,27 +314,16 @@ :name "green-sagecage-daxter-sacrifice" :index 8 :parts 6 - :command-list - '((1 blackout 0) (236 joint "cameraB") (439 joint "camera")) + :command-list '((1 blackout 0) (236 joint "cameraB") (439 joint "camera")) ) ) (((task-status need-introduction)) (when arg0 (set-yaw-angle-clear-roll-pitch! (-> obj root-override) 0.0) (close-current! (-> obj tasks)) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj jak-white) - (ppointer->handle - (when s5-1 - (let ((t9-6 (method-of-type manipy activate))) - (t9-6 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *jak-white-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> obj jak-white) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *jak-white-sg* #f :to obj)) + ) (send-event (handle->process (-> obj jak-white)) 'eval @@ -390,19 +332,11 @@ (send-event (handle->process (-> obj jak-white)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj jak-white)) 'origin-joint-index 3) (send-event (handle->process (-> obj jak-white)) 'blend-shape #t) - (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj robotboss) - (ppointer->handle - (when s5-2 - (let ((t9-13 (method-of-type manipy activate))) - (t9-13 (the-as manipy s5-2) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 manipy-init (-> obj root-override trans) (-> obj entity) *robotboss-cinematic-sg* #f) - (-> s5-2 ppointer) - ) - ) + (set! (-> obj robotboss) + (ppointer->handle + (manipy-spawn (-> obj root-override trans) (-> obj entity) *robotboss-cinematic-sg* #f :to obj) ) - ) + ) (send-event (handle->process (-> obj robotboss)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj robotboss)) 'origin-joint-index 3) (let ((v1-67 (handle->process (-> obj robotboss)))) @@ -410,19 +344,9 @@ (set! (-> (the-as manipy v1-67) draw bounds w) 2048000.0) ) ) - (let ((s5-3 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj silodoor) - (ppointer->handle - (when s5-3 - (let ((t9-18 (method-of-type manipy activate))) - (t9-18 (the-as manipy s5-3) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-3 manipy-init (-> obj root-override trans) (-> obj entity) *silodoor-sg* #f) - (-> s5-3 ppointer) - ) - ) - ) - ) + (set! (-> obj silodoor) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *silodoor-sg* #f :to obj)) + ) (send-event (handle->process (-> obj silodoor)) 'anim-mode 'clone-anim) (let ((v1-84 (handle->process (-> obj silodoor)))) (if (the-as manipy v1-84) @@ -437,8 +361,7 @@ :name "green-sagecage-outro-beat-boss-a" :index 9 :parts 8 - :command-list - '((0 send-event self activate-particle 0) + :command-list '((0 send-event self activate-particle 0) (0 send-event self activate-particle 1) (0 send-event self activate-particle 7) (1 blackout 0) @@ -482,26 +405,11 @@ (play-reminder obj) (dummy-45 obj) (set! (-> obj kick-the-credits) #t) - (let ((s5-5 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj robotplat) - (ppointer->handle - (when s5-5 - (let ((t9-30 (method-of-type manipy activate))) - (t9-30 (the-as manipy s5-5) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-5 - manipy-init - (-> obj root-override trans) - (-> obj entity) - *plat-eco-finalboss-lit-sg* - #f - ) - (-> s5-5 ppointer) - ) - ) + (set! (-> obj robotplat) + (ppointer->handle + (manipy-spawn (-> obj root-override trans) (-> obj entity) *plat-eco-finalboss-lit-sg* #f :to obj) ) - ) + ) (send-event (handle->process (-> obj robotplat)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj robotplat)) 'origin-joint-index 3) (set! (-> obj old-target-pos trans quad) @@ -517,8 +425,7 @@ :name "green-sagecage-outro-beat-boss-b" :index 10 :parts 27 - :command-list - '((0 kill "crate-3250") + :command-list '((0 kill "crate-3250") (0 kill "crate-3251") (0 kill "crate-3252") (0 kill "crate-3253") @@ -557,12 +464,10 @@ (cond ((target-has-all-the-cells?) (new 'static 'spool-anim - :name - "green-sagecage-outro-beat-boss-enough-cells" + :name "green-sagecage-outro-beat-boss-enough-cells" :index 12 :parts 6 - :command-list - '((0 send-event self fade) + :command-list '((0 send-event self fade) (1 blackout 0) (65 joint "cameraB") (104 joint "camera") @@ -579,12 +484,10 @@ (set-setting! *setting-control* pp 'allow-progress #f 0.0 0) ) (new 'static 'spool-anim - :name - "green-sagecage-outro-beat-boss-need-cells" + :name "green-sagecage-outro-beat-boss-need-cells" :index 11 :parts 8 - :command-list - '((0 send-event self fade) + :command-list '((0 send-event self fade) (1 blackout 0) (65 joint "cameraB") (104 joint "camera") @@ -611,8 +514,7 @@ :name "green-sagecage-outro-big-finish" :index 13 :parts 7 - :command-list - '((1 blackout 0) + :command-list '((1 blackout 0) (61 joint "cameraB") (102 joint "camera") (145 joint "cameraB") @@ -676,8 +578,7 @@ (defstate play-anim (sage-finalboss) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('fade) (let ((f0-0 1.0)) @@ -703,14 +604,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self credit-fade) 0.0) ((-> (method-of-type process-taskable play-anim) enter)) (none) ) - :exit - (behavior () + :exit (behavior () (when (= (current-status (-> self tasks)) (task-status invalid)) (cond ((not (-> self credits-played)) @@ -821,8 +720,7 @@ ((-> (method-of-type process-taskable play-anim) exit)) (none) ) - :trans - (behavior () + :trans (behavior () (local-vars (f28-0 float)) (when (-> self left-door) (let ((f30-0 (ja-aframe-num 0))) @@ -996,16 +894,14 @@ ) (defstate sage-finalboss-credits (sage-finalboss) - :exit - (behavior () + :exit (behavior () (when (= (current-status (-> self tasks)) (task-status invalid)) (set-blackout-frames 0) (initialize! *game-info* 'game (the-as game-save #f) "title-start") ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (s5-0 symbol)) (set! (-> self credits-played) #t) (set-blackout-frames 0) @@ -1104,15 +1000,13 @@ (defstate hidden (sage-finalboss) :virtual #t - :enter - (behavior () + :enter (behavior () (sage-finalboss-extra-enter) ((-> (method-of-type process-taskable hidden) enter)) (clear-pending-settings-from-process *setting-control* self 'allow-progress) (none) ) - :trans - (behavior () + :trans (behavior () (sage-finalboss-extra-trans) ((-> (method-of-type process-taskable hidden) trans)) (none) @@ -1121,14 +1015,12 @@ (defstate idle (sage-finalboss) :virtual #t - :enter - (behavior () + :enter (behavior () (sage-finalboss-extra-enter) ((-> (method-of-type process-taskable idle) enter)) (none) ) - :trans - (behavior () + :trans (behavior () (sage-finalboss-extra-trans) ((-> (method-of-type process-taskable idle) trans)) (none) diff --git a/goal_src/levels/firecanyon/assistant-firecanyon.gc b/goal_src/levels/firecanyon/assistant-firecanyon.gc index a077ea24ad..81dd8e9eeb 100644 --- a/goal_src/levels/firecanyon/assistant-firecanyon.gc +++ b/goal_src/levels/firecanyon/assistant-firecanyon.gc @@ -6,6 +6,7 @@ ;; dgos: L1, FIC ;; DECOMP BEGINS + (import "goal_src/import/assistant-firecanyon-ag.gc") (deftype assistant-firecanyon (process-taskable) @@ -33,8 +34,7 @@ :name "assistant-firecanyon-resolution" :index 13 :parts 11 - :command-list - '((0 want-levels village1 firecanyon) + :command-list '((0 want-levels village1 firecanyon) (151 joint "cameraB") (346 joint "camera") (346 shadow self #f) @@ -73,8 +73,7 @@ (defstate hidden (assistant-firecanyon) :virtual #t - :trans - (behavior () + :trans (behavior () ((-> (method-of-type process-taskable hidden) trans)) (when (and (cond ((and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) @@ -130,8 +129,7 @@ (defstate idle (assistant-firecanyon) :virtual #t - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) ) @@ -139,32 +137,23 @@ (let ((gp-0 #t)) (cond ((= (current-status (-> self tasks)) (task-status invalid)) - (let* ((v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-9 (the-as number (logior #x3f800000 v1-8))) - ) - (when (< (+ -1.0 (the-as float v1-9)) 0.5) - (ja :group! assistant-firecanyon-idle-a-ja) - (let* ((f30-0 2.0) - (v1-16 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-17 (the-as number (logior #x3f800000 v1-16))) - ) - (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-17)))) 3)) - (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) + (when (< (rand-float-gen) 0.5) + (ja :group! assistant-firecanyon-idle-a-ja) + (let* ((f30-0 2.0) + (v1-16 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-17 (the-as number (logior #x3f800000 v1-16))) + ) + (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-17)))) 3)) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) ) ) - (set! gp-0 #f) ) + (set! gp-0 #f) ) - (when (or gp-0 (let* ((v1-53 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-54 (the-as number (logior #x3f800000 v1-53))) - ) - (< (+ -1.0 (the-as float v1-54)) 0.5) - ) - ) + (when (or gp-0 (< (rand-float-gen) 0.5)) (ja-no-eval :group! assistant-firecanyon-idle-to-b-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -189,46 +178,33 @@ (ja :num! (seek!)) ) ) - (let* ((v1-140 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-141 (the-as number (logior #x3f800000 v1-140))) - ) - (when (< (+ -1.0 (the-as float v1-141)) 0.25) - (ja :group! assistant-firecanyon-idle-wipe-brow-ja) - (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) + (when (< (rand-float-gen) 0.25) + (ja :group! assistant-firecanyon-idle-wipe-brow-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) ) ) ) (else - (let* ((v1-176 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-177 (the-as number (logior #x3f800000 v1-176))) - ) - (when (< (+ -1.0 (the-as float v1-177)) 0.8) - (ja :group! assistant-firecanyon-idle-twist-ja) - (let* ((f30-2 4.0) - (v1-184 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-185 (the-as number (logior #x3f800000 v1-184))) - ) - (countdown (gp-3 (+ (the int (* f30-2 (+ -1.0 (the-as float v1-185)))) 8)) - (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) + (when (< (rand-float-gen) 0.8) + (ja :group! assistant-firecanyon-idle-twist-ja) + (let* ((f30-2 4.0) + (v1-184 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-185 (the-as number (logior #x3f800000 v1-184))) + ) + (countdown (gp-3 (+ (the int (* f30-2 (+ -1.0 (the-as float v1-185)))) 8)) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) ) ) - (set! gp-0 #f) ) + (set! gp-0 #f) ) - (when (or gp-0 (let* ((v1-221 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-222 (the-as number (logior #x3f800000 v1-221))) - ) - (< (+ -1.0 (the-as float v1-222)) 0.5) - ) - ) + (when (or gp-0 (< (rand-float-gen) 0.5)) (ja-no-eval :group! assistant-firecanyon-idle-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -253,21 +229,17 @@ (ja :num! (seek!)) ) ) - (let* ((v1-308 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-309 (the-as number (logior #x3f800000 v1-308))) - ) - (when (< (+ -1.0 (the-as float v1-309)) 0.5) - (ja :group! assistant-firecanyon-idle-fiddle-ja) - (let* ((f30-4 2.0) - (v1-316 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-317 (the-as number (logior #x3f800000 v1-316))) - ) - (countdown (gp-5 (+ (the int (* f30-4 (+ -1.0 (the-as float v1-317)))) 3)) - (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) + (when (< (rand-float-gen) 0.5) + (ja :group! assistant-firecanyon-idle-fiddle-ja) + (let* ((f30-4 2.0) + (v1-316 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-317 (the-as number (logior #x3f800000 v1-316))) + ) + (countdown (gp-5 (+ (the int (* f30-4 (+ -1.0 (the-as float v1-317)))) 3)) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) ) ) ) diff --git a/goal_src/levels/firecanyon/firecanyon-obs.gc b/goal_src/levels/firecanyon/firecanyon-obs.gc index edbd3beecb..47a17cd0ea 100644 --- a/goal_src/levels/firecanyon/firecanyon-obs.gc +++ b/goal_src/levels/firecanyon/firecanyon-obs.gc @@ -14,6 +14,7 @@ ;; DECOMP BEGINS + (import "goal_src/import/crate-darkeco-cluster-ag.gc") (import "goal_src/import/spike-ag.gc") @@ -35,13 +36,11 @@ :id 227 :duration 5 :bounds (static-bspherem 0 0 0 15) - :parts - ((sp-item 1006) (sp-item 1007) (sp-item 1008)) + :parts ((sp-item 1006) (sp-item 1007) (sp-item 1008)) ) (defpart 1007 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 2) 1.0) @@ -61,8 +60,7 @@ ) (defpart 1008 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-flt spt-y (meters 2)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0) @@ -85,8 +83,7 @@ ) (defpart 1006 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 12)) @@ -103,29 +100,21 @@ ) (defstate balloon-popping (balloon) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) (ja-post) (sound-play-by-name (static-sound-name "cool-balloon") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 227) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 227) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (suspend) (cleanup-for-death self) @@ -135,8 +124,7 @@ ) (defstate balloon-idle (balloon) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (send-event arg0 'heat -10.0) @@ -144,8 +132,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (transform-post) (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) @@ -156,8 +143,7 @@ ) (none) ) - :post - (the-as (function none :behavior balloon) ja-post) + :post (the-as (function none :behavior balloon) ja-post) ) (defmethod init-from-entity! balloon ((obj balloon) (arg0 entity-actor)) @@ -203,8 +189,7 @@ ) (defstate spike-up (spike) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'go-spike-up) #t @@ -212,26 +197,20 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (nonzero? (-> self num-alts)) (let ((s5-0 (/ (-> self num-alts) 2)) (gp-0 #t) ) (while (< s5-0 (+ (-> self num-alts) -1)) (let ((v1-2 (entity-actor-lookup (-> self entity) 'alt-actor s5-0))) - (if (and v1-2 (-> v1-2 extra process) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) 'go-spike-up) - (not (send-event-function - (if v1-2 - (-> v1-2 extra process) - ) - a1-1 - ) + (if (and v1-2 (-> v1-2 extra process) (not (send-event + (if v1-2 + (-> v1-2 extra process) + ) + 'go-spike-up ) - ) + ) ) (set! gp-0 #f) ) @@ -246,8 +225,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) @@ -262,8 +240,7 @@ ) (defstate spike-down (spike) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'go-spike-up) (go spike-up) @@ -272,26 +249,20 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (nonzero? (-> self num-alts)) (let ((s5-0 0) (gp-0 #t) ) (while (< s5-0 (/ (-> self num-alts) 2)) (let ((v1-1 (entity-actor-lookup (-> self entity) 'alt-actor s5-0))) - (if (and v1-1 (-> v1-1 extra process) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) 'go-spike-up) - (not (send-event-function - (if v1-1 - (-> v1-1 extra process) - ) - a1-1 - ) + (if (and v1-1 (-> v1-1 extra process) (not (send-event + (if v1-1 + (-> v1-1 extra process) + ) + 'go-spike-up ) - ) + ) ) (set! gp-0 #f) ) @@ -306,8 +277,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (transform-post) (loop (suspend) @@ -317,16 +287,9 @@ ) (defstate spike-idle (spike) - :trans - (behavior () + :trans (behavior () (when (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'mode)) - (= (send-event-function *target* a1-0) 'racer) - ) + (= (send-event *target* 'query 'mode) 'racer) (< (vector-vector-distance (-> self root-override trans) (target-pos 0)) 225280.0) ) (sound-play-by-name (static-sound-name "magma-rock") (new-sound-id) 1024 0 0 1 #t) @@ -336,11 +299,7 @@ ((>= 1 v1-8) (go spike-up) ) - ((let* ((v1-11 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-12 (the-as number (logior #x3f800000 v1-11))) - ) - (< (+ -1.0 (the-as float v1-12)) 0.5) - ) + ((< (rand-float-gen) 0.5) (go spike-down) ) (else @@ -351,8 +310,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (transform-post) (loop (suspend) @@ -447,8 +405,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2100 :period 600 :length 5) + :parts ((sp-item 2100 :period 600 :length 5) (sp-item 2101 :period 600 :length 40) (sp-item 2102 :period 600 :length 20) (sp-item 2103 :period 600 :length 20) @@ -521,8 +478,7 @@ ) (defpart 2104 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 2) 1.0) @@ -541,8 +497,7 @@ ) (defpart 2101 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -567,13 +522,11 @@ ) (defpart 2105 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) (defpart 2103 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-flt spt-scale-x (meters 0.3)) @@ -591,8 +544,7 @@ ) (defpart 2100 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 24)) @@ -608,8 +560,7 @@ ) (defpart 2102 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) @@ -636,29 +587,21 @@ (defstate die (crate-darkeco-cluster) :virtual #t - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) (ja-post) (sound-play-by-name (static-sound-name "dcrate-break") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 228) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 228) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (suspend) (cleanup-for-death self) @@ -669,27 +612,15 @@ (defstate idle (crate-darkeco-cluster) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack 'touch) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((a2-2 (new 'static 'attack-info :mask #x20))) - (set! (-> a2-2 mode) 'darkeco) - (set! (-> a1-3 param 1) (the-as uint a2-2)) - ) - (send-event-function arg0 a1-3) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'darkeco)))) (go-virtual die) ) ) ) - :code - (behavior () + :code (behavior () (transform-post) (logior! (-> self mask) (process-mask sleep)) (suspend) diff --git a/goal_src/levels/firecanyon/firecanyon-part.gc b/goal_src/levels/firecanyon/firecanyon-part.gc index 15ca864954..a87ceab3b9 100644 --- a/goal_src/levels/firecanyon/firecanyon-part.gc +++ b/goal_src/levels/firecanyon/firecanyon-part.gc @@ -19,8 +19,7 @@ (defpartgroup group-firecanyon-lava-1 :id 229 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1011 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1011 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1012 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1013 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -35,8 +34,7 @@ ) (defpart 1012 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -9) (meters 19) 1.0) (sp-flt spt-y (meters 0.5)) @@ -61,8 +59,7 @@ ) (defpart 1014 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -8) (meters 17) 1.0) (sp-flt spt-y (meters 0.5)) @@ -82,8 +79,7 @@ ) (defpart 1013 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.03 0.03 1.0) (sp-rnd-flt spt-x (meters -8) (meters 17) 1.0) (sp-flt spt-y (meters 0.5)) @@ -105,8 +101,7 @@ ) (defpart 1011 - :init-specs - ((sp-flt spt-num 0.5) + :init-specs ((sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -9) (meters 19) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -7) (meters 6) 1.0) @@ -126,8 +121,7 @@ (defpartgroup group-firecanyon-lava-2 :id 230 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1017 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1017 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1018 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1019 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -142,8 +136,7 @@ ) (defpart 1018 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -10) (meters 19) 1.0) (sp-flt spt-y (meters 0.5)) @@ -168,8 +161,7 @@ ) (defpart 1020 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -9) (meters 17) 1.0) (sp-flt spt-y (meters 0.5)) @@ -189,8 +181,7 @@ ) (defpart 1019 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -9) (meters 17) 1.0) (sp-flt spt-y (meters 0.5)) @@ -212,8 +203,7 @@ ) (defpart 1017 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 19) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -5) (meters 12) 1.0) @@ -233,8 +223,7 @@ (defpartgroup group-firecanyon-lava-3 :id 231 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1021 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1021 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1022 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1023 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -249,8 +238,7 @@ ) (defpart 1022 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -10.5) (meters 20) 1.0) (sp-flt spt-y (meters 0.5)) @@ -275,8 +263,7 @@ ) (defpart 1024 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -9.5) (meters 18) 1.0) (sp-flt spt-y (meters 0.5)) @@ -296,8 +283,7 @@ ) (defpart 1023 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -9.5) (meters 18) 1.0) (sp-flt spt-y (meters 0.5)) @@ -319,8 +305,7 @@ ) (defpart 1021 - :init-specs - ((sp-flt spt-num 1.6) + :init-specs ((sp-flt spt-num 1.6) (sp-rnd-flt spt-x (meters -10.5) (meters 20) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -20) (meters 36) 1.0) @@ -340,8 +325,7 @@ (defpartgroup group-firecanyon-lava-5 :id 232 :bounds (static-bspherem -2 0 -2 14) - :parts - ((sp-item 1025 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1025 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1026 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1027 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -356,8 +340,7 @@ ) (defpart 1028 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -6) (meters 13) 1.0) (sp-flt spt-y (meters 0)) @@ -377,8 +360,7 @@ ) (defpart 1010 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -397,8 +379,7 @@ ) (defpart 1027 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -6) (meters 13) 1.0) (sp-flt spt-y (meters 0)) @@ -420,8 +401,7 @@ ) (defpart 1009 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -438,8 +418,7 @@ ) (defpart 1025 - :init-specs - ((sp-flt spt-num 1.5) + :init-specs ((sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -8) (meters 16) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -13) (meters 20) 1.0) @@ -457,13 +436,11 @@ ) (defpart 1016 - :init-specs - ((sp-flt spt-fade-b -6.826667)) + :init-specs ((sp-flt spt-fade-b -6.826667)) ) (defpart 1026 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -8) (meters 16) 1.0) (sp-flt spt-y (meters -0.5)) @@ -488,13 +465,11 @@ ) (defpart 1015 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 1029)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 1029)) ) (defpart 1029 - :init-specs - ((sp-flt spt-fade-r -0.8) + :init-specs ((sp-flt spt-fade-r -0.8) (sp-flt spt-fade-b 0.8) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 1030) @@ -502,15 +477,13 @@ ) (defpart 1030 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.14222223)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.14222223)) ) (defpartgroup group-firecanyon-lava-6 :id 233 :bounds (static-bspherem 2 0 2 14) - :parts - ((sp-item 1031 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1031 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1032 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1033 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -525,8 +498,7 @@ ) (defpart 1034 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -5) (meters 17) 1.0) (sp-flt spt-y (meters 0.5)) @@ -546,8 +518,7 @@ ) (defpart 1032 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -6) (meters 19) 1.0) (sp-flt spt-y (meters 0.5)) @@ -572,8 +543,7 @@ ) (defpart 1033 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -5) (meters 17) 1.0) (sp-flt spt-y (meters 0.5)) @@ -595,8 +565,7 @@ ) (defpart 1031 - :init-specs - ((sp-flt spt-num 1.3) + :init-specs ((sp-flt spt-num 1.3) (sp-rnd-flt spt-x (meters -6) (meters 19) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -6.5) (meters 15) 1.0) @@ -616,8 +585,7 @@ (defpartgroup group-firecanyon-lava-7 :id 234 :bounds (static-bspherem 0 0 0 14) - :parts - ((sp-item 1035 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1035 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1036 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1037 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -632,8 +600,7 @@ ) (defpart 1036 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -6.5) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) @@ -658,8 +625,7 @@ ) (defpart 1038 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -5.5) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -679,8 +645,7 @@ ) (defpart 1037 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -5.5) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -702,8 +667,7 @@ ) (defpart 1035 - :init-specs - ((sp-flt spt-num 1.1) + :init-specs ((sp-flt spt-num 1.1) (sp-rnd-flt spt-x (meters -6.5) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -1.5) (meters 15) 1.0) @@ -723,8 +687,7 @@ (defpartgroup group-firecanyon-lava-8 :id 235 :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 1039 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1039 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1040 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1041 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -739,8 +702,7 @@ ) (defpart 1040 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -9.5) (meters 14) 1.0) (sp-flt spt-y (meters 0.5)) @@ -765,8 +727,7 @@ ) (defpart 1042 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -8.5) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) @@ -786,8 +747,7 @@ ) (defpart 1041 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -8.5) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) @@ -809,8 +769,7 @@ ) (defpart 1039 - :init-specs - ((sp-flt spt-num 1.4) + :init-specs ((sp-flt spt-num 1.4) (sp-rnd-flt spt-x (meters -9.5) (meters 14) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -13) (meters 28) 1.0) @@ -830,8 +789,7 @@ (defpartgroup group-firecanyon-lava-9 :id 236 :bounds (static-bspherem 0 0 0 9) - :parts - ((sp-item 1043 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1043 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1044 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1045 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -846,8 +804,7 @@ ) (defpart 1044 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.08) (sp-rnd-flt spt-x (meters -3.5) (meters 7) 1.0) (sp-flt spt-y (meters 0.5)) @@ -872,8 +829,7 @@ ) (defpart 1046 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.6) (sp-rnd-flt spt-x (meters -2.5) (meters 5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -893,8 +849,7 @@ ) (defpart 1045 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.03 0.03 1.0) (sp-rnd-flt spt-x (meters -2.5) (meters 5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -916,8 +871,7 @@ ) (defpart 1043 - :init-specs - ((sp-flt spt-num 0.6) + :init-specs ((sp-flt spt-num 0.6) (sp-rnd-flt spt-x (meters -3.5) (meters 7) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -7) (meters 15) 1.0) @@ -937,8 +891,7 @@ (defpartgroup group-firecanyon-lava-10 :id 237 :bounds (static-bspherem -4 0 0 15) - :parts - ((sp-item 1047 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1047 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1048 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1049 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -953,8 +906,7 @@ ) (defpart 1048 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -13.5) (meters 20) 1.0) (sp-flt spt-y (meters 0.5)) @@ -979,8 +931,7 @@ ) (defpart 1050 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -12.5) (meters 18) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1000,8 +951,7 @@ ) (defpart 1049 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -12.5) (meters 18) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1023,8 +973,7 @@ ) (defpart 1047 - :init-specs - ((sp-flt spt-num 1.5) + :init-specs ((sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -13.5) (meters 20) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -14) (meters 22) 1.0) @@ -1044,8 +993,7 @@ (defpartgroup group-firecanyon-lava-11 :id 238 :bounds (static-bspherem -4 0 0 12) - :parts - ((sp-item 1051 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1051 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1052 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1053 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1060,8 +1008,7 @@ ) (defpart 1052 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -10.5) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1086,8 +1033,7 @@ ) (defpart 1054 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -9.5) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1107,8 +1053,7 @@ ) (defpart 1053 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -9.5) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1130,8 +1075,7 @@ ) (defpart 1051 - :init-specs - ((sp-flt spt-num 0.7) + :init-specs ((sp-flt spt-num 0.7) (sp-rnd-flt spt-x (meters -10.5) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -11) (meters 14) 1.0) @@ -1151,8 +1095,7 @@ (defpartgroup group-firecanyon-lava-14 :id 239 :bounds (static-bspherem -4 0 0 15) - :parts - ((sp-item 1055 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1055 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1056 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1057 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1167,8 +1110,7 @@ ) (defpart 1056 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -17.5) (meters 25) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1193,8 +1135,7 @@ ) (defpart 1058 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -16.5) (meters 23) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1214,8 +1155,7 @@ ) (defpart 1057 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -16.5) (meters 23) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1237,8 +1177,7 @@ ) (defpart 1055 - :init-specs - ((sp-flt spt-num 1.5) + :init-specs ((sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -17.5) (meters 25) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -12) (meters 24) 1.0) @@ -1258,8 +1197,7 @@ (defpartgroup group-firecanyon-lava-15 :id 240 :bounds (static-bspherem -4 0 0 12) - :parts - ((sp-item 1059 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1059 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1060 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1061 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1274,8 +1212,7 @@ ) (defpart 1060 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -10.5) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1300,8 +1237,7 @@ ) (defpart 1062 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -9.5) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1321,8 +1257,7 @@ ) (defpart 1061 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.04 0.04 1.0) (sp-rnd-flt spt-x (meters -9.5) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1344,8 +1279,7 @@ ) (defpart 1059 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10.5) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -11) (meters 24) 1.0) @@ -1365,8 +1299,7 @@ (defpartgroup group-firecanyon-lava-16 :id 241 :bounds (static-bspherem 0 0 0 14) - :parts - ((sp-item 1063 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1063 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1064 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1065 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1381,8 +1314,7 @@ ) (defpart 1064 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -9.5) (meters 16) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1407,8 +1339,7 @@ ) (defpart 1066 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -8.5) (meters 14) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1428,8 +1359,7 @@ ) (defpart 1065 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -8.5) (meters 14) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1451,8 +1381,7 @@ ) (defpart 1063 - :init-specs - ((sp-flt spt-num 1.1) + :init-specs ((sp-flt spt-num 1.1) (sp-rnd-flt spt-x (meters -9.5) (meters 16) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -12) (meters 26) 1.0) @@ -1472,8 +1401,7 @@ (defpartgroup group-firecanyon-lava-18 :id 242 :bounds (static-bspherem -4 0 -4 26) - :parts - ((sp-item 1067 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1067 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1068 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1069 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1488,8 +1416,7 @@ ) (defpart 1068 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -11) (meters 24) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1514,8 +1441,7 @@ ) (defpart 1070 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -10) (meters 22) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1535,8 +1461,7 @@ ) (defpart 1069 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.07 0.07 1.0) (sp-rnd-flt spt-x (meters -10) (meters 22) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1558,8 +1483,7 @@ ) (defpart 1067 - :init-specs - ((sp-flt spt-num 1.9) + :init-specs ((sp-flt spt-num 1.9) (sp-rnd-flt spt-x (meters -11) (meters 24) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -28) (meters 42) 1.0) @@ -1579,8 +1503,7 @@ (defpartgroup group-firecanyon-lava-19 :id 243 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1071 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1071 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1072 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1073 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1595,8 +1518,7 @@ ) (defpart 1072 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.3) (sp-rnd-flt spt-x (meters -10) (meters 23) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1621,8 +1543,7 @@ ) (defpart 1074 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -9) (meters 21) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1642,8 +1563,7 @@ ) (defpart 1073 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -9) (meters 21) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1665,8 +1585,7 @@ ) (defpart 1071 - :init-specs - ((sp-flt spt-num 1.4) + :init-specs ((sp-flt spt-num 1.4) (sp-rnd-flt spt-x (meters -10) (meters 23) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -18) (meters 28) 1.0) @@ -1686,8 +1605,7 @@ (defpartgroup group-firecanyon-lava-21 :id 244 :bounds (static-bspherem -4 0 4 22) - :parts - ((sp-item 1075 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1075 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1076 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1077 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1702,8 +1620,7 @@ ) (defpart 1076 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.17) (sp-rnd-flt spt-x (meters -23) (meters 32) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1728,8 +1645,7 @@ ) (defpart 1078 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-x (meters -22) (meters 30) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1749,8 +1665,7 @@ ) (defpart 1077 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.03 0.03 1.0) (sp-rnd-flt spt-x (meters -22) (meters 30) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1772,8 +1687,7 @@ ) (defpart 1075 - :init-specs - ((sp-flt spt-num 0.7) + :init-specs ((sp-flt spt-num 0.7) (sp-rnd-flt spt-x (meters -23) (meters 32) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -5) (meters 4) 1.0) @@ -1793,8 +1707,7 @@ (defpartgroup group-firecanyon-lava-22 :id 245 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1079 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1079 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1080 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1081 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1809,8 +1722,7 @@ ) (defpart 1080 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -7) (meters 25) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1835,8 +1747,7 @@ ) (defpart 1082 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -6) (meters 23) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1856,8 +1767,7 @@ ) (defpart 1081 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -6) (meters 23) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1879,8 +1789,7 @@ ) (defpart 1079 - :init-specs - ((sp-flt spt-num 0.5) + :init-specs ((sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -7) (meters 25) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -4) (meters 6) 1.0) @@ -1900,8 +1809,7 @@ (defpartgroup group-firecanyon-lava-60 :id 246 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1083 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1083 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1084 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1085 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1916,8 +1824,7 @@ ) (defpart 1084 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -11) (meters 21) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1942,8 +1849,7 @@ ) (defpart 1086 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.3) (sp-rnd-flt spt-x (meters -10) (meters 19) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1963,8 +1869,7 @@ ) (defpart 1085 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -10) (meters 19) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1986,8 +1891,7 @@ ) (defpart 1083 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -11) (meters 21) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -17) (meters 30) 1.0) @@ -2007,8 +1911,7 @@ (defpartgroup group-firecanyon-lava-62 :id 247 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1087 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1087 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1088 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1089 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -2023,8 +1926,7 @@ ) (defpart 1088 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -9) (meters 17) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2049,8 +1951,7 @@ ) (defpart 1090 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -8) (meters 15) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2070,8 +1971,7 @@ ) (defpart 1089 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.04 0.04 1.0) (sp-rnd-flt spt-x (meters -8) (meters 15) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2093,8 +1993,7 @@ ) (defpart 1087 - :init-specs - ((sp-flt spt-num 0.7) + :init-specs ((sp-flt spt-num 0.7) (sp-rnd-flt spt-x (meters -9) (meters 17) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -8) (meters 14) 1.0) @@ -2114,8 +2013,7 @@ (defpartgroup group-firecanyon-lava-63 :id 248 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1091 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1091 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1092 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1093 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -2130,8 +2028,7 @@ ) (defpart 1092 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -8) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2156,8 +2053,7 @@ ) (defpart 1094 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -7) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2177,8 +2073,7 @@ ) (defpart 1093 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.04 0.04 1.0) (sp-rnd-flt spt-x (meters -7) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2200,8 +2095,7 @@ ) (defpart 1091 - :init-specs - ((sp-flt spt-num 0.7) + :init-specs ((sp-flt spt-num 0.7) (sp-rnd-flt spt-x (meters -8) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -10) (meters 16) 1.0) @@ -2221,8 +2115,7 @@ (defpartgroup group-firecanyon-lava-64 :id 249 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1095 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1095 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1096 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1097 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -2237,8 +2130,7 @@ ) (defpart 1096 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -3) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2263,8 +2155,7 @@ ) (defpart 1098 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.6) (sp-rnd-flt spt-x (meters -2) (meters 8) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2284,8 +2175,7 @@ ) (defpart 1097 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.02 0.02 1.0) (sp-rnd-flt spt-x (meters -2) (meters 8) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2307,8 +2197,7 @@ ) (defpart 1095 - :init-specs - ((sp-flt spt-num 0.4) + :init-specs ((sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -3) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -5) (meters 9) 1.0) @@ -2328,15 +2217,13 @@ (defpartgroup group-firecanyon-heat-44 :id 250 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1099 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1099 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1100 :fade-after (meters 150) :falloff-to (meters 150)) ) ) (defpart 1100 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters 0) (meters 14) 1.0) (sp-flt spt-y (meters -6)) @@ -2362,8 +2249,7 @@ ) (defpart 1099 - :init-specs - ((sp-flt spt-num 1.25) + :init-specs ((sp-flt spt-num 1.25) (sp-rnd-flt spt-x (meters 0) (meters 14) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -16) (meters 18) 1.0) @@ -2383,15 +2269,13 @@ (defpartgroup group-firecanyon-heat-45 :id 251 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1101 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1101 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1102 :fade-after (meters 150) :falloff-to (meters 150)) ) ) (defpart 1102 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters 0) (meters 12) 1.0) (sp-flt spt-y (meters -6)) @@ -2417,8 +2301,7 @@ ) (defpart 1101 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 12) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -4) (meters 16) 1.0) @@ -2438,15 +2321,13 @@ (defpartgroup group-firecanyon-heat-46 :id 252 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1103 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1103 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1104 :fade-after (meters 150) :falloff-to (meters 150)) ) ) (defpart 1104 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -3) (meters 5) 1.0) (sp-flt spt-y (meters -6)) @@ -2472,8 +2353,7 @@ ) (defpart 1103 - :init-specs - ((sp-flt spt-num 0.5) + :init-specs ((sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -3) (meters 5) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters 0) (meters 14) 1.0) @@ -2493,15 +2373,13 @@ (defpartgroup group-firecanyon-heat-47 :id 253 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1105 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1105 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1106 :fade-after (meters 150) :falloff-to (meters 150)) ) ) (defpart 1106 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.08) (sp-rnd-flt spt-x (meters 2) (meters 5) 1.0) (sp-flt spt-y (meters -6)) @@ -2527,8 +2405,7 @@ ) (defpart 1105 - :init-specs - ((sp-flt spt-num 0.4) + :init-specs ((sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters 2) (meters 5) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -12) (meters 14) 1.0) @@ -2548,15 +2425,13 @@ (defpartgroup group-firecanyon-heat-48 :id 254 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1107 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1107 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1108 :fade-after (meters 150) :falloff-to (meters 150)) ) ) (defpart 1108 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -13) (meters 17) 1.0) (sp-flt spt-y (meters -6)) @@ -2582,8 +2457,7 @@ ) (defpart 1107 - :init-specs - ((sp-flt spt-num 2.0) + :init-specs ((sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -13) (meters 17) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -19) (meters 23) 1.0) @@ -2603,15 +2477,13 @@ (defpartgroup group-firecanyon-heat-50 :id 255 :bounds (static-bspherem 0 0 0 14) - :parts - ((sp-item 1109 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1109 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1110 :fade-after (meters 150) :falloff-to (meters 150)) ) ) (defpart 1110 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -6) (meters 1) 1.0) (sp-flt spt-y (meters -6)) @@ -2637,8 +2509,7 @@ ) (defpart 1109 - :init-specs - ((sp-flt spt-num 0.7) + :init-specs ((sp-flt spt-num 0.7) (sp-rnd-flt spt-x (meters -6) (meters 1) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters 0) (meters 18) 1.0) @@ -2658,15 +2529,13 @@ (defpartgroup group-firecanyon-heat-52 :id 256 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1111 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1111 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1112 :fade-after (meters 150) :falloff-to (meters 150)) ) ) (defpart 1112 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -12) (meters 18) 1.0) (sp-flt spt-y (meters -6)) @@ -2692,8 +2561,7 @@ ) (defpart 1111 - :init-specs - ((sp-flt spt-num 0.75) + :init-specs ((sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters -12) (meters 18) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -12) (meters 16) 1.0) @@ -2713,15 +2581,13 @@ (defpartgroup group-firecanyon-heat-53 :id 257 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1113 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1113 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1114 :fade-after (meters 150) :falloff-to (meters 150)) ) ) (defpart 1114 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -10) (meters 18) 1.0) (sp-flt spt-y (meters -6)) @@ -2747,8 +2613,7 @@ ) (defpart 1113 - :init-specs - ((sp-flt spt-num 0.75) + :init-specs ((sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters -10) (meters 18) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -3) (meters 16) 1.0) @@ -2768,15 +2633,13 @@ (defpartgroup group-firecanyon-heat-54 :id 258 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1115 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1115 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1116 :fade-after (meters 150) :falloff-to (meters 150)) ) ) (defpart 1116 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.3) (sp-rnd-flt spt-x (meters -10) (meters 13) 1.0) (sp-flt spt-y (meters -6)) @@ -2802,8 +2665,7 @@ ) (defpart 1115 - :init-specs - ((sp-flt spt-num 1.5) + :init-specs ((sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -10) (meters 13) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -18) (meters 20) 1.0) @@ -2823,15 +2685,13 @@ (defpartgroup group-firecanyon-heat-55 :id 259 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1117 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1117 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1118 :fade-after (meters 150) :falloff-to (meters 150)) ) ) (defpart 1118 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.35) (sp-rnd-flt spt-x (meters -3) (meters 10) 1.0) (sp-flt spt-y (meters -6)) @@ -2857,8 +2717,7 @@ ) (defpart 1117 - :init-specs - ((sp-flt spt-num 1.9) + :init-specs ((sp-flt spt-num 1.9) (sp-rnd-flt spt-x (meters -3) (meters 10) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -3) (meters 32) 1.0) @@ -2878,15 +2737,13 @@ (defpartgroup group-firecanyon-heat-56 :id 260 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1119 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1119 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1120 :fade-after (meters 150) :falloff-to (meters 150)) ) ) (defpart 1120 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -7) (meters 16) 1.0) (sp-flt spt-y (meters -6)) @@ -2912,8 +2769,7 @@ ) (defpart 1119 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -7) (meters 16) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -8) (meters 15) 1.0) @@ -2933,15 +2789,13 @@ (defpartgroup group-firecanyon-heat-57 :id 261 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1121 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1121 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1122 :fade-after (meters 150) :falloff-to (meters 150)) ) ) (defpart 1122 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -6) (meters 8) 1.0) (sp-flt spt-y (meters -6)) @@ -2967,8 +2821,7 @@ ) (defpart 1121 - :init-specs - ((sp-flt spt-num 0.75) + :init-specs ((sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters -6) (meters 8) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -2) (meters 20) 1.0) @@ -2988,15 +2841,13 @@ (defpartgroup group-firecanyon-heat-58 :id 262 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1123 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1123 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1124 :fade-after (meters 150) :falloff-to (meters 150)) ) ) (defpart 1124 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -1) (meters 8) 1.0) (sp-flt spt-y (meters -6)) @@ -3022,8 +2873,7 @@ ) (defpart 1123 - :init-specs - ((sp-flt spt-num 0.75) + :init-specs ((sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters -1) (meters 8) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -18) (meters 20) 1.0) @@ -3043,15 +2893,13 @@ (defpartgroup group-firecanyon-heat-59 :id 263 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1125 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1125 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1126 :fade-after (meters 150) :falloff-to (meters 150)) ) ) (defpart 1126 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters -6)) @@ -3077,8 +2925,7 @@ ) (defpart 1125 - :init-specs - ((sp-flt spt-num 0.75) + :init-specs ((sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -4) (meters 20) 1.0) diff --git a/goal_src/levels/flut_common/flut-part.gc b/goal_src/levels/flut_common/flut-part.gc index ca09a60f5b..05fd4b2723 100644 --- a/goal_src/levels/flut_common/flut-part.gc +++ b/goal_src/levels/flut_common/flut-part.gc @@ -10,16 +10,14 @@ (defpartgroup group-flut-trans-pad :id 120 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 746 :fade-after (meters 160)) + :parts ((sp-item 746 :fade-after (meters 160)) (sp-item 747 :fade-after (meters 160)) (sp-item 748 :fade-after (meters 60) :falloff-to (meters 60) :flags (is-3d)) ) ) (defpart 746 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 7)) (sp-rnd-flt spt-scale-x (meters 14) (meters 1) 1.0) @@ -34,8 +32,7 @@ ) (defpart 747 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 4)) (sp-rnd-flt spt-scale-x (meters 7) (meters 1) 1.0) @@ -51,8 +48,7 @@ ) (defpart 748 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0.75) (meters 0.1) 1.0) (sp-flt spt-scale-x (meters 0)) @@ -79,13 +75,11 @@ :duration 10 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 749) (sp-item 750)) + :parts ((sp-item 749) (sp-item 750)) ) (defpart 749 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 24.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -113,8 +107,7 @@ ) (defpart 750 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 32.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) diff --git a/goal_src/levels/flut_common/flutflut.gc b/goal_src/levels/flut_common/flutflut.gc index 2353a7c275..c17797e379 100644 --- a/goal_src/levels/flut_common/flutflut.gc +++ b/goal_src/levels/flut_common/flutflut.gc @@ -6,6 +6,7 @@ ;; dgos: L1, SNO, SWA ;; DECOMP BEGINS + (import "goal_src/import/flut-saddle-ag.gc") (if (not (nmember "flutp" *kernel-packages*)) @@ -49,10 +50,8 @@ (define *flutflut-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #xa)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 614400.0) + :center (new 'static 'vector :w (the-as float #xa)) + :shadow-dir (new 'static 'vector :y -1.0 :w 614400.0) :bot-plane (new 'static 'plane :y 1.0 :w 81920.0) :top-plane (new 'static 'plane :y 1.0 :w -2867.2) ) @@ -75,8 +74,7 @@ (defstate wait-for-start (flutflut) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -98,15 +96,13 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (set! (-> self root-override root-prim prim-core action) (collide-action)) (set! (-> self root-override root-prim prim-core offense) (collide-offense no-offense)) 0 (none) ) - :code - (behavior () + :code (behavior () (loop (let ((v1-0 (-> self condition))) (cond @@ -180,18 +176,14 @@ (defstate idle (flutflut) :virtual #t - :event - (-> (method-of-type flutflut wait-for-start) event) - :enter - (behavior () + :event (-> (method-of-type flutflut wait-for-start) event) + :enter (behavior () (blocking-plane-destroy) (blocking-plane-spawn (the-as curve-control (-> self path-target))) (none) ) - :exit - (-> (method-of-type flutflut wait-for-start) exit) - :code - (behavior () + :exit (-> (method-of-type flutflut wait-for-start) exit) + :code (behavior () (ja-channel-set! 1) (ja :group! (-> self draw art-group data 3)) (set! (-> self root-override root-prim prim-core action) (collide-action solid ca-11)) @@ -244,14 +236,12 @@ ) (none) ) - :post - (the-as (function none :behavior flutflut) ja-post) + :post (the-as (function none :behavior flutflut) ja-post) ) (defstate pickup (flutflut) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('draw) (ja-channel-set! 1) @@ -268,13 +258,11 @@ ) ) ) - :enter - (behavior ((arg0 (state flutflut))) + :enter (behavior ((arg0 (state flutflut))) ((-> arg0 enter)) (none) ) - :code - (behavior ((arg0 (state flutflut))) + :code (behavior ((arg0 (state flutflut))) (ja-channel-set! 0) (ja-post) (while (zero? (ja-group-size)) @@ -303,8 +291,7 @@ (defstate wait-for-return (flutflut) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (or (= arg2 'touch) (= arg2 'attack)) (send-event *target* 'end-mode)) (go-virtual pickup (method-of-object self idle)) ) @@ -315,14 +302,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (blocking-plane-destroy) (blocking-plane-spawn (the-as curve-control (-> self path-flut))) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (ja-post) (loop diff --git a/goal_src/levels/flut_common/target-flut.gc b/goal_src/levels/flut_common/target-flut.gc index 13ee49b567..ff03503705 100644 --- a/goal_src/levels/flut_common/target-flut.gc +++ b/goal_src/levels/flut_common/target-flut.gc @@ -203,8 +203,7 @@ (b! (or (= v1-2 (-> self draw art-group data 144)) (= v1-2 (-> self draw art-group data 145))) cfg-7 - :delay - (empty-form) + :delay (empty-form) ) ) (ja-channel-push! 1 (seconds 0.33)) @@ -298,9 +297,9 @@ (('shove) (when (!= (-> self next-state name) 'target-hit) (mem-copy! (the-as pointer (-> self attack-info-rec)) (the-as pointer (-> arg3 param 1)) 104) - (when (zero? (logand (-> self attack-info-rec mask) 8)) + (when (zero? (logand (-> self attack-info-rec mask) (attack-mask attacker))) (set! (-> self attack-info-rec attacker) (process->handle arg0)) - (logior! (-> self attack-info-rec mask) 8) + (logior! (-> self attack-info-rec mask) (attack-mask attacker)) ) (go target-flut-hit 'shove (-> self attack-info-rec)) ) @@ -316,22 +315,20 @@ (f30-1 (fmax 8192.0 (fmin 40960.0 (vector-xz-length s3-1)))) ) (vector-xz-normalize! s3-1 f30-1) - (let ((s5-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> s5-0 from) self) - (set! (-> s5-0 num-params) 2) - (set! (-> s5-0 message) 'shove) - (set! (-> s5-0 param 0) (the-as uint #f)) - (let ((s4-0 (new 'static 'attack-info :mask #x882))) - (set! (-> s4-0 vector quad) (-> s3-1 quad)) - (set! (-> s4-0 shove-up) - (+ (lerp-scale (the-as float 4096.0) (the-as float 16384.0) f30-1 (the-as float 4096.0) (the-as float 40960.0)) - (fmax 0.0 (- (-> gp-1 y) (-> self control trans y))) - ) + (send-event + self + 'shove + #f + (static-attack-info + ((vector s3-1) + (shove-up + (+ (lerp-scale (the-as float 4096.0) (the-as float 16384.0) f30-1 (the-as float 4096.0) (the-as float 40960.0)) + (fmax 0.0 (- (-> gp-1 y) (-> self control trans y))) ) - (set! (-> s4-0 angle) 'up) - (set! (-> s5-0 param 1) (the-as uint s4-0)) + ) + (angle 'up) + ) ) - (send-event-function self s5-0) ) ) ) @@ -387,10 +384,8 @@ ) (defstate target-flut-start (target) - :event - target-flut-standard-event-handler - :exit - (behavior () + :event target-flut-standard-event-handler + :exit (behavior () (when (not (or (= (-> self next-state name) 'target-flut-stance) (= (-> self next-state name) 'target-flut-walk) (= (-> self next-state name) 'target-flut-jump) @@ -428,8 +423,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (target-exit) (set! *display-profile* #f) (set! *display-entity-errors* #f) @@ -451,25 +445,9 @@ (logior! (-> self control root-prim prim-core action) (collide-action ca-14)) (let ((s5-0 (-> self entity))) (set! (-> self entity) (the-as entity (-> self flut entity))) - (let ((s4-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self manipy) - (the-as (pointer manipy) (when s4-0 - (let ((t9-6 (method-of-type manipy activate))) - (t9-6 (the-as manipy s4-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s4-0 - manipy-init - (-> self control trans) - (-> self entity) - *flutflut-sg* - 'collide-shape-moving - ) - (-> s4-0 ppointer) - ) - ) - ) - ) + (set! (-> self manipy) + (manipy-spawn (-> self control trans) (-> self entity) *flutflut-sg* 'collide-shape-moving :to self) + ) (set! (-> self entity) s5-0) ) (when (-> self manipy) @@ -527,22 +505,17 @@ (go target-flut-get-on arg0) (none) ) - :post - target-post + :post target-post ) (defstate target-flut-stance (target) - :event - target-flut-standard-event-handler - :enter - (behavior () + :event target-flut-standard-event-handler + :enter (behavior () (set! (-> self control unknown-surface00) *flut-walk-mods*) (none) ) - :exit - (-> target-flut-start exit) - :trans - (behavior () + :exit (-> target-flut-start exit) + :trans (behavior () (if (move-legs?) (go target-flut-walk) ) @@ -578,8 +551,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 22)) (let ((v1-2 (ja-group))) (cond @@ -620,30 +592,25 @@ ) (none) ) - :post - target-flut-post + :post target-flut-post ) (defstate target-flut-walk (target) - :event - target-flut-standard-event-handler - :enter - (behavior () + :event target-flut-standard-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *flut-walk-mods*) (set! (-> self control unknown-uint20) (the-as uint (-> self control unknown-surface00 turnv))) (set! (-> self control unknown-int21) (the-as int (-> self control unknown-surface00 target-speed))) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control unknown-surface00 turnv) (the-as float (-> self control unknown-uint20))) (set! (-> self control unknown-surface00 target-speed) (the-as float (-> self control unknown-uint30))) ((-> target-flut-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (move-legs?)) (go target-flut-stance) ) @@ -701,8 +668,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((f28-0 0.0) (f30-0 0.0) ) @@ -786,13 +752,11 @@ ) (none) ) - :post - target-flut-post + :post target-flut-post ) (defstate target-flut-jump (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (when (and (= arg2 'touched) ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry (-> arg3 param 0)) @@ -825,8 +789,7 @@ ) ) ) - :enter - (behavior ((arg0 float) (arg1 float)) + :enter (behavior ((arg0 float) (arg1 float)) (set! (-> self state-time) (-> *display* base-frame-counter)) (sound-play-by-name (static-sound-name "jump") (new-sound-id) 1024 -762 0 1 #t) (init-var-jump arg0 arg1 (the-as vector #t) (the-as vector #t) (-> self control transv)) @@ -840,14 +803,12 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (target-exit) ((-> target-flut-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self control unknown-float123) (fmax (-> self control unknown-float123) @@ -898,8 +859,7 @@ ) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (ja-channel-push! 2 (seconds 0.12)) (ja :group! (-> self draw art-group data 143) :num! min) (ja :chan 1 @@ -954,15 +914,12 @@ ) (none) ) - :post - target-flut-post + :post target-flut-post ) (defstate target-flut-double-jump (target) - :event - (-> target-flut-jump event) - :enter - (behavior ((arg0 float) (arg1 float)) + :event (-> target-flut-jump event) + :enter (behavior ((arg0 float) (arg1 float)) (set! (-> self state-time) (-> *display* base-frame-counter)) (init-var-jump arg0 arg1 (the-as vector #t) (the-as vector #t) (-> self control transv)) (set! (-> self control dynam gravity-max) 40960.0) @@ -971,16 +928,14 @@ (set! (-> self control unknown-surface00) *flut-double-jump-mods*) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) (target-exit) ((-> target-flut-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (if (logtest? (-> self control status) (cshape-moving-flags onsurf)) (go target-flut-hit-ground) ) @@ -1014,8 +969,7 @@ ) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (ja-channel-push! 1 (seconds 0.05)) (ja-no-eval :group! (-> self draw art-group data 149) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1078,15 +1032,12 @@ ) (none) ) - :post - target-flut-post + :post target-flut-post ) (defstate target-flut-hit-ground (target) - :event - target-flut-standard-event-handler - :enter - (behavior () + :event target-flut-standard-event-handler + :enter (behavior () (target-land-effect) (if (< 40960.0 (-> self control ground-impact-vel)) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 178 (seconds 0.2)) @@ -1096,10 +1047,8 @@ (set! (-> self control unknown-surface00) *flut-walk-mods*) (none) ) - :exit - (-> target-flut-start exit) - :trans - (behavior () + :exit (-> target-flut-start exit) + :trans (behavior () (if (and (logtest? (logior (logior (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) ) @@ -1132,31 +1081,25 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((t9-0 target-flut-hit-ground-anim)) (t9-0) ) (go target-flut-stance) (none) ) - :post - target-flut-post + :post target-flut-post ) (defstate target-flut-falling (target) - :event - (-> target-flut-jump event) - :enter - (behavior ((arg0 symbol)) + :event (-> target-flut-jump event) + :enter (behavior ((arg0 symbol)) (set! (-> self control unknown-surface00) *flut-jump-mods*) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :exit - (-> target-flut-start exit) - :trans - (behavior () + :exit (-> target-flut-start exit) + :trans (behavior () (when (or (logtest? (-> self control status) (cshape-moving-flags onsurf)) (if (and (< (target-move-dist (-> *TARGET-bank* stuck-time)) (-> *TARGET-bank* stuck-distance)) (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) @@ -1178,8 +1121,7 @@ ) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (cond ((ja-group? (-> self draw art-group data 144)) ) @@ -1203,13 +1145,11 @@ ) (none) ) - :post - target-flut-post + :post target-flut-post ) (defstate target-flut-running-attack (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touched) (cond @@ -1270,8 +1210,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-uint20) (the-as uint 0)) (set! (-> self control unknown-int21) 0) @@ -1292,33 +1231,25 @@ (set! (-> gp-0 y) 0.0) (vector-normalize! gp-0 (+ 81920.0 (-> *TARGET-bank* yellow-projectile-speed))) (vector+! gp-0 gp-0 (-> self control transv)) - (let ((s4-0 (get-process *default-dead-pool* projectile-yellow #x4000))) - (when s4-0 - (let ((t9-6 (method-of-type projectile-yellow activate))) - (t9-6 (the-as projectile-yellow s4-0) self 'projectile-yellow (the-as pointer #x70004000)) + (process-spawn + projectile-yellow + :init projectile-init-by-other + (-> self entity) + s5-0 + gp-0 + (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) + 281 + 265 ) - (run-now-in-process - s4-0 - projectile-init-by-other - (-> self entity) - s5-0 - gp-0 - (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) - 281 - 265 - ) - #f - ) - (-> s4-0 ppointer) - ) + #f + :to self ) ) (set! (-> self control unknown-dword82) (-> *display* base-frame-counter)) ) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) (set! (-> *run-attack-mods* turnv) 0.0) @@ -1327,8 +1258,7 @@ (target-exit) (none) ) - :trans - (behavior () + :trans (behavior () (when (!= (-> self state-time) (-> *display* base-frame-counter)) (if (and (or (smack-surface? #t) (and (>= (-> self control unknown-float63) 0.7) @@ -1379,8 +1309,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.02)) (sound-play-by-name (static-sound-name "flut-hit") (new-sound-id) 1024 0 0 1 #t) (ja :group! (-> self draw art-group data 150) :num! min) @@ -1484,13 +1413,11 @@ (go target-flut-stance) (none) ) - :post - target-flut-post + :post target-flut-post ) (defstate target-flut-air-attack (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (= arg2 'touched) ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry (-> arg3 param 0)) @@ -1515,8 +1442,7 @@ ) ) ) - :enter - (behavior ((arg0 float)) + :enter (behavior ((arg0 float)) (set-forward-vel arg0) (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self control status) (cshape-moving-flags onsurf onground tsurf)) @@ -1541,16 +1467,14 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (target-danger-set! 'harmless #f) (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) (set! (-> self control dynam gravity quad) (-> self control unknown-dynamics00 gravity quad)) (none) ) - :trans - (behavior () + :trans (behavior () (let ((s5-0 (new-stack-vector0))) (vector-z-quaternion! s5-0 (-> self control unknown-quaternion00)) (let ((gp-0 (new-stack-vector0)) @@ -1589,8 +1513,7 @@ ) (none) ) - :code - (behavior ((arg0 float)) + :code (behavior ((arg0 float)) (sound-play-by-name (static-sound-name "flut-hit") (new-sound-id) 1024 -762 0 1 #t) (ja-channel-push! 1 (seconds 0.05)) (ja-no-eval :group! (-> self draw art-group data 152) @@ -1619,15 +1542,12 @@ ) (none) ) - :post - target-flut-post + :post target-flut-post ) (defstate target-flut-air-attack-hit-ground (target) - :event - target-flut-standard-event-handler - :enter - (behavior () + :event target-flut-standard-event-handler + :enter (behavior () (target-land-effect) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.4)) (set! (-> self control unknown-dword31) 0) @@ -1635,16 +1555,7 @@ (set! (-> self control unknown-surface00) *flut-air-attack-mods*) (sound-play-by-name (static-sound-name "flop-land") (new-sound-id) 1024 -609 0 1 #t) (dummy-10 (-> self skel effect) 'group-flut-attack-strike-ground (ja-frame-num 0) 0) - (let* ((s5-2 (get-process *default-dead-pool* touch-tracker #x4000)) - (gp-2 (when s5-2 - (let ((t9-7 (method-of-type touch-tracker activate))) - (t9-7 (the-as touch-tracker s5-2) self 'touch-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 touch-tracker-init (-> self control trans) 4096.0 30) - (-> s5-2 ppointer) - ) - ) - ) + (let ((gp-2 (process-spawn touch-tracker :init touch-tracker-init (-> self control trans) 4096.0 30 :to self))) (send-event (ppointer->process gp-2) 'event 'attack 'flut-attack) (send-event (ppointer->process gp-2) 'function (lambda :behavior target ((arg0 nav-enemy)) @@ -1660,12 +1571,9 @@ ) (none) ) - :exit - (-> target-flut-air-attack exit) - :trans - (-> target-flut-hit-ground trans) - :code - (behavior () + :exit (-> target-flut-air-attack exit) + :trans (-> target-flut-hit-ground trans) + :code (behavior () (ja-channel-set! 1) (ja-no-eval :group! (-> self draw art-group data 154) :num! (seek! (ja-aframe (the-as float 22.0) 0)) @@ -1691,15 +1599,12 @@ (go target-flut-stance) (none) ) - :post - target-flut-post + :post target-flut-post ) (defstate target-flut-hit (target) - :event - target-flut-standard-event-handler - :exit - (behavior () + :event target-flut-standard-event-handler + :exit (behavior () (if (!= (-> self next-state name) 'target-flut-death) (logclear! (-> self state-flags) (state-flags sf03 sf15)) ) @@ -1707,8 +1612,7 @@ ((-> target-flut-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (when (= *cheat-mode* 'debug) (when (and (not *pause-lock*) (cpad-hold? (-> self control unknown-cpad-info00 number) r2)) (pickup-collectable! (-> self fact-info-target) (pickup-type eco-green) (the-as float 1.0) (the-as handle #f)) @@ -1717,8 +1621,7 @@ ) (none) ) - :code - (behavior ((arg0 symbol) (arg1 attack-info)) + :code (behavior ((arg0 symbol) (arg1 attack-info)) (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((gp-0 (-> self attack-info))) (let ((s5-0 (new 'stack-no-clear 'vector))) @@ -1742,7 +1645,7 @@ ) ) (combine! gp-0 arg1) - (when (zero? (logand (-> gp-0 mask) 2)) + (when (zero? (logand (-> gp-0 mask) (attack-mask vector))) (vector-z-quaternion! (-> gp-0 vector) (-> self control unknown-quaternion00)) (vector-xz-normalize! (-> gp-0 vector) (- (fabs (-> gp-0 shove-back)))) (set! (-> gp-0 vector y) (-> gp-0 shove-up)) @@ -1853,25 +1756,20 @@ (go target-flut-hit-ground) (none) ) - :post - target-flut-post + :post target-flut-post ) (defstate target-flut-death (target) - :event - (-> target-death event) - :exit - (behavior () + :event (-> target-death event) + :exit (behavior () (logclear! (-> self state-flags) (state-flags sf03 sf15)) (target-exit) (clear-pending-settings-from-process *setting-control* self 'process-mask) (copy-settings-from-target! *setting-control*) (none) ) - :trans - (-> target-hit trans) - :code - (behavior ((arg0 symbol)) + :trans (-> target-hit trans) + :code (behavior ((arg0 symbol)) (local-vars (v1-104 symbol)) (logior! (-> self state-flags) (state-flags sf15)) (set! (-> self neck flex-blend) 0.0) @@ -1965,17 +1863,13 @@ (go target-flut-stance) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) (defstate target-flut-get-on (target) - :event - target-generic-event-handler - :exit - (-> target-flut-start exit) - :code - (behavior ((arg0 handle)) + :event target-generic-event-handler + :exit (-> target-flut-start exit) + :code (behavior ((arg0 handle)) (set! (-> self control transv quad) (the-as uint128 0)) (set! (-> self alt-cam-pos quad) (-> (&-> (-> self control) unknown-qword00) 0)) (logior! (-> self state-flags) (state-flags sf10)) @@ -2031,8 +1925,7 @@ (go target-flut-stance) (none) ) - :post - (behavior () + :post (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (f30-0 (fmin 1.0 (* 0.0044444446 (the float (- (-> *display* base-frame-counter) (-> self state-time)))))) ) @@ -2064,12 +1957,9 @@ ) (defstate target-flut-get-off (target) - :event - target-generic-event-handler - :exit - (-> target-flut-start exit) - :code - (behavior ((arg0 handle)) + :event target-generic-event-handler + :exit (-> target-flut-start exit) + :code (behavior ((arg0 handle)) (set-forward-vel (the-as float 0.0)) (let ((s5-0 0)) (while (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) @@ -2081,8 +1971,7 @@ (go target-flut-get-off-jump arg0) (none) ) - :post - (behavior () + :post (behavior () (target-no-stick-post) (target-flut-post-post) (none) @@ -2090,12 +1979,9 @@ ) (defstate target-flut-get-off-jump (target) - :event - target-generic-event-handler - :exit - (-> target-flut-start exit) - :code - (behavior ((arg0 handle)) + :event target-generic-event-handler + :exit (-> target-flut-start exit) + :code (behavior ((arg0 handle)) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control transv quad) (the-as uint128 0)) (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -2150,8 +2036,7 @@ (go target-flut-get-off-hit-ground #f) (none) ) - :post - (behavior () + :post (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (f30-0 (fmax 0.0 (fmin 1.0 (* 0.006666667 (the float (- (-> *display* base-frame-counter) (-> self state-time)))))) @@ -2189,18 +2074,14 @@ ) (defstate target-flut-get-off-hit-ground (target) - :event - target-standard-event-handler - :enter - (-> target-hit-ground enter) - :trans - (behavior () + :event target-standard-event-handler + :enter (-> target-hit-ground enter) + :trans (behavior () (logior! (-> self control status) (cshape-moving-flags onsurf onground tsurf)) ((-> target-hit-ground trans)) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-channel-set! 1) (ja-no-eval :group! (-> self draw art-group data 35) :num! (seek!) @@ -2213,13 +2094,11 @@ (go target-stance) (none) ) - :post - target-post + :post target-post ) (defstate target-flut-grab (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) (-> self state name) @@ -2239,24 +2118,20 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self control unknown-surface00) *grab-mods*) (set! (-> self neck flex-blend) 0.0) (logior! (-> self state-flags) (state-flags sf04 sf08)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self state-flags) (state-flags sf04 sf08)) (target-exit) ((-> target-flut-start exit)) (none) ) - :code - (-> target-flut-stance code) - :post - (behavior () + :code (-> target-flut-stance code) + :post (behavior () (target-no-stick-post) (target-flut-post-post) (none) @@ -2264,31 +2139,26 @@ ) (defstate target-flut-clone-anim (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (= arg2 'trans) (= (-> arg3 param 0) 'restore)) (set! (-> self control unknown-uint20) (the-as uint #f)) ) ((-> target-flut-grab event) arg0 arg1 arg2 arg3) ) - :enter - (-> target-clone-anim enter) - :exit - (behavior () + :enter (-> target-clone-anim enter) + :exit (behavior () (send-event (ppointer->process (-> self sidekick)) 'matrix #f) ((-> target-clone-anim exit)) ((-> target-flut-start exit)) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (send-event (ppointer->process (-> self sidekick)) 'matrix 'play-anim) (clone-anim arg0 33 #t "") (go target-flut-stance) (none) ) - :post - (behavior () + :post (behavior () (target-no-ja-move-post) (target-flut-post-post) (none) diff --git a/goal_src/levels/intro/evilbro.gc b/goal_src/levels/intro/evilbro.gc index 4866314648..c6b09901ae 100644 --- a/goal_src/levels/intro/evilbro.gc +++ b/goal_src/levels/intro/evilbro.gc @@ -6,8 +6,9 @@ ;; dgos: INT, L1 ;; DECOMP BEGINS -(import "goal_src/import/evilsis-ag.gc") + (import "goal_src/import/evilbro-ag.gc") +(import "goal_src/import/evilsis-ag.gc") (deftype evilbro (process-taskable) ((evilsis entity :offset-assert 380) @@ -44,8 +45,7 @@ (defstate play-anim (evilbro) :virtual #t - :exit - (behavior () + :exit (behavior () (send-event (-> self evilsis extra process) 'end-mode) ((-> (method-of-type process-taskable play-anim) exit)) (none) @@ -54,8 +54,7 @@ (defstate idle (evilbro) :virtual #t - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) ) @@ -66,14 +65,12 @@ (ja :num! (seek!)) ) (let ((gp-0 (-> *display* base-frame-counter))) - (while (let* ((s5-0 (-> *display* base-frame-counter)) - (f30-0 300.0) - (f28-0 0.16) - (f26-0 0.17000002) - (v1-29 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-30 (the-as number (logior #x3f800000 v1-29))) - ) - (< (- s5-0 (the-as time-frame (the int (* f30-0 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-30)))))))) gp-0) + (while (let ((s5-0 (-> *display* base-frame-counter)) + (f30-0 300.0) + (f28-0 0.16) + (f26-0 0.17000002) + ) + (< (- s5-0 (the-as time-frame (the int (* f30-0 (+ f28-0 (* f26-0 (rand-float-gen))))))) gp-0) ) (suspend) ) @@ -84,14 +81,12 @@ (ja :num! (seek! (ja-aframe 0.0 0))) ) (let ((gp-3 (-> *display* base-frame-counter))) - (while (let* ((s5-1 (-> *display* base-frame-counter)) - (f30-1 300.0) - (f28-1 0.16) - (f26-1 0.17000002) - (v1-54 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-55 (the-as number (logior #x3f800000 v1-54))) - ) - (< (- s5-1 (the-as time-frame (the int (* f30-1 (+ f28-1 (* f26-1 (+ -1.0 (the-as float v1-55)))))))) gp-3) + (while (let ((s5-1 (-> *display* base-frame-counter)) + (f30-1 300.0) + (f28-1 0.16) + (f26-1 0.17000002) + ) + (< (- s5-1 (the-as time-frame (the int (* f30-1 (+ f28-1 (* f26-1 (rand-float-gen))))))) gp-3) ) (suspend) ) @@ -142,8 +137,7 @@ (defstate idle (evilsis) :virtual #t - :trans - (behavior () + :trans (behavior () (set! (-> self will-talk) #f) ((-> (method-of-type process-taskable idle) trans)) (none) diff --git a/goal_src/levels/jungle/bouncer.gc b/goal_src/levels/jungle/bouncer.gc index eecaca20ad..1570c35ecf 100644 --- a/goal_src/levels/jungle/bouncer.gc +++ b/goal_src/levels/jungle/bouncer.gc @@ -8,6 +8,7 @@ (declare-type springbox process-drawable) ;; DECOMP BEGINS + (import "goal_src/import/bounceytarp-ag.gc") (deftype springbox (process-drawable) @@ -34,21 +35,12 @@ ) (defstate bouncer-wait (springbox) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('bonk) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 3) - (set! (-> a1-3 message) 'jump) - (set! (-> a1-3 param 0) (the-as uint (-> self spring-height))) - (set! (-> a1-3 param 1) (the-as uint (-> self spring-height))) - (set! (-> a1-3 param 2) (the-as uint #f)) - (when (send-event-function arg0 a1-3) - (sound-play-by-name (static-sound-name "trampoline") (new-sound-id) 1024 0 0 1 #t) - (go bouncer-fire) - ) + (when (send-event arg0 'jump (-> self spring-height) (-> self spring-height) #f) + (sound-play-by-name (static-sound-name "trampoline") (new-sound-id) 1024 0 0 1 #t) + (go bouncer-fire) ) ) (('touch) @@ -64,8 +56,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) (loop @@ -77,8 +68,7 @@ ) (defstate bouncer-smush (springbox) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -89,8 +79,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self smush) 0.0) (loop @@ -115,13 +104,11 @@ ) (none) ) - :post - (the-as (function none :behavior springbox) transform-post) + :post (the-as (function none :behavior springbox) transform-post) ) (defstate bouncer-fire (springbox) - :code - (behavior () + :code (behavior () (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 178 (seconds 0.1)) (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num (ja-aframe 6.0 0)) (until (ja-done? 0) @@ -131,8 +118,7 @@ (go bouncer-wait) (none) ) - :post - (the-as (function none :behavior springbox) transform-post) + :post (the-as (function none :behavior springbox) transform-post) ) (defmethod init-from-entity! springbox ((obj springbox) (arg0 entity-actor)) diff --git a/goal_src/levels/jungle/darkvine.gc b/goal_src/levels/jungle/darkvine.gc index 6c4a06cc13..291f34c129 100644 --- a/goal_src/levels/jungle/darkvine.gc +++ b/goal_src/levels/jungle/darkvine.gc @@ -11,6 +11,7 @@ ;; DECOMP BEGINS + (import "goal_src/import/darkvine-ag.gc") (deftype darkvine (process-drawable) @@ -59,13 +60,11 @@ :duration 150 :flags (use-local-clock) :bounds (static-bspherem 0 2 0 3) - :parts - ((sp-item 800) (sp-item 801) (sp-item 802)) + :parts ((sp-item 800) (sp-item 801) (sp-item 802)) ) (defpart 800 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-x (meters 0) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -87,8 +86,7 @@ ) (defpart 802 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 0.25) (sp-rnd-flt spt-x (meters 0) (meters 0.6) 1.0) (sp-rnd-flt spt-scale-x (meters 0.025) (meters 0.2) 1.0) @@ -109,8 +107,7 @@ ) (defpart 801 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 0) (meters 0.6) 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.4) 1.0) @@ -138,16 +135,9 @@ ((= v1-0 'touch) (do-push-aways! (-> self root-override)) (when (-> self dangerous) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'attack) - (set! (-> a1-1 param 0) (-> arg3 param 0)) - (set! (-> a1-1 param 1) (the-as uint (new 'static 'attack-info))) - (if (send-event-function arg0 a1-1) - (set-collide-offense (-> self root-override) 2 (collide-offense no-offense)) - ) - ) + (if (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) + (set-collide-offense (-> self root-override) 2 (collide-offense no-offense)) + ) ) ) ((= v1-0 'attack) @@ -172,10 +162,8 @@ ) (defstate darkvine-idle (darkvine) - :event - darkvine-event-handler - :code - (behavior () + :event darkvine-event-handler + :code (behavior () (set! (-> self dangerous) #t) (set! (-> self vulnerable) #t) (let ((f30-0 0.0)) @@ -200,8 +188,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (when (and (-> self hit-player) (or (not *target*) (>= (- (-> *display* base-frame-counter) (-> self touch-time)) (seconds 0.05))) ) @@ -222,10 +209,8 @@ ) (defstate darkvine-retreat (darkvine) - :event - darkvine-event-handler - :code - (behavior () + :event darkvine-event-handler + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self dangerous) #f) (set! (-> self vulnerable) #f) @@ -250,23 +235,16 @@ (suspend) ) ) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 175) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 175) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (let ((gp-2 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-2) (seconds 0.5)) @@ -284,13 +262,11 @@ (go darkvine-idle) (none) ) - :post - (-> darkvine-idle post) + :post (-> darkvine-idle post) ) (defstate darkvine-die (darkvine) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (logclear! (-> self mask) (process-mask actor-pause)) (if arg0 (ja-channel-set! 1) @@ -305,8 +281,7 @@ (anim-loop) (none) ) - :post - (-> darkvine-idle post) + :post (-> darkvine-idle post) ) (defmethod init-from-entity! darkvine ((obj darkvine) (arg0 entity-actor)) diff --git a/goal_src/levels/jungle/fisher.gc b/goal_src/levels/jungle/fisher.gc index 9c78c299bf..237c12a6d3 100644 --- a/goal_src/levels/jungle/fisher.gc +++ b/goal_src/levels/jungle/fisher.gc @@ -8,11 +8,12 @@ (declare-type fisher-fish process-drawable) ;; DECOMP BEGINS -(import "goal_src/import/catch-fisha-ag.gc") -(import "goal_src/import/fisher-ag.gc") -(import "goal_src/import/catch-fishc-ag.gc") -(import "goal_src/import/catch-fishb-ag.gc") + (import "goal_src/import/fish-net-ag.gc") +(import "goal_src/import/fisher-ag.gc") +(import "goal_src/import/catch-fisha-ag.gc") +(import "goal_src/import/catch-fishb-ag.gc") +(import "goal_src/import/catch-fishc-ag.gc") (deftype fisher-bank (basic) ((width meters :offset-assert 4) @@ -36,13 +37,11 @@ :linger-duration 450 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 828) (sp-item 2013)) + :parts ((sp-item 828) (sp-item 2013)) ) (defpart 828 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-y (meters 0.2)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) @@ -62,13 +61,11 @@ ) (defpart 829 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) (defpart 2013 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-x (meters -0.7) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.1) (meters 0.2) 1.0) @@ -91,13 +88,11 @@ :linger-duration 450 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2001)) + :parts ((sp-item 2001)) ) (defpart 2001 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.25) (meters 0.5) 1.0) @@ -120,13 +115,11 @@ :linger-duration 1200 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 830) (sp-item 831)) + :parts ((sp-item 830) (sp-item 831)) ) (defpart 831 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-scale-x (meters 5) (meters 1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -140,8 +133,7 @@ ) (defpart 830 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 1.0) (sp-int spt-rot-x 4) @@ -164,8 +156,7 @@ ) (defpart 832 - :init-specs - ((sp-flt spt-fade-a -0.8)) + :init-specs ((sp-flt spt-fade-a -0.8)) ) (deftype fisher-params (structure) @@ -186,10 +177,7 @@ ) -(define *fisher-params* (new - 'static - 'boxed-array - :type (inline-array fisher-params) :length 6 :allocated-length 6 +(define *fisher-params* (new 'static 'boxed-array :type (inline-array fisher-params) (new 'static 'inline-array fisher-params 16 (new 'static 'fisher-params :timeout (seconds 2)) (new 'static 'fisher-params @@ -902,8 +890,7 @@ ) (defstate fisher-fish-fall (fisher-fish) - :code - (behavior () + :code (behavior () (set-heading-vec! (-> self root) (TODO-RENAME-12 (-> (the-as fisher (-> self parent 0)) path) (-> self dir) (-> self pos)) @@ -928,13 +915,11 @@ ) (none) ) - :post - (the-as (function none :behavior fisher-fish) ja-post) + :post (the-as (function none :behavior fisher-fish) ja-post) ) (defstate fisher-fish-caught (fisher-fish) - :code - (behavior () + :code (behavior () (case (-> self mode) (('deadly 'bad) (sound-play-by-name (static-sound-name "caught-eel") (new-sound-id) 1024 0 0 1 #t) @@ -942,27 +927,31 @@ (send-event (ppointer->process (-> self parent)) 'deadly) ) (('powerup) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 179) -1 #f #f #f (-> self root trans)) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 179) + -1 + #f + #f + #f + (-> self root trans) + :to *entity-pool* ) (sound-play-by-name (static-sound-name "get-big-fish") (new-sound-id) 1024 0 0 1 #t) (send-event (ppointer->process (-> self parent)) 'fisher-fish-caught 5) ) (else - (let ((gp-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-3 - (let ((t9-11 (method-of-type part-tracker activate))) - (t9-11 (the-as part-tracker gp-3) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-3 part-tracker-init (-> *part-group-id-table* 179) -1 #f #f #f (-> self root trans)) - (-> gp-3 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 179) + -1 + #f + #f + #f + (-> self root trans) + :to *entity-pool* ) (sound-play-by-name (static-sound-name "get-small-fish") (new-sound-id) 1024 0 0 1 #t) (send-event (ppointer->process (-> self parent)) 'fisher-fish-caught 1) @@ -982,8 +971,7 @@ ) (defstate fisher-fish-die (fisher-fish) - :code - (behavior () + :code (behavior () (case (-> self mode) (('deadly 'bad) ) @@ -995,10 +983,7 @@ *entity-pool* (game-task none) ) - (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-3 (the-as number (logior #x3f800000 v1-2))) - (f0-2 (+ -1.0 (the-as float v1-3))) - ) + (let ((f0-2 (rand-float-gen))) (if (< 0.5 f0-2) (play-ambient (-> (the-as fisher (-> self parent 0)) ambient) "FIS-TA04" #t (-> self root trans)) (play-ambient (-> (the-as fisher (-> self parent 0)) ambient) "FIS-TA05" #t (-> self root trans)) @@ -1007,10 +992,7 @@ (send-event (ppointer->process (-> self parent)) 'fisher-fish-die 5) ) (else - (let* ((v1-21 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-22 (the-as number (logior #x3f800000 v1-21))) - (f0-5 (+ -1.0 (the-as float v1-22))) - ) + (let ((f0-5 (rand-float-gen))) (cond ((and (< 0.8333 f0-5) (< (-> (the-as fisher (-> self parent 0)) paddle-pos z) (-> self root trans z))) (play-ambient (-> (the-as fisher (-> self parent 0)) ambient) "FIS-TA01" #t (-> self root trans)) @@ -1139,8 +1121,7 @@ :name "fisher-introduction" :index 8 :parts 9 - :command-list - '((0 want-levels village1 jungle) + :command-list '((0 want-levels village1 jungle) (0 alive "jungle-part-1") (130 blackout 10) (130 display-level village1 movie) @@ -1185,8 +1166,7 @@ :name "fisher-resolution" :index 9 :parts 4 - :command-list - '((188 blackout 10) (199 blackout 0)) + :command-list '((188 blackout 10) (199 blackout 0)) ) ) (else @@ -1234,8 +1214,7 @@ :name "fisher-accept" :index 12 :parts 6 - :command-list - '((0 send-event self emissive-on) (700 send-event self emissive-off)) + :command-list '((0 send-event self emissive-on) (700 send-event self emissive-off)) ) ) @@ -1244,8 +1223,7 @@ ) (defstate fisher-done (fisher) - :enter - (behavior () + :enter (behavior () (init! (-> self query) (lookup-text! *common-text* (game-text-id play-again?) #f) @@ -1347,40 +1325,30 @@ (-> gp-2 user-uint8 6) ) ) - (let ((gp-3 (get-process *default-dead-pool* process #x4000))) - (when gp-3 - (let ((t9-15 (method-of-type process activate))) - (t9-15 gp-3 *default-pool* 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process gp-3 (lambda :behavior process - () - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 0.1)) - (suspend) - ) - ) - (ambient-hint-spawn "st-lose" (the-as vector #f) *entity-pool* 'stinger) - (none) - ) - ) - (-> gp-3 ppointer) - ) - ) + (process-spawn-function process (lambda :behavior process + () + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 0.1)) + (suspend) + ) + ) + (ambient-hint-spawn "st-lose" (the-as vector #f) *entity-pool* 'stinger) + (none) + ) + ) (send-event *target* 'lose) ) ) (none) ) - :exit - (behavior () + :exit (behavior () (when (and *target* (the-as target #f)) (send-event *target* 'end-mode) (process-grab? *target*) ) (none) ) - :trans - (behavior () + :trans (behavior () (set! *camera-look-through-other* 2) (cond ((>= (-> self caught) (-> *FISHER-bank* max-caught)) @@ -1432,17 +1400,12 @@ (spool-push *art-control* "fisher-reject" 0 self -99.0) (none) ) - :code - (the-as (function none :behavior fisher) process-taskable-anim-loop) - :post - (the-as (function none :behavior fisher) ja-post) + :code (the-as (function none :behavior fisher) process-taskable-anim-loop) + :post (the-as (function none :behavior fisher) ja-post) ) (defbehavior fisher-spawn-ambient fisher () - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - (f0-2 (+ -1.0 (the-as float v1-2))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((and (< 0.3 f0-2) (< (+ (-> *FISHER-bank* max-caught) -30) (-> self caught))) (if (and (>= (- (-> *display* base-frame-counter) (-> self ambient-almost)) (seconds 10)) @@ -1535,15 +1498,7 @@ (set! (-> self spawn-time) (-> *display* base-frame-counter)) (sound-play-by-name (static-sound-name "fish-spawn") (new-sound-id) 716 0 0 1 #t) (fisher-spawn-ambient) - (let ((s5-1 (get-process *default-dead-pool* fisher-fish #x4000))) - (when s5-1 - (let ((t9-10 (method-of-type fisher-fish activate))) - (t9-10 (the-as fisher-fish s5-1) self 'fisher-fish (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 fisher-fish-init-by-other gp-0 (-> self spawner) (* 1.85 (-> self params fish-vel))) - (-> s5-1 ppointer) - ) - ) + (process-spawn fisher-fish gp-0 (-> self spawner) (* 1.85 (-> self params fish-vel)) :to self) ) ) (let ((f1-14 (analog-input (the-as int (-> *cpad-list* cpads 0 leftx)) 128.0 32.0 110.0 28.0))) @@ -1564,8 +1519,7 @@ ) (defstate fisher-playing (fisher) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-2 object)) (case arg2 (('fisher-fish-die) @@ -1590,36 +1544,29 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set-setting! *setting-control* self 'ambient-volume 'rel 50.0 0) (send-event *target* 'reset-pickup 'eco) (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (get-process *default-dead-pool* process #x4000))) - (when gp-0 - (let ((t9-5 (method-of-type process activate))) - (t9-5 gp-0 self 'process (the-as pointer #x70004000)) + (process-spawn-function + process + (lambda :behavior fisher-fish + () + (logclear! (-> self mask) (process-mask pause)) + (loop + (fisher-draw-display (the-as fisher (ppointer->process (-> self parent)))) + (suspend) ) - (run-next-time-in-process gp-0 (lambda :behavior fisher-fish - () - (logclear! (-> self mask) (process-mask pause)) - (loop - (fisher-draw-display (the-as fisher (ppointer->process (-> self parent)))) - (suspend) - ) - (none) - ) - ) - (-> gp-0 ppointer) + (none) ) + :to self ) (send-event *camera* 'change-to-entity-by-name "camera-152") (init! (-> self query) (the-as string #f) 40 150 25 #t (lookup-text! *common-text* (game-text-id quit) #f)) (none) ) - :exit - (behavior () + :exit (behavior () (clear-pending-settings-from-process *setting-control* self 'ambient-volume) (let* ((v1-2 *camera-other-matrix*) (a3-0 (-> *camera-combiner* inv-camera-rot)) @@ -1643,14 +1590,12 @@ 0 (none) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "fisher-resolution" 0 self -99.0) (spool-push *art-control* "fisher-reject" 0 self -99.0) (none) ) - :code - (behavior () + :code (behavior () (set! *display-profile* #f) (set! (-> self paddle) 0.5) (set! (-> self paddle-vel) 0.0) @@ -1685,8 +1630,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (ja-post) (none) ) @@ -1694,27 +1638,18 @@ (defstate enter-playing (fisher) :virtual #t - :trans - (behavior () + :trans (behavior () (set-blackout-frames (seconds 0.017)) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'change-mode) - (set! (-> a1-0 param 0) (the-as uint 'fishing)) - (set! (-> a1-0 param 1) (the-as uint self)) - (if (send-event-function *target* a1-0) - (go fisher-playing) - ) - ) + (if (send-event *target* 'change-mode 'fishing self) + (go fisher-playing) + ) (none) ) ) (defstate query (fisher) :virtual #t - :enter - (behavior () + :enter (behavior () (init! (-> self query) (lookup-text! *common-text* (game-text-id fish?) #f) @@ -1732,10 +1667,7 @@ (cond ((closed? (-> obj tasks) (game-task jungle-fishgame) (task-status need-reminder)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 1) 122880.0 obj) - (let* ((v1-5 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-6 (the-as number (logior #x3f800000 v1-5))) - (f0-2 (+ -1.0 (the-as float v1-6))) - ) + (let ((f0-2 (rand-float-gen))) (if (< 0.5 f0-2) (play-ambient (-> obj ambient) "FIS-LO03" #f (-> obj root-override trans)) (play-ambient (-> obj ambient) "FIS-LO05" #f (-> obj root-override trans)) @@ -1745,10 +1677,7 @@ ) (else (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-15 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-16 (the-as number (logior #x3f800000 v1-15))) - (f0-5 (+ -1.0 (the-as float v1-16))) - ) + (let ((f0-5 (rand-float-gen))) (cond ((< 0.875 f0-5) (play-ambient (-> obj ambient) "FIS-LO01" #f (-> obj root-override trans)) @@ -1783,8 +1712,7 @@ (defstate play-accept (fisher) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 rgbaf)) (let ((v1-0 arg2)) (the-as object (cond @@ -1810,8 +1738,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (-> self training) (let ((gp-0 (new-stack-vector0))) (vector<-cspace! gp-0 (-> self node-list data 74)) @@ -1865,8 +1792,7 @@ (defstate idle (fisher) :virtual #t - :trans - (behavior () + :trans (behavior () (let ((t9-1 (-> (the-as state (find-parent-method fisher 30)) trans))) (if t9-1 (t9-1) @@ -1986,8 +1912,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.2)) ) @@ -2082,8 +2007,7 @@ ) (defstate target-fishing (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((= arg2 'bounce) (set-zero! (-> self control unknown-smush00)) @@ -2098,16 +2022,14 @@ ) ) ) - :enter - (behavior ((arg0 handle)) + :enter (behavior ((arg0 handle)) (set! (-> self control unknown-surface00) *empty-mods*) (logior! (-> self state-flags) (state-flags sf04)) (set-zero! (-> self control unknown-smush00)) (set! (-> self control unknown-uint20) (the-as uint #f)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self state-flags) (state-flags sf04)) (let ((v1-2 (-> self manipy))) (when v1-2 @@ -2118,8 +2040,7 @@ (-> target-periscope exit) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (let ((v1-1 (handle->process arg0))) (when (and v1-1 (type-type? (-> v1-1 type) fisher)) (set-vector! (-> self control trans) 1067827.2 9420.8 -955596.8 1.0) @@ -2180,10 +2101,9 @@ (until (-> self control unknown-spoolanim00) (let ((v1-42 (handle->process arg0))) (when v1-42 - (ja :num! - (seek! - (* (fmax 0.0 (- 1.0 (-> (the-as fisher v1-42) paddle))) (the float (+ (-> (ja-group) data 0 length) -1))) - ) + (ja :num! (seek! + (* (fmax 0.0 (- 1.0 (-> (the-as fisher v1-42) paddle))) (the float (+ (-> (ja-group) data 0 length) -1))) + ) ) (when (-> self manipy) (let ((s2-0 (new-stack-vector0)) @@ -2219,8 +2139,7 @@ ) (none) ) - :post - target-post + :post target-post ) diff --git a/goal_src/levels/jungle/hopper.gc b/goal_src/levels/jungle/hopper.gc index f340cf19f9..56b0edb224 100644 --- a/goal_src/levels/jungle/hopper.gc +++ b/goal_src/levels/jungle/hopper.gc @@ -6,6 +6,7 @@ ;; dgos: JUN, JUNGLE, L1 ;; DECOMP BEGINS + (import "goal_src/import/hopper-ag.gc") (deftype hopper (nav-enemy) @@ -110,13 +111,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-idle (hopper) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior hopper) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (loop (dotimes (gp-0 3) @@ -138,20 +137,17 @@ nav-enemy-default-event-handler (defstate nav-enemy-patrol (hopper) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior hopper) nav-enemy-jump-event-handler ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate))) ((-> (method-of-type nav-enemy nav-enemy-patrol) trans)) ) (none) ) - :code - (behavior () + :code (behavior () (vector-reset! (-> self collide-info transv)) (set! (-> self jump-length) 16384.0) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) @@ -195,19 +191,16 @@ nav-enemy-default-event-handler ) (none) ) - :post - (the-as (function none :behavior hopper) nav-enemy-jump-post) + :post (the-as (function none :behavior hopper) nav-enemy-jump-post) ) (defstate nav-enemy-notice (hopper) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior hopper) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-chase) (none) ) @@ -215,20 +208,17 @@ nav-enemy-default-event-handler (defstate nav-enemy-chase (hopper) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior hopper) nav-enemy-jump-event-handler ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate))) ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) ) (none) ) - :code - (behavior () + :code (behavior () (vector-reset! (-> self collide-info transv)) (set! (-> self jump-length) 32768.0) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) @@ -267,19 +257,16 @@ nav-enemy-default-event-handler ) (none) ) - :post - (the-as (function none :behavior hopper) nav-enemy-jump-post) + :post (the-as (function none :behavior hopper) nav-enemy-jump-post) ) (defstate nav-enemy-stop-chase (hopper) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior hopper) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-stare) (none) ) diff --git a/goal_src/levels/jungle/jungle-elevator.gc b/goal_src/levels/jungle/jungle-elevator.gc index 95e58a77ed..cfc13e83a8 100644 --- a/goal_src/levels/jungle/jungle-elevator.gc +++ b/goal_src/levels/jungle/jungle-elevator.gc @@ -25,8 +25,7 @@ (defstate plat-button-move-downward (jungle-elevator) :virtual #t - :enter - (behavior () + :enter (behavior () (let ((t9-0 (-> (method-of-type plat-button plat-button-move-downward) enter))) (if t9-0 (t9-0) @@ -38,8 +37,7 @@ (send-event *target* 'reset-pickup 'eco) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> jungle bottom-height) (-> self bottom-height)) (let ((t9-0 (-> (method-of-type plat-button plat-button-move-downward) exit))) (if t9-0 @@ -48,8 +46,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((s5-0 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -74,8 +71,7 @@ (defstate plat-button-move-upward (jungle-elevator) :virtual #t - :enter - (behavior () + :enter (behavior () (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) enter))) (if t9-0 (t9-0) @@ -87,8 +83,7 @@ (set! (-> self grab-player?) (process-grab? *target*)) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> jungle bottom-height) (-> self bottom-height)) (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) exit))) (if t9-0 @@ -97,8 +92,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) trans))) (if t9-0 (t9-0) @@ -113,8 +107,7 @@ (defstate plat-button-at-end (jungle-elevator) :virtual #t - :code - (behavior () + :code (behavior () (cond ((!= (-> self path-pos) 0.0) (set! (-> self draw light-index) (the-as uint 1)) diff --git a/goal_src/levels/jungle/jungle-mirrors.gc b/goal_src/levels/jungle/jungle-mirrors.gc index b6fc692d35..3a4fa61c7b 100644 --- a/goal_src/levels/jungle/jungle-mirrors.gc +++ b/goal_src/levels/jungle/jungle-mirrors.gc @@ -10,15 +10,15 @@ (define-extern draw-power-beam (function vector vector none)) ;; DECOMP BEGINS -(import "goal_src/import/reflector-mirror-ag.gc") + (import "goal_src/import/periscope-ag.gc") +(import "goal_src/import/reflector-mirror-ag.gc") (defpartgroup group-jungle-binoculars :id 176 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 803) + :parts ((sp-item 803) (sp-item 804) (sp-item 805) (sp-item 806) @@ -43,8 +43,7 @@ ) (defpart 823 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x28 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x28 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-z (degrees -45.0)) @@ -61,8 +60,7 @@ ) (defpart 815 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-z (degrees -15.0)) @@ -79,8 +77,7 @@ ) (defpart 816 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-z (degrees 15.0)) @@ -97,8 +94,7 @@ ) (defpart 817 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-z (degrees 75.0)) @@ -115,8 +111,7 @@ ) (defpart 818 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-z (degrees 105.0)) @@ -133,8 +128,7 @@ ) (defpart 819 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-z (degrees 165.0)) @@ -151,8 +145,7 @@ ) (defpart 820 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-z (degrees 195.0)) @@ -169,8 +162,7 @@ ) (defpart 821 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-z (degrees 255.0)) @@ -187,8 +179,7 @@ ) (defpart 822 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-z (degrees 285.0)) @@ -205,8 +196,7 @@ ) (defpart 811 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.75)) (sp-flt spt-rot-z (degrees 0.0)) @@ -223,8 +213,7 @@ ) (defpart 812 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.75)) (sp-flt spt-rot-z (degrees 90.0)) @@ -241,8 +230,7 @@ ) (defpart 813 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.75)) (sp-flt spt-rot-z (degrees 180.0)) @@ -259,8 +247,7 @@ ) (defpart 814 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.75)) (sp-flt spt-rot-z (degrees 270.0)) @@ -277,8 +264,7 @@ ) (defpart 803 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.9)) (sp-flt spt-y (meters 2.1)) @@ -294,8 +280,7 @@ ) (defpart 804 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 1.11)) (sp-flt spt-y (meters 2.1)) @@ -311,8 +296,7 @@ ) (defpart 805 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.11)) (sp-flt spt-y (meters 2.1)) @@ -329,8 +313,7 @@ ) (defpart 806 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2.9)) (sp-flt spt-y (meters 2.1)) @@ -347,8 +330,7 @@ ) (defpart 807 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.9)) (sp-flt spt-y (meters -2.1)) @@ -365,8 +347,7 @@ ) (defpart 808 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 1.11)) (sp-flt spt-y (meters -2.1)) @@ -383,8 +364,7 @@ ) (defpart 809 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.11)) (sp-flt spt-y (meters -2.1)) @@ -401,8 +381,7 @@ ) (defpart 810 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2.9)) (sp-flt spt-y (meters -2.1)) @@ -421,13 +400,11 @@ (defpartgroup group-jungle-binoculars-aligned :id 689 :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 2840) (sp-item 2863) (sp-item 2864) (sp-item 2865)) + :parts ((sp-item 2840) (sp-item 2863) (sp-item 2864) (sp-item 2865)) ) (defpart 2865 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 5.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -451,13 +428,11 @@ ) (defpart 2866 - :init-specs - ((sp-flt spt-fade-a -0.85333335)) + :init-specs ((sp-flt spt-fade-a -0.85333335)) ) (defpart 2864 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -480,13 +455,11 @@ ) (defpart 2867 - :init-specs - ((sp-flt spt-fade-a -4.266667)) + :init-specs ((sp-flt spt-fade-a -4.266667)) ) (defpart 2863 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -504,8 +477,7 @@ ) (defpart 2840 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 13) (meters 5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -646,12 +618,9 @@ :bounds (static-spherem 0 9 0 9) ) -;; jungle eco connector first-person cam (defstate cam-periscope (camera-slave) - :event - cam-standard-event-handler - :enter - (behavior () + :event cam-standard-event-handler + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) (let ((v1-2 (-> self change-event-from))) @@ -668,15 +637,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (sv-32 int) (sv-48 int)) (let* ((gp-0 (-> self change-event-from)) (f28-0 (the-as float (-> (the-as periscope (-> gp-0 0)) tilt))) @@ -687,7 +654,7 @@ (when (not (or (paused?) (-> (the-as periscope (-> self change-event-from 0)) aligned?))) (vector-reset! s5-0) (when *camera-read-analog* - (let ((f26-0 (analog-input-horizontal-first ;; changed for pc port + (let ((f26-0 (analog-input (the-as int (+ (-> *cpad-list* cpads 0 rightx) -256 (-> *cpad-list* cpads 0 leftx))) 0.0 48.0 @@ -695,7 +662,7 @@ -1.0 ) ) - (f0-0 (analog-input-vertical-first ;; changed for pc port + (f0-0 (analog-input (the-as int (+ (-> *cpad-list* cpads 0 righty) -256 (-> *cpad-list* cpads 0 lefty))) 0.0 48.0 @@ -755,8 +722,7 @@ ) (defstate reflector-idle (reflector) - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) (loop (set! (-> gp-0 x) (-> self parent-override 0 tilt)) @@ -928,8 +894,7 @@ ) (defpart 825 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 4.5) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1112,127 +1077,79 @@ (gp-0 (cond ((name= arg0 "reflector-mirror-2") - (let ((s5-1 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-1 - (let ((t9-3 (method-of-type pov-camera activate))) - (t9-3 (the-as pov-camera s5-1) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - pov-camera-init-by-other - (-> gp-0 extra trans) - *junglecam-sg* - "tower1" - 0 - #f - '((0 ambient camera "gamcam14")) - ) - (-> s5-1 ppointer) - ) + (process-spawn + pov-camera + (-> gp-0 extra trans) + *junglecam-sg* + "tower1" + 0 + #f + '((0 ambient camera "gamcam14")) + :to self ) ) ((name= arg0 "periscope-11") - (let ((s5-2 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-2 - (let ((t9-7 (method-of-type pov-camera activate))) - (t9-7 (the-as pov-camera s5-2) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-2 - pov-camera-init-by-other - (-> gp-0 extra trans) - *junglecam-sg* - "tower2" - 0 - #f - '((0 ambient camera "gamcam15") (0 want-force-vis jungle #t) (0 want-force-vis village1 #t)) - ) - (-> s5-2 ppointer) - ) + (process-spawn + pov-camera + (-> gp-0 extra trans) + *junglecam-sg* + "tower2" + 0 + #f + '((0 ambient camera "gamcam15") (0 want-force-vis jungle #t) (0 want-force-vis village1 #t)) + :to self ) ) ((name= arg0 "periscope-12") - (let ((s5-3 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-3 - (let ((t9-11 (method-of-type pov-camera activate))) - (t9-11 (the-as pov-camera s5-3) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-3 - pov-camera-init-by-other - (-> gp-0 extra trans) - *junglecam-sg* - "tower3" - 0 - #f - '((0 ambient camera "gamcam16")) - ) - (-> s5-3 ppointer) - ) + (process-spawn + pov-camera + (-> gp-0 extra trans) + *junglecam-sg* + "tower3" + 0 + #f + '((0 ambient camera "gamcam16")) + :to self ) ) ((name= arg0 "periscope-13") - (let ((s5-4 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-4 - (let ((t9-15 (method-of-type pov-camera activate))) - (t9-15 (the-as pov-camera s5-4) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-4 - pov-camera-init-by-other - (-> gp-0 extra trans) - *junglecam-sg* - "tower4" - 0 - #f - '((0 ambient camera "gamcam17")) - ) - (-> s5-4 ppointer) - ) + (process-spawn + pov-camera + (-> gp-0 extra trans) + *junglecam-sg* + "tower4" + 0 + #f + '((0 ambient camera "gamcam17")) + :to self ) ) ((name= arg0 "periscope-14") - (let ((s5-5 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-5 - (let ((t9-19 (method-of-type pov-camera activate))) - (t9-19 (the-as pov-camera s5-5) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-5 - pov-camera-init-by-other - (-> gp-0 extra trans) - *junglecam-sg* - "tower5" - 0 - #f - '((0 ambient camera "gamcam18") (0 want-force-vis jungle #t) (0 want-force-vis village1 #t)) - ) - (-> s5-5 ppointer) - ) + (process-spawn + pov-camera + (-> gp-0 extra trans) + *junglecam-sg* + "tower5" + 0 + #f + '((0 ambient camera "gamcam18") (0 want-force-vis jungle #t) (0 want-force-vis village1 #t)) + :to self ) ) ((name= arg0 "periscope-15") - (let ((s5-6 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-6 - (let ((t9-23 (method-of-type pov-camera activate))) - (t9-23 (the-as pov-camera s5-6) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-6 - pov-camera-init-by-other - (-> gp-0 extra trans) - *junglecam-sg* - "beamcam" - 0 - #f - '((0 ambient camera "gamcam19") - (0 want-force-vis jungle #t) - (0 want-force-vis village1 #t) - (0 display-level village1 movie) - ) - ) - (-> s5-6 ppointer) + (process-spawn + pov-camera + (-> gp-0 extra trans) + *junglecam-sg* + "beamcam" + 0 + #f + '((0 ambient camera "gamcam19") + (0 want-force-vis jungle #t) + (0 want-force-vis village1 #t) + (0 display-level village1 movie) ) + :to self ) ) (else @@ -1254,8 +1171,7 @@ ) (defstate periscope-idle (periscope) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('activate) (logclear! (-> self mask) (process-mask actor-pause)) @@ -1263,21 +1179,17 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (clear-collide-with-as (-> self root-override)) (none) ) - :exit - (behavior () + :exit (behavior () (restore-collide-with-as (-> self root-override)) (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - periscope-debug-trans - :code - (behavior () + :trans periscope-debug-trans + :code (behavior () (logior! (-> self mask) (process-mask actor-pause)) (set! (-> self raised?) #f) (set! (-> self y-offset) 0.0) @@ -1297,8 +1209,7 @@ ) (defstate periscope-activate (periscope) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self rise-sound-id)) (sound-play-by-name (static-sound-name "eco-tower-stop") @@ -1311,10 +1222,8 @@ ) (none) ) - :trans - periscope-debug-trans - :code - (behavior () + :trans periscope-debug-trans + :code (behavior () (local-vars (v1-13 symbol)) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -1347,13 +1256,11 @@ (go periscope-wait-for-power-input) (none) ) - :post - periscope-post + :post periscope-post ) (defstate periscope-wait-for-power-input (periscope) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self raised?) #t) (let ((f30-0 (+ -20480.0 (-> self height)))) @@ -1373,8 +1280,7 @@ ) (none) ) - :post - (the-as (function none :behavior periscope) ja-post) + :post (the-as (function none :behavior periscope) ja-post) ) (defun target-close-to-point? ((arg0 vector) (arg1 float)) @@ -1382,8 +1288,7 @@ ) (defstate periscope-wait-for-player (periscope) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) (when (and *target* (not (and (logtest? (-> *target* control unknown-surface00 flags) (surface-flags surf11)) @@ -1415,13 +1320,11 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self grips-sound-id)) (none) ) - :code - (behavior () + :code (behavior () (hide-hud) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self raised?) #t) @@ -1518,8 +1421,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (if (-> self grips-moving?) (sound-play-by-name (static-sound-name "site-moves") @@ -1539,21 +1441,18 @@ ) (defstate periscope-player-control (periscope) - :exit - (behavior () + :exit (behavior () (logclear! (-> self reflector 0 draw status) (draw-status hidden)) (periscope-find-reflection-angles) (set! (-> self turn) (-> self target-turn)) (set! (-> self tilt) (-> self target-tilt)) (none) ) - :trans - (behavior () + :trans (behavior () (hide-hud) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self lock-time) (-> *display* base-frame-counter)) (link-to-next-and-prev-actor (-> self link)) (periscope-find-next) @@ -1673,92 +1572,80 @@ (close-specific-task! (game-task jungle-lurkerm) (task-status need-reminder)) ) (loop - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 0) - (set! (-> a1-6 message) 'end-mode) - (when (send-event-function *target* a1-6) - (cond - ((and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) - (let ((gp-1 (ppointer->handle (peri-beamcam-init-by-other (the-as string (-> self name)))))) + (when (send-event *target* 'end-mode) + (cond + ((and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) + (let ((gp-1 (ppointer->handle (peri-beamcam-init-by-other (the-as string (-> self name)))))) + (suspend) + (while (and *target* (= (-> *target* next-state name) 'target-periscope)) + (periscope-crosshair) (suspend) - (while (and *target* (= (-> *target* next-state name) 'target-periscope)) - (periscope-crosshair) - (suspend) - ) - (logclear! (-> self reflector 0 draw status) (draw-status hidden)) - (periscope-find-reflection-angles) - (set! (-> self turn) (-> self target-turn)) - (set! (-> self tilt) (-> self target-tilt)) - (set! *camera-init-mat* (-> self old-camera-matrix)) - (send-event *camera* 'change-state *camera-base-mode* 0) - (set! *camera-init-mat* #f) - (while (handle->process (the-as handle gp-1)) - (suspend) - ) ) - (let ((gp-2 (get-process *default-dead-pool* process #x4000))) - (when gp-2 - (let ((t9-18 (method-of-type process activate))) - (t9-18 gp-2 self 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process - gp-2 - (lambda ((arg0 string)) - (while (or (-> *setting-control* current ambient) - (-> *setting-control* current movie) - (-> *setting-control* current hint) - ) - (suspend) - ) - (cond - ((name= arg0 "periscope-11") - (level-hint-spawn - (game-text-id jungle-mirrors-follow-the-beam) - "sksp0053" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((name= arg0 "periscope-12") - (level-hint-spawn - (game-text-id jungle-mirrors-go-to-the-next-tower) - "sksp0052" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((name= arg0 "periscope-15") - (level-hint-spawn - (game-text-id jungle-mirrors-completion-talk-to-mayor) - "sksp0018" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ) - (none) - ) - (-> self name) - ) - (-> gp-2 ppointer) - ) + (logclear! (-> self reflector 0 draw status) (draw-status hidden)) + (periscope-find-reflection-angles) + (set! (-> self turn) (-> self target-turn)) + (set! (-> self tilt) (-> self target-tilt)) + (set! *camera-init-mat* (-> self old-camera-matrix)) + (send-event *camera* 'change-state *camera-base-mode* 0) + (set! *camera-init-mat* #f) + (while (handle->process (the-as handle gp-1)) + (suspend) ) ) - (else - (set! *camera-init-mat* (-> self old-camera-matrix)) - (send-event *camera* 'change-state *camera-base-mode* 0) - (set! *camera-init-mat* #f) - ) + (process-spawn-function + process + (lambda ((arg0 string)) + (while (or (-> *setting-control* current ambient) + (-> *setting-control* current movie) + (-> *setting-control* current hint) + ) + (suspend) + ) + (cond + ((name= arg0 "periscope-11") + (level-hint-spawn + (game-text-id jungle-mirrors-follow-the-beam) + "sksp0053" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((name= arg0 "periscope-12") + (level-hint-spawn + (game-text-id jungle-mirrors-go-to-the-next-tower) + "sksp0052" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((name= arg0 "periscope-15") + (level-hint-spawn + (game-text-id jungle-mirrors-completion-talk-to-mayor) + "sksp0018" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ) + (none) + ) + (-> self name) + :to self + ) + ) + (else + (set! *camera-init-mat* (-> self old-camera-matrix)) + (send-event *camera* 'change-state *camera-base-mode* 0) + (set! *camera-init-mat* #f) ) - (if (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) - (go periscope-power-on) - (go periscope-wait-for-player) - ) ) + (if (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) + (go periscope-power-on) + (go periscope-wait-for-player) + ) ) (suspend) ) @@ -1767,8 +1654,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (periscope-draw-beam) (periscope-update-joints) (ja-post) @@ -1777,10 +1663,8 @@ ) (defstate periscope-power-on (periscope) - :trans - periscope-debug-trans - :code - (behavior () + :trans periscope-debug-trans + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self y-offset) (-> self height)) (link-to-next-and-prev-actor (-> self link)) @@ -1810,8 +1694,7 @@ ) (none) ) - :post - periscope-post + :post periscope-post ) (defmethod init-from-entity! periscope ((obj periscope) (arg0 entity-actor)) @@ -1862,18 +1745,7 @@ (set! (-> obj base quad) (-> obj root-override trans quad)) (set! (-> obj reflector-trans quad) (-> obj base quad)) (+! (-> obj reflector-trans y) (-> obj height)) - (let ((s5-1 (get-process *default-dead-pool* reflector #x4000))) - (set! (-> obj reflector) - (the-as (pointer reflector) (when s5-1 - (let ((t9-14 (method-of-type reflector activate))) - (t9-14 (the-as reflector s5-1) obj 'reflector (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 reflector-init-by-other (-> obj reflector-trans)) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> obj reflector) (process-spawn reflector (-> obj reflector-trans) :to obj)) (set! (-> obj link) (new 'process 'actor-link-info obj)) (periscope-find-next) (initialize-skeleton obj *periscope-base-sg* '()) @@ -1919,8 +1791,7 @@ ) (defstate reflector-origin-idle (reflector-origin) - :code - (behavior () + :code (behavior () (reflector-origin-update (-> self blocker)) (while (zero? (logand (-> self blocker extra perm status) (entity-perm-status complete))) (suspend) @@ -1964,8 +1835,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (draw-power-beam (-> self reflector-trans) (-> self next-reflector-trans)) (none) ) @@ -1983,8 +1853,7 @@ ) (defstate reflector-mirror-idle (reflector-mirror) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (sound-play-by-name (static-sound-name "mirror-smash") (new-sound-id) 1024 0 0 1 #t) @@ -1992,13 +1861,11 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (new-stack-vector0))) (set! (-> gp-0 quad) (-> self root-override trans quad)) (set! (-> gp-0 y) (+ 49152.0 (-> gp-0 y))) @@ -2030,13 +1897,11 @@ ) (none) ) - :post - (the-as (function none :behavior reflector-mirror) ja-post) + :post (the-as (function none :behavior reflector-mirror) ja-post) ) (defstate reflector-mirror-broken (reflector-mirror) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) (ja-post) @@ -2064,23 +1929,8 @@ ) (when (not arg0) (ambient-hint-spawn "gamcam21" (the-as vector #f) *entity-pool* 'camera) - (let* ((gp-1 (get-process *default-dead-pool* manipy #x4000)) - (v1-11 (when gp-1 - (let ((t9-8 (method-of-type manipy activate))) - (t9-8 (the-as manipy gp-1) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - manipy-init - (-> self root-override trans) - (-> self entity) - *reflector-mirror-break-sg* - #f - ) - (-> gp-1 ppointer) - ) - ) - ) + (let ((v1-11 (manipy-spawn (-> self root-override trans) (-> self entity) *reflector-mirror-break-sg* #f :to self)) + ) (send-event (ppointer->process v1-11) 'anim-mode 'play1) ) (let ((gp-2 (-> *display* base-frame-counter))) diff --git a/goal_src/levels/jungle/jungle-obs.gc b/goal_src/levels/jungle/jungle-obs.gc index 534bae8431..acfbfc6054 100644 --- a/goal_src/levels/jungle/jungle-obs.gc +++ b/goal_src/levels/jungle/jungle-obs.gc @@ -6,16 +6,17 @@ ;; dgos: JUN, JUNGLE, L1 ;; DECOMP BEGINS -(import "goal_src/import/accordian-ag.gc") -(import "goal_src/import/precurbridge-ag.gc") -(import "goal_src/import/logtrap-ag.gc") + (import "goal_src/import/maindoor-ag.gc") -(import "goal_src/import/lurkerm-tall-sail-ag.gc") -(import "goal_src/import/lurkerm-piston-ag.gc") -(import "goal_src/import/medres-firecanyon-ag.gc") -(import "goal_src/import/sidedoor-ag.gc") (import "goal_src/import/junglecam-ag.gc") +(import "goal_src/import/precurbridge-ag.gc") +(import "goal_src/import/sidedoor-ag.gc") (import "goal_src/import/towertop-ag.gc") +(import "goal_src/import/logtrap-ag.gc") +(import "goal_src/import/lurkerm-tall-sail-ag.gc") +(import "goal_src/import/medres-firecanyon-ag.gc") +(import "goal_src/import/lurkerm-piston-ag.gc") +(import "goal_src/import/accordian-ag.gc") (defskelgroup *med-res-firecanyon-sg* medres-firecanyon medres-firecanyon-lod0-jg medres-firecanyon-idle-ja ((medres-firecanyon-lod0-mg (meters 999999))) @@ -51,14 +52,12 @@ (defstate idle (logtrap) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (or (= arg2 'touch) (= arg2 'attack)) (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) ) ) - :code - (behavior () + :code (behavior () (transform-post) (loop (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) @@ -131,8 +130,7 @@ ) (defstate towertop-idle (towertop) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.4) :frame-num 0.0) (until (ja-done? 0) @@ -142,8 +140,7 @@ ) (none) ) - :post - (the-as (function none :behavior towertop) ja-post) + :post (the-as (function none :behavior towertop) ja-post) ) (defmethod init-from-entity! towertop ((obj towertop) (arg0 entity-actor)) @@ -181,8 +178,7 @@ ) (defstate lurkerm-tall-sail-idle (lurkerm-tall-sail) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'stop) (process-entity-status! self (entity-perm-status complete) #t) @@ -194,10 +190,8 @@ ) ) ) - :trans - (the-as (function none :behavior lurkerm-tall-sail) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior lurkerm-tall-sail) rider-trans) + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max (* 0.5 (-> self speed))) :frame-num 0.0) (until (ja-done? 0) @@ -212,8 +206,7 @@ ) (none) ) - :post - (the-as (function none :behavior lurkerm-tall-sail) rider-post) + :post (the-as (function none :behavior lurkerm-tall-sail) rider-post) ) (defmethod init-from-entity! lurkerm-tall-sail ((obj lurkerm-tall-sail) (arg0 entity-actor)) @@ -280,8 +273,7 @@ ) (defstate lurkerm-short-sail-idle (lurkerm-short-sail) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'stop) (process-entity-status! self (entity-perm-status complete) #t) @@ -293,10 +285,8 @@ ) ) ) - :trans - (the-as (function none :behavior lurkerm-short-sail) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior lurkerm-short-sail) rider-trans) + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max (* 0.5 (-> self speed))) :frame-num 0.0) (until (ja-done? 0) @@ -311,8 +301,7 @@ ) (none) ) - :post - (the-as (function none :behavior lurkerm-short-sail) rider-post) + :post (the-as (function none :behavior lurkerm-short-sail) rider-post) ) (defmethod init-from-entity! lurkerm-short-sail ((obj lurkerm-short-sail) (arg0 entity-actor)) @@ -399,8 +388,7 @@ ) (defstate lurkerm-piston-idle (lurkerm-piston) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'stop) (process-entity-status! self (entity-perm-status complete) #t) @@ -412,10 +400,8 @@ ) ) ) - :trans - (the-as (function none :behavior lurkerm-piston) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior lurkerm-piston) rider-trans) + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max (-> self speed)) :frame-num 0.0) (until (ja-done? 0) @@ -430,8 +416,7 @@ ) (none) ) - :post - (the-as (function none :behavior lurkerm-piston) rider-post) + :post (the-as (function none :behavior lurkerm-piston) rider-post) ) (defmethod init-from-entity! lurkerm-piston ((obj lurkerm-piston) (arg0 entity-actor)) @@ -518,8 +503,7 @@ ) (defstate accordian-idle (accordian) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'stop) (process-entity-status! self (entity-perm-status complete) #t) @@ -531,8 +515,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (loop!) :frame-num 0.0) (ja-post) (loop @@ -584,8 +567,7 @@ (defstate pov-camera-playing (precurbridgecam) :virtual #t - :code - (behavior () + :code (behavior () (ambient-hint-spawn "gamcam30" (the-as vector #f) *entity-pool* 'camera) (ja :group! (-> self draw art-group data 8)) (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek! (ja-aframe 0.0 0)) :frame-num 0.0) @@ -638,16 +620,14 @@ ) (defstate precurbridge-idle (precurbridge) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('go) (go precurbridge-activate) ) ) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 3) :num! min) (transform-post) (loop @@ -657,53 +637,39 @@ (< (-> *target* control trans y) (+ 20480.0 (-> self activation-point y))) (not (-> self child)) ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'powerup)) - (set! (-> a1-2 param 1) (the-as uint 3)) - (cond - ((send-event-function *target* a1-2) - (logclear! (-> self mask) (process-mask actor-pause)) - (logclear! (-> self mask) (process-mask platform)) - (let ((gp-1 (entity-by-name "junglecam-1"))) - (cond - (gp-1 - (let ((s5-0 (get-process *default-dead-pool* precurbridgecam #x4000))) - (when s5-0 - (let ((t9-6 (method-of-type precurbridgecam activate))) - (t9-6 (the-as precurbridgecam s5-0) self 'precurbridgecam (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> gp-1 extra trans) - *junglecam-sg* - "precurbridgecam" - 0 - #f - '() - ) - (-> s5-0 ppointer) - ) - ) - ) - (else - (format #t "ERROR: position for precursor bridge camera not found~%") - (go precurbridge-activate) + (cond + ((send-event *target* 'query 'powerup (pickup-type eco-blue)) + (logclear! (-> self mask) (process-mask actor-pause)) + (logclear! (-> self mask) (process-mask platform)) + (let ((gp-1 (entity-by-name "junglecam-1"))) + (cond + (gp-1 + (process-spawn + precurbridgecam + :init pov-camera-init-by-other + (-> gp-1 extra trans) + *junglecam-sg* + "precurbridgecam" + 0 + #f + '() + :to self ) ) + (else + (format #t "ERROR: position for precursor bridge camera not found~%") + (go precurbridge-activate) + ) ) ) - (else - (level-hint-spawn - (game-text-id jungle-precursorbridge-hint) - "sksp0039" - (the-as entity #f) - *entity-pool* - (game-task none) - ) + ) + (else + (level-hint-spawn + (game-text-id jungle-precursorbridge-hint) + "sksp0039" + (the-as entity #f) + *entity-pool* + (game-task none) ) ) ) @@ -712,20 +678,16 @@ ) (none) ) - :post - (the-as (function none :behavior precurbridge) ja-post) + :post (the-as (function none :behavior precurbridge) ja-post) ) (defstate precurbridge-activate (precurbridge) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (the-as (function none :behavior precurbridge) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior precurbridge) rider-trans) + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (sound-play-by-name (static-sound-name "blue-eco-on") @@ -747,13 +709,11 @@ (go precurbridge-active #f) (none) ) - :post - (the-as (function none :behavior precurbridge) rider-post) + :post (the-as (function none :behavior precurbridge) rider-post) ) (defstate precurbridge-active (precurbridge) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -770,10 +730,8 @@ ) ) ) - :trans - (the-as (function none :behavior precurbridge) rider-trans) - :code - (behavior ((arg0 symbol)) + :trans (the-as (function none :behavior precurbridge) rider-trans) + :code (behavior ((arg0 symbol)) (set! (-> self draw bounds w) 81920.0) (when arg0 (ja-channel-set! 1) @@ -806,8 +764,7 @@ ) (none) ) - :post - (the-as (function none :behavior precurbridge) rider-post) + :post (the-as (function none :behavior precurbridge) rider-post) ) (defmethod init-from-entity! precurbridge ((obj precurbridge) (arg0 entity-actor)) @@ -1017,8 +974,7 @@ ) (defstate maindoor-closed (maindoor) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (set! (-> self draw force-lod) 1) (logclear! (-> self draw status) (draw-status hidden)) (if arg0 @@ -1031,7 +987,7 @@ (and (and *target* (>= (-> self thresh w) (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) ) - (send-event *target* 'query 'powerup 3) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) ) (sound-play-by-name @@ -1069,8 +1025,7 @@ ) (defstate maindoor-open (maindoor) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (set! (-> self draw force-lod) 0) (logclear! (-> self draw status) (draw-status hidden)) (process-entity-status! self (entity-perm-status complete) #t) @@ -1092,8 +1047,7 @@ ) (none) ) - :post - (the-as (function none :behavior maindoor) ja-post) + :post (the-as (function none :behavior maindoor) ja-post) ) (defmethod init-from-entity! maindoor ((obj maindoor) (arg0 entity-actor)) @@ -1119,7 +1073,7 @@ (and (and *target* (>= (-> obj thresh w) (vector-vector-distance (-> obj root-override trans) (-> *target* control trans))) ) - (send-event *target* 'query 'powerup 3) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) ) (go maindoor-open #t) @@ -1199,14 +1153,11 @@ (defskelgroup *jngpusher-sg* jngpusher 0 2 ((1 (meters 999999))) :bounds (static-spherem 0 0 0 10)) (defstate jngpusher-idle (jngpusher) - :trans - (the-as (function none :behavior jngpusher) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior jngpusher) rider-trans) + :code (behavior () (loop (ja :num-func num-func-identity - :frame-num - (get-current-value-with-mirror (-> self sync) (the float (ja-num-frames 0))) + :frame-num (get-current-value-with-mirror (-> self sync) (the float (ja-num-frames 0))) ) (cond ((< (ja-frame-num 0) (the float (/ (ja-num-frames 0) 3))) @@ -1223,8 +1174,7 @@ ) (none) ) - :post - (the-as (function none :behavior jngpusher) rider-post) + :post (the-as (function none :behavior jngpusher) rider-post) ) (defmethod init-from-entity! jngpusher ((obj jngpusher) (arg0 entity-actor)) @@ -1286,8 +1236,7 @@ :count 3 :converted #f :normal-scale 1.5 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 30.0 :xdiv -2 :speed 4.0) (new 'static 'ripple-wave :scale 30.0 :xdiv 1 :zdiv -1 :speed 4.0) (new 'static 'ripple-wave :scale 10.0 :xdiv -5 :zdiv -3 :speed 2.0) diff --git a/goal_src/levels/jungle/jungle-part.gc b/goal_src/levels/jungle/jungle-part.gc index cb95816309..3bd790b629 100644 --- a/goal_src/levels/jungle/jungle-part.gc +++ b/goal_src/levels/jungle/jungle-part.gc @@ -17,8 +17,7 @@ (defpart 833 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.9 0.9 1.0) (sp-rnd-flt spt-x (meters -8) (meters 4) 1.0) (sp-flt spt-y (meters 47.5)) @@ -43,8 +42,7 @@ ) (defpart 834 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters 6) (meters 6) 1.0) (sp-flt spt-y (meters -6.5)) @@ -71,8 +69,7 @@ ) (defpart 835 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 4) (meters 8) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 1) 1.0) @@ -97,8 +94,7 @@ ) (defpart 836 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -8) (meters 4) 1.0) (sp-flt spt-y (meters 47.5)) @@ -124,8 +120,7 @@ ) (defpart 837 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.4 1.0) (sp-rnd-flt spt-x (meters -7) (meters 3.5) 1.0) (sp-flt spt-y (meters 47.5)) @@ -151,8 +146,7 @@ ) (defpart 838 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.8 0.8 1.0) (sp-rnd-flt spt-x (meters -10) (meters 4) 1.0) (sp-flt spt-y (meters 20)) @@ -178,8 +172,7 @@ ) (defpart 839 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.6 0.4 1.0) (sp-rnd-flt spt-x (meters -9) (meters 3.5) 1.0) (sp-flt spt-y (meters 20)) @@ -206,8 +199,7 @@ ) (defpart 840 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 4) 1.0) (sp-flt spt-y (meters 20)) @@ -234,8 +226,7 @@ ) (defpart 841 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters 0) (meters 6) 1.0) (sp-flt spt-y (meters -4.5)) @@ -263,8 +254,7 @@ ) (defpart 842 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters 1) (meters 7) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 1) 1.0) @@ -290,8 +280,7 @@ ) (defpart 843 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 1.0 0.6 1.0) (sp-rnd-flt spt-x (meters -9) (meters 4) 1.0) (sp-flt spt-y (meters 20)) @@ -317,8 +306,7 @@ ) (defpart 844 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.9 0.4 1.0) (sp-rnd-flt spt-x (meters -8) (meters 3.5) 1.0) (sp-flt spt-y (meters 20)) @@ -345,8 +333,7 @@ ) (defpart 845 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -9) (meters 4) 1.0) (sp-flt spt-y (meters 20)) @@ -373,8 +360,7 @@ ) (defpart 846 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters 0) (meters 6) 1.0) (sp-flt spt-y (meters -3.4)) @@ -402,8 +388,7 @@ ) (defpart 847 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 7) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 1) 1.0) @@ -429,8 +414,7 @@ ) (defpart 848 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.8 0.8 1.0) (sp-rnd-flt spt-x (meters -12) (meters 4) 1.0) (sp-flt spt-y (meters 25)) @@ -456,8 +440,7 @@ ) (defpart 849 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.6 0.4 1.0) (sp-rnd-flt spt-x (meters -11) (meters 3.5) 1.0) (sp-flt spt-y (meters 25)) @@ -484,8 +467,7 @@ ) (defpart 850 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -12) (meters 4) 1.0) (sp-flt spt-y (meters 25)) @@ -512,8 +494,7 @@ ) (defpart 851 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-x (meters -3) (meters 6) 1.0) (sp-flt spt-y (meters -4.5)) @@ -541,8 +522,7 @@ ) (defpart 852 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -2) (meters 7) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 1) 1.0) @@ -571,8 +551,7 @@ :id 180 :flags (always-draw) :bounds (static-bspherem 0 25 0 100) - :parts - ((sp-item 833) + :parts ((sp-item 833) (sp-item 833 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 834) (sp-item 834 :fade-after (meters 120) :falloff-to (meters 120)) @@ -586,8 +565,7 @@ :id 181 :flags (always-draw) :bounds (static-bspherem 2 9 4 90) - :parts - ((sp-item 838) + :parts ((sp-item 838) (sp-item 838 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 841) (sp-item 841 :fade-after (meters 120) :falloff-to (meters 120)) @@ -601,8 +579,7 @@ :id 182 :flags (always-draw) :bounds (static-bspherem 0 8 0 90) - :parts - ((sp-item 843) + :parts ((sp-item 843) (sp-item 843 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 846) (sp-item 846 :fade-after (meters 120) :falloff-to (meters 120)) @@ -616,8 +593,7 @@ :id 183 :flags (always-draw) :bounds (static-bspherem 0 10 8 90) - :parts - ((sp-item 848) + :parts ((sp-item 848) (sp-item 848 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 851) (sp-item 851 :fade-after (meters 120) :falloff-to (meters 120)) @@ -628,8 +604,7 @@ ) (defpart 853 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -70) (meters 100) 1.0) (sp-rnd-flt spt-y (meters 3.5) (meters 4) 1.0) @@ -652,8 +627,7 @@ ) (defpart 854 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) @@ -665,8 +639,7 @@ ) (defpart 855 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0023333333)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0023333333)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r -0.64) (sp-flt spt-fade-g -0.85333335) @@ -677,8 +650,7 @@ ) (defpart 856 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) @@ -688,8 +660,7 @@ ) (defpart 857 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.0023333333)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.0023333333)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.64) (sp-flt spt-fade-g 0.85333335) @@ -699,8 +670,7 @@ ) (defpart 858 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) @@ -712,8 +682,7 @@ ) (defpart 859 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0023333333)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0023333333)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r -0.64) (sp-flt spt-fade-g -0.85333335) @@ -724,8 +693,7 @@ ) (defpart 860 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) @@ -735,8 +703,7 @@ ) (defpart 861 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.0023333333)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.0023333333)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.64) (sp-flt spt-fade-g 0.85333335) @@ -746,8 +713,7 @@ ) (defpart 862 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) @@ -759,8 +725,7 @@ ) (defpart 863 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) @@ -769,8 +734,7 @@ ) (defpart 864 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.02) (sp-rnd-flt spt-x (meters -55) (meters 75) 1.0) (sp-flt spt-y (meters 28)) @@ -796,15 +760,13 @@ ) (defpart 865 - :init-specs - ((sp-flt spt-fade-a -0.02)) + :init-specs ((sp-flt spt-fade-a -0.02)) ) (defpartgroup group-jungle-dapple-light-1 :id 184 :bounds (static-bspherem 0 0 0 55) - :parts - ((sp-item 864 :hour-mask #b111111100000000000111111) + :parts ((sp-item 864 :hour-mask #b111111100000000000111111) (sp-item 853 :fade-after (meters 130) :falloff-to (meters 160) :hour-mask #b11111111111000000) ) ) @@ -812,8 +774,7 @@ (defpartgroup group-jungle-tower-spewer :id 185 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 866 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 866 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 866 :fade-after (meters 50) :falloff-to (meters 50)) (sp-item 867 :fade-after (meters 300) :falloff-to (meters 300)) (sp-item 868 :fade-after (meters 400) :falloff-to (meters 400)) @@ -821,8 +782,7 @@ ) (defpart 866 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.25 1.0 1.0) (sp-rnd-flt spt-y (meters 1.6) (meters 2) 1.0) (sp-rnd-flt spt-scale-x (meters 5) (meters 1) 1.0) @@ -845,8 +805,7 @@ ) (defpart 869 - :init-specs - ((sp-flt spt-r 64.0) + :init-specs ((sp-flt spt-r 64.0) (sp-flt spt-g 64.0) (sp-flt spt-fade-r -0.4) (sp-flt spt-fade-g -0.4) @@ -855,8 +814,7 @@ ) (defpart 867 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 1.0 2.5 1.0) (sp-flt spt-y (meters 0.75)) (sp-rnd-flt spt-scale-x (meters 3) (meters 2) 1.0) @@ -875,8 +833,7 @@ ) (defpart 868 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 0.1 1.25 1.0) (sp-flt spt-y (meters 0.75)) (sp-rnd-flt spt-scale-x (meters 3.5) (meters 2) 1.0) @@ -897,8 +854,7 @@ ) (defpart 870 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 0.75)) (sp-flt spt-scale-x (meters 4)) @@ -922,15 +878,13 @@ ) (defpart 871 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) (defpartgroup group-jungle-lurkermachine-3 :id 186 :bounds (static-bspherem 0 6 6 16) - :parts - ((sp-item 872 :fade-after (meters 140) :falloff-to (meters 160) :period 300 :length 258) + :parts ((sp-item 872 :fade-after (meters 140) :falloff-to (meters 160) :period 300 :length 258) (sp-item 872 :fade-after (meters 140) :falloff-to (meters 160) :period 202 :length 36) (sp-item 872 :fade-after (meters 100) :falloff-to (meters 120) :period 450 :length 38) (sp-item 872 :fade-after (meters 100) :falloff-to (meters 120) :period 857 :length 106) @@ -989,8 +943,7 @@ ) (defpart 894 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters 3.8)) (sp-flt spt-y (meters 4.5)) @@ -1019,8 +972,7 @@ ) (defpart 893 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters 3.8)) (sp-flt spt-y (meters 4.5)) @@ -1050,8 +1002,7 @@ ) (defpart 892 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 4.7)) @@ -1081,8 +1032,7 @@ ) (defpart 891 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 4.7)) @@ -1113,8 +1063,7 @@ ) (defpart 890 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters -6.5)) (sp-flt spt-y (meters 2.3)) @@ -1144,8 +1093,7 @@ ) (defpart 889 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters -6.5)) (sp-flt spt-y (meters 2.3)) @@ -1178,8 +1126,7 @@ ) (defpart 888 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters -6.3)) (sp-flt spt-y (meters 6.8)) @@ -1208,8 +1155,7 @@ ) (defpart 887 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters -6.3)) (sp-flt spt-y (meters 6.8)) @@ -1239,8 +1185,7 @@ ) (defpart 886 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters 8.7)) (sp-flt spt-y (meters 6.8)) @@ -1270,8 +1215,7 @@ ) (defpart 885 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters 8.7)) (sp-flt spt-y (meters 6.8)) @@ -1302,8 +1246,7 @@ ) (defpart 884 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters 6.9)) (sp-flt spt-y (meters 5.3)) @@ -1332,8 +1275,7 @@ ) (defpart 883 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters 6.9)) (sp-flt spt-y (meters 5.3)) @@ -1363,8 +1305,7 @@ ) (defpart 882 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters 2.9)) (sp-flt spt-y (meters 8.9)) @@ -1394,8 +1335,7 @@ ) (defpart 881 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters 2.9)) (sp-flt spt-y (meters 8.9)) @@ -1426,8 +1366,7 @@ ) (defpart 880 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters -7.7)) (sp-flt spt-y (meters 2.3)) @@ -1457,8 +1396,7 @@ ) (defpart 879 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters -7.7)) (sp-flt spt-y (meters 2.3)) @@ -1491,13 +1429,11 @@ ) (defpart 895 - :init-specs - ((sp-flt spt-vel-y (meters 0))) + :init-specs ((sp-flt spt-vel-y (meters 0))) ) (defpart 878 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters -4.2)) (sp-flt spt-y (meters 10.9)) @@ -1526,8 +1462,7 @@ ) (defpart 877 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters -4.2)) (sp-flt spt-y (meters 10.9)) @@ -1557,8 +1492,7 @@ ) (defpart 876 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters -8.2)) (sp-flt spt-y (meters 6.8)) @@ -1588,8 +1522,7 @@ ) (defpart 875 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters -8.2)) (sp-flt spt-y (meters 6.8)) @@ -1620,8 +1553,7 @@ ) (defpart 872 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters -2.2) (meters 2.4) 1.0) (sp-rnd-flt spt-y (meters 5.5) (meters 1.3) 1.0) @@ -1652,8 +1584,7 @@ ) (defpart 873 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters -3.75) (meters 2.4) 1.0) (sp-rnd-flt spt-y (meters 8.5) (meters 1.3) 1.0) @@ -1684,8 +1615,7 @@ ) (defpart 874 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-rnd-flt spt-x (meters -10.5) (meters 0.8) 1.0) (sp-flt spt-y (meters 1.3)) @@ -1718,8 +1648,7 @@ (defpartgroup group-jungle-lurkermachine-1 :id 187 :bounds (static-bspherem 0 10 0 12) - :parts - ((sp-item 896 :fade-after (meters 140) :falloff-to (meters 160) :period 300 :length 258) + :parts ((sp-item 896 :fade-after (meters 140) :falloff-to (meters 160) :period 300 :length 258) (sp-item 896 :fade-after (meters 140) :falloff-to (meters 160) :period 202 :length 36) (sp-item 896 :fade-after (meters 100) :falloff-to (meters 120) :period 450 :length 38) (sp-item 896 :fade-after (meters 100) :falloff-to (meters 120) :period 857 :length 106) @@ -1738,8 +1667,7 @@ ) (defpart 896 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters 1) (meters 2.2) 1.0) (sp-rnd-flt spt-y (meters 9.4) (meters 1.3) 1.0) @@ -1770,8 +1698,7 @@ ) (defpart 897 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters -1.2) (meters 2.4) 1.0) (sp-rnd-flt spt-y (meters 8.5) (meters 1.3) 1.0) @@ -1802,8 +1729,7 @@ ) (defpart 898 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters 4.4)) (sp-rnd-flt spt-y (meters 8.5) (meters 1.3) 1.0) diff --git a/goal_src/levels/jungle/junglefish.gc b/goal_src/levels/jungle/junglefish.gc index d2df824b67..729364d336 100644 --- a/goal_src/levels/jungle/junglefish.gc +++ b/goal_src/levels/jungle/junglefish.gc @@ -6,6 +6,7 @@ ;; dgos: JUN, JUNGLE, L1 ;; DECOMP BEGINS + (import "goal_src/import/junglefish-ag.gc") (deftype junglefish (nav-enemy) @@ -33,23 +34,19 @@ nav-enemy-default-event-handler (defstate nav-enemy-patrol (junglefish) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglefish) nav-enemy-default-event-handler ) - :exit - (behavior () + :exit (behavior () (set! (-> self target-speed) (-> self nav-info walk-travel-speed)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (loop - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info walk-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -61,8 +58,7 @@ nav-enemy-default-event-handler (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.6)) (set! (-> self target-speed) 0.0) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info idle-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -72,8 +68,7 @@ nav-enemy-default-event-handler (ja :num! (seek! max f30-0)) ) (until (not (nav-enemy-rnd-go-idle? 0.2)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info idle-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -85,8 +80,7 @@ nav-enemy-default-event-handler (set! (-> self target-speed) (-> self nav-info walk-travel-speed)) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.6)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info walk-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -104,13 +98,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-notice (junglefish) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglefish) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-chase) (none) ) @@ -118,13 +110,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-chase (junglefish) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglefish) nav-enemy-default-event-handler ) - :trans - (behavior () + :trans (behavior () ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) (if (and *target* (>= 8192.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)))) (go-virtual nav-enemy-attack) @@ -135,13 +125,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-stop-chase (junglefish) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglefish) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-patrol) (none) ) @@ -149,13 +137,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-stare (junglefish) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglefish) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-patrol) (none) ) @@ -163,13 +149,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-give-up (junglefish) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglefish) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-patrol) (none) ) @@ -177,13 +161,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-attack (junglefish) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglefish) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! junglefish-chomp-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -193,19 +175,16 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-chase) (none) ) - :post - (the-as (function none :behavior junglefish) nav-enemy-chase-post) + :post (the-as (function none :behavior junglefish) nav-enemy-chase-post) ) (defstate nav-enemy-victory (junglefish) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglefish) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! junglefish-swim-ja :num! (seek! max 2.0) :frame-num 0.0) (until (ja-done? 0) diff --git a/goal_src/levels/jungle/junglesnake.gc b/goal_src/levels/jungle/junglesnake.gc index 7d021d5826..8713c61f44 100644 --- a/goal_src/levels/jungle/junglesnake.gc +++ b/goal_src/levels/jungle/junglesnake.gc @@ -6,6 +6,7 @@ ;; dgos: JUN, JUNGLE, L1 ;; DECOMP BEGINS + (import "goal_src/import/junglesnake-ag.gc") (defskelgroup *junglesnake-sg* junglesnake junglesnake-lod0-jg junglesnake-idle-ja @@ -18,13 +19,11 @@ :id 173 :flags (use-local-clock) :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 799 :period 300 :length 150)) + :parts ((sp-item 799 :period 300 :length 150)) ) (defpart 799 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -9) (meters 18) 1.0) (sp-flt spt-y (meters -6)) @@ -120,33 +119,20 @@ ((and (-> self is-lethal?) (zero? (logand (-> *target* state-flags) (state-flags sf03 sf04 sf05 sf06 sf07 sf15))) ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (set! (-> a1-2 param 1) (the-as uint (new 'static 'attack-info))) - (when (send-event-function arg0 a1-2) - (let ((v0-1 (the-as object #t))) - (set! (-> self hit-player) (the-as symbol v0-1)) - v0-1 - ) + (when (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) + (let ((v0-1 (the-as object #t))) + (set! (-> self hit-player) (the-as symbol v0-1)) + v0-1 ) ) ) (else (do-push-aways! (-> self root-override)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'shove) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((v1-17 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-17 shove-back) 8192.0) - (set! (-> v1-17 shove-up) 2048.0) - (set! (-> a1-3 param 1) (the-as uint v1-17)) - ) - (send-event-function arg0 a1-3) + (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-back (meters 2)) (shove-up (meters 0.5)))) ) ) ) @@ -337,10 +323,8 @@ junglesnake-default-event-handler ) (defstate junglesnake-sleeping (junglesnake) - :event - junglesnake-default-event-handler - :enter - (behavior () + :event junglesnake-default-event-handler + :enter (behavior () (set! (-> self skel postbind-function) #f) (set! (-> self track-player-ry) #f) (set! (-> self track-player-tilt) #f) @@ -349,8 +333,7 @@ junglesnake-default-event-handler (logior! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (when *target* (let* ((a0-1 (target-pos 0)) (f0-1 (- (-> a0-1 y) (-> self root-override trans y))) @@ -362,8 +345,7 @@ junglesnake-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 @@ -372,10 +354,8 @@ junglesnake-default-event-handler ) (defstate junglesnake-wake (junglesnake) - :event - junglesnake-default-event-handler - :enter - (behavior () + :event junglesnake-default-event-handler + :enter (behavior () (logclear! (-> self draw status) (draw-status hidden)) (set! (-> self track-player-ry) #f) (set! (-> self track-player-tilt) #f) @@ -384,8 +364,7 @@ junglesnake-default-event-handler 0 (none) ) - :trans - (behavior () + :trans (behavior () (dummy-20 self) (when *target* (if *target* @@ -399,8 +378,7 @@ junglesnake-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! junglesnake-drop-down-ja :num! (seek! max 0.85) :frame-num 0.5) (until (ja-done? 0) (suspend) @@ -409,22 +387,18 @@ junglesnake-default-event-handler (go junglesnake-tracking) (none) ) - :post - (the-as (function none :behavior junglesnake) transform-post) + :post (the-as (function none :behavior junglesnake) transform-post) ) (defstate junglesnake-tracking (junglesnake) - :event - junglesnake-default-event-handler - :enter - (behavior () + :event junglesnake-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self track-player-ry) #t) (set! (-> self track-player-tilt) #t) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (and *target* (>= 24576.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self refractory-delay)) (zero? (logand (-> *target* state-flags) (state-flags sf03 sf04 sf05 sf06 sf07 sf15))) @@ -453,8 +427,7 @@ junglesnake-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (cond ((ja-group? junglesnake-idle-ja) (while (not (ja-done? 0)) @@ -475,25 +448,20 @@ junglesnake-default-event-handler ) (none) ) - :post - (the-as (function none :behavior junglesnake) transform-post) + :post (the-as (function none :behavior junglesnake) transform-post) ) (defstate junglesnake-attack (junglesnake) - :event - junglesnake-default-event-handler - :enter - (behavior () + :event junglesnake-default-event-handler + :enter (behavior () (set! (-> self hit-player) #f) (none) ) - :exit - (behavior () + :exit (behavior () (dummy-24 self) (none) ) - :trans - (behavior () + :trans (behavior () (dummy-20 self) (when *target* (if *target* @@ -507,8 +475,7 @@ junglesnake-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self track-player-ry) #t) (set! (-> self track-player-tilt) #t) (ja-channel-push! 2 (seconds 0.15)) @@ -551,15 +518,12 @@ junglesnake-default-event-handler (go junglesnake-tracking) (none) ) - :post - (the-as (function none :behavior junglesnake) transform-post) + :post (the-as (function none :behavior junglesnake) transform-post) ) (defstate junglesnake-give-up (junglesnake) - :event - junglesnake-default-event-handler - :enter - (behavior () + :event junglesnake-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self track-player-ry) #f) (set! (-> self track-player-tilt) #f) @@ -567,13 +531,11 @@ junglesnake-default-event-handler (set! (-> self des-tilt) (-> self tilt)) (none) ) - :trans - (behavior () + :trans (behavior () (dummy-20 self) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new 'stack-no-clear 'vector))) (let ((s5-0 (new 'stack-no-clear 'vector))) @@ -601,18 +563,15 @@ junglesnake-default-event-handler (go junglesnake-sleeping) (none) ) - :post - (the-as (function none :behavior junglesnake) transform-post) + :post (the-as (function none :behavior junglesnake) transform-post) ) (defstate junglesnake-die (junglesnake) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglesnake) process-drawable-death-event-handler ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (clear-collide-with-as (-> self root-override)) (ja-channel-push! 1 (seconds 0.15)) @@ -624,8 +583,7 @@ junglesnake-default-event-handler (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior junglesnake) ja-post) + :post (the-as (function none :behavior junglesnake) ja-post) ) (defmethod dummy-23 junglesnake ((obj junglesnake)) diff --git a/goal_src/levels/jungleb/aphid.gc b/goal_src/levels/jungleb/aphid.gc index e63f0825f9..245bea1f7f 100644 --- a/goal_src/levels/jungleb/aphid.gc +++ b/goal_src/levels/jungleb/aphid.gc @@ -6,6 +6,7 @@ ;; dgos: JUB, L1 ;; DECOMP BEGINS + (import "goal_src/import/aphid-lurker-ag.gc") (deftype aphid (nav-enemy) @@ -53,10 +54,8 @@ (defstate nav-enemy-chase (aphid) :virtual #t - :exit - aphid-vulnerable - :code - (behavior () + :exit aphid-vulnerable + :code (behavior () (let ((gp-0 (cond ((>= (-> self try) 15) 450 @@ -122,8 +121,7 @@ (defstate nav-enemy-stare (aphid) :virtual #t - :code - (behavior () + :code (behavior () (set! (-> self turn-time) (seconds 0.2)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) (when (or (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) @@ -168,8 +166,7 @@ (defstate nav-enemy-give-up (aphid) :virtual #t - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 218453.33) (set! (-> self turn-time) (seconds 0.5)) (ja-channel-push! 1 (seconds 0.15)) @@ -308,12 +305,7 @@ (set! (-> self entity) (-> arg0 entity)) (TODO-RENAME-48 self) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf12)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 0) - (set! (-> a1-3 message) 'try) - (set! (-> self try) (the-as int (send-event-function (ppointer->process (-> self parent)) a1-3))) - ) + (set! (-> self try) (the-as int (send-event (ppointer->process (-> self parent)) 'try))) (go-virtual nav-enemy-chase) (none) ) diff --git a/goal_src/levels/jungleb/jungleb-obs.gc b/goal_src/levels/jungleb/jungleb-obs.gc index d523081b3c..da1724220b 100644 --- a/goal_src/levels/jungleb/jungleb-obs.gc +++ b/goal_src/levels/jungleb/jungleb-obs.gc @@ -12,6 +12,7 @@ ;; DECOMP BEGINS + (import "goal_src/import/eggtop-ag.gc") (import "goal_src/import/jng-iris-door-ag.gc") @@ -39,8 +40,7 @@ (defpartgroup group-jungle-blue-eco-room-open :id 189 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 899 :fade-after (meters 110)) + :parts ((sp-item 899 :fade-after (meters 110)) (sp-item 900 :fade-after (meters 110)) (sp-item 901 :fade-after (meters 110)) (sp-item 902 :fade-after (meters 110)) @@ -52,13 +52,11 @@ :id 190 :duration 900 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 903) (sp-item 903) (sp-item 904 :flags (bit1) :period 1200 :length 15)) + :parts ((sp-item 903) (sp-item 903) (sp-item 904 :flags (bit1) :period 1200 :length 15)) ) (defpart 904 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 30.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 20) (meters 10) 1.0) @@ -79,18 +77,15 @@ ) (defpart 905 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 225) (sp-launcher-by-id spt-next-launcher 906)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 225) (sp-launcher-by-id spt-next-launcher 906)) ) (defpart 906 - :init-specs - ((sp-flt spt-fade-a -0.14222223)) + :init-specs ((sp-flt spt-fade-a -0.14222223)) ) (defpart 899 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 10) (meters 2) 1.0) @@ -105,8 +100,7 @@ ) (defpart 900 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 3) (meters 2) 1.0) @@ -121,8 +115,7 @@ ) (defpart 901 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.5 1.0 1.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) @@ -142,8 +135,7 @@ ) (defpart 907 - :init-specs - ((sp-flt spt-r 64.0) + :init-specs ((sp-flt spt-r 64.0) (sp-flt spt-g 64.0) (sp-flt spt-fade-r -1.0) (sp-flt spt-fade-g -1.0) @@ -152,8 +144,7 @@ ) (defpart 902 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.5 1.0 1.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) @@ -173,8 +164,7 @@ ) (defpart 903 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-y (meters -6.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 2) 1.0) @@ -197,8 +187,7 @@ ) (defstate eggtop-idle (eggtop) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'notify) (case (-> arg3 param 0) @@ -212,13 +201,11 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self sound-id)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (not (-> self child)) (task-complete? *game-info* (-> self entity extra perm task))) (go eggtop-close #f) ) @@ -226,95 +213,77 @@ (sound-play-by-name (static-sound-name "electric-loop") (-> self sound-id) 1024 0 0 1 #t) (none) ) - :code - (behavior () + :code (behavior () (suspend) (update-transforms! (-> self root-override)) (anim-loop) (none) ) - :post - (the-as (function none :behavior eggtop) ja-post) + :post (the-as (function none :behavior eggtop) ja-post) ) (defstate eggtop-close (eggtop) - :trans - (behavior () + :trans (behavior () (rider-trans) (hide-hud-quick) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (when (not arg0) (sound-play-by-name (static-sound-name "vent-switch") (new-sound-id) 2048 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 190) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 190) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) - (let ((gp-2 (get-process *default-dead-pool* camera-tracker #x4000))) - (set! (-> self cam-tracker) - (ppointer->handle (when gp-2 - (let ((t9-6 (method-of-type camera-tracker activate))) - (t9-6 (the-as camera-tracker gp-2) self 'camera-tracker (the-as pointer #x70004000)) + (set! (-> self cam-tracker) + (ppointer->handle (process-spawn + camera-tracker + :init camera-tracker-init + (lambda :behavior camera-tracker + () + (while (not (process-grab? *target*)) + (suspend) ) - (run-now-in-process - gp-2 - camera-tracker-init - (lambda :behavior camera-tracker - () - (while (not (process-grab? *target*)) - (suspend) - ) - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 1)) - (suspend) - ) - ) - (send-event *camera* 'blend-from-as-fixed) - (camera-look-at (the-as pair "ecovent-171") (the-as uint 0)) - (camera-change-to "camera-223" 0 #f) - (let ((gp-1 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-1) (seconds 3)) - (suspend) - ) - ) - (while (not (process-release? (handle->process (-> self grab-target)))) - (suspend) - ) - (send-event *camera* 'blend-from-as-fixed) - (level-hint-spawn - (game-text-id jungleb-eco-vents-opened) - "asstvb02" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (camera-look-at (the-as pair *target*) (the-as uint 0)) - (camera-change-to (the-as string 'base) 150 #f) - (send-event (ppointer->process (-> *hud-parts* fuel-cell)) 'show) - (none) + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 1)) + (suspend) ) ) - (-> gp-2 ppointer) + (send-event *camera* 'blend-from-as-fixed) + (camera-look-at (the-as pair "ecovent-171") (the-as uint 0)) + (camera-change-to "camera-223" 0 #f) + (let ((gp-1 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-1) (seconds 3)) + (suspend) + ) + ) + (while (not (process-release? (handle->process (-> self grab-target)))) + (suspend) + ) + (send-event *camera* 'blend-from-as-fixed) + (level-hint-spawn + (game-text-id jungleb-eco-vents-opened) + "asstvb02" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (camera-look-at (the-as pair *target*) (the-as uint 0)) + (camera-change-to (the-as string 'base) 150 #f) + (send-event (ppointer->process (-> *hud-parts* fuel-cell)) 'show) + (none) ) + :to self ) - ) - ) + ) + ) (save-reminder (get-task-control (-> self entity extra perm task)) 2 0) (sound-play-by-name (static-sound-name "jngb-eggtop-seq") (new-sound-id) 1024 0 0 1 #t) (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) @@ -336,8 +305,7 @@ 0 (none) ) - :post - (the-as (function none :behavior eggtop) rider-post) + :post (the-as (function none :behavior eggtop) rider-post) ) (defmethod init-from-entity! eggtop ((obj eggtop) (arg0 entity-actor)) diff --git a/goal_src/levels/jungleb/plant-boss.gc b/goal_src/levels/jungleb/plant-boss.gc index 70f095054c..5c017c7c86 100644 --- a/goal_src/levels/jungleb/plant-boss.gc +++ b/goal_src/levels/jungleb/plant-boss.gc @@ -157,10 +157,8 @@ (define *plant-boss-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #x2)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 409600.0) + :center (new 'static 'vector :w (the-as float #x2)) + :shadow-dir (new 'static 'vector :y -1.0 :w 409600.0) :bot-plane (new 'static 'plane :y 1.0 :w 37683.2) :top-plane (new 'static 'plane :y 1.0 :w 4096.0) ) @@ -238,8 +236,7 @@ ) (defstate plant-boss-arm-idle (plant-boss-arm) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hide 'die) (go plant-boss-arm-die (the-as symbol (-> arg3 param 0))) @@ -249,8 +246,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja-channel-set! 2) (ja :group! plant-boss-arms-idle-ja :num! min) (ja :chan 1 :group! plant-boss-arms-still-ja :num! min) @@ -261,15 +257,12 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) (defstate plant-boss-arm-hit (plant-boss-arm) - :event - (-> plant-boss-arm-idle event) - :code - (behavior ((arg0 basic)) + :event (-> plant-boss-arm-idle event) + :code (behavior ((arg0 basic)) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! plant-boss-arms-hit-ja :num! (seek! (ja-aframe (the-as float 90.0) 0)) :frame-num 0.0) (until (ja-done? 0) @@ -286,13 +279,11 @@ (go plant-boss-arm-idle) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) (defstate plant-boss-arm-die (plant-boss-arm) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (let ((a0-1 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) prims 0))) (set! (-> self root-override root-prim local-sphere w) 81920.0) (set! (-> (the-as collide-shape-prim-mesh a0-1) local-sphere w) 69632.0) @@ -356,13 +347,11 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) (defstate plant-boss-back-arms-idle (plant-boss-arm) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (or (= arg2 'touch) (= arg2 'attack)) (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) ) @@ -375,8 +364,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! plant-boss-back-arms-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -386,15 +374,12 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) (defstate plant-boss-back-arms-hit (plant-boss-arm) - :event - (-> plant-boss-back-arms-idle event) - :code - (behavior ((arg0 symbol)) + :event (-> plant-boss-back-arms-idle event) + :code (behavior ((arg0 symbol)) (ja-channel-push! 1 (seconds 0.1)) (cond ((or (= arg0 'spin) (= arg0 'spin-air)) @@ -428,13 +413,11 @@ (go plant-boss-back-arms-idle) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) (defstate plant-boss-back-arms-die (plant-boss-arm) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (cond (arg0 (ja-channel-set! 1) @@ -456,13 +439,11 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) (defstate plant-boss-vine-idle (plant-boss-arm) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hide 'die) (go plant-boss-vine-die (the-as symbol (-> arg3 param 0))) @@ -472,8 +453,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (let ((f30-0 (rand-vu-float-range (the-as float 0.9) (the-as float 1.1)))) (loop (ja-no-eval :group! plant-boss-vine-idle-ja :num! (seek! max f30-0) :frame-num 0.0) @@ -485,15 +465,12 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) (defstate plant-boss-vine-hit (plant-boss-arm) - :event - (-> plant-boss-vine-idle event) - :code - (behavior ((arg0 basic)) + :event (-> plant-boss-vine-idle event) + :code (behavior ((arg0 basic)) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! plant-boss-vine-hit-ja :num! (seek! (ja-aframe (the-as float 45.0) 0)) :frame-num 0.0) (until (ja-done? 0) @@ -510,13 +487,11 @@ (go plant-boss-vine-idle) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) (defstate plant-boss-vine-die (plant-boss-arm) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (when (not arg0) (let ((f30-0 (rand-vu-float-range (the-as float 0.0) (the-as float 1.0))) (gp-0 (-> *display* base-frame-counter)) @@ -536,21 +511,18 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) (defstate plant-boss-root-idle (plant-boss-arm) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hide 'die) (go plant-boss-root-die (the-as symbol (-> arg3 param 0))) ) ) ) - :code - (behavior () + :code (behavior () (let ((f30-0 (rand-vu-float-range (the-as float 0.9) (the-as float 1.1)))) (loop (ja-no-eval :group! plant-boss-root-idle-ja :num! (seek! max f30-0) :frame-num 0.0) @@ -562,13 +534,11 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) (defstate plant-boss-root-die (plant-boss-arm) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (when (not arg0) (let ((gp-0 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 4)) @@ -579,8 +549,7 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) (defbehavior plant-boss-arm-init plant-boss-arm ((arg0 vector) (arg1 float) (arg2 int)) @@ -697,8 +666,7 @@ ) (defstate plant-boss-leaf-idle (plant-boss-leaf) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go plant-boss-leaf-open (the-as symbol (-> arg3 param 0))) @@ -708,8 +676,7 @@ ) ) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (loop (case (-> self side) ((1) @@ -734,13 +701,11 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-leaf) ja-post) + :post (the-as (function none :behavior plant-boss-leaf) ja-post) ) (defstate plant-boss-leaf-open (plant-boss-leaf) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('kill) (go plant-boss-leaf-close) @@ -750,10 +715,8 @@ ) ) ) - :trans - (the-as (function none :behavior plant-boss-leaf) rider-trans) - :code - (behavior ((arg0 symbol)) + :trans (the-as (function none :behavior plant-boss-leaf) rider-trans) + :code (behavior ((arg0 symbol)) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.1)) (case (-> self side) @@ -795,13 +758,11 @@ (go plant-boss-leaf-open-idle #f) (none) ) - :post - (the-as (function none :behavior plant-boss-leaf) rider-post) + :post (the-as (function none :behavior plant-boss-leaf) rider-post) ) (defstate plant-boss-leaf-open-idle (plant-boss-leaf) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('kill) (set! (-> self state-object) #t) @@ -820,10 +781,8 @@ ) ) ) - :trans - (the-as (function none :behavior plant-boss-leaf) rider-trans) - :code - (behavior ((arg0 symbol)) + :trans (the-as (function none :behavior plant-boss-leaf) rider-trans) + :code (behavior ((arg0 symbol)) (local-vars (v1-19 symbol)) (set! (-> self state-object) arg0) (case (ja-group) @@ -847,13 +806,11 @@ (go plant-boss-leaf-close) (none) ) - :post - (the-as (function none :behavior plant-boss-leaf) rider-post) + :post (the-as (function none :behavior plant-boss-leaf) rider-post) ) (defstate plant-boss-leaf-bounce (plant-boss-leaf) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('kill) (set! (-> self state-object) #t) @@ -867,10 +824,8 @@ ) ) ) - :trans - (the-as (function none :behavior plant-boss-leaf) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior plant-boss-leaf) rider-trans) + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (case (-> self side) ((1) @@ -893,23 +848,19 @@ (go plant-boss-leaf-open-idle (-> self state-object)) (none) ) - :post - (the-as (function none :behavior plant-boss-leaf) rider-post) + :post (the-as (function none :behavior plant-boss-leaf) rider-post) ) (defstate plant-boss-leaf-close (plant-boss-leaf) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('die) (go plant-boss-leaf-die (the-as basic (-> arg3 param 0))) ) ) ) - :trans - (the-as (function none :behavior plant-boss-leaf) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior plant-boss-leaf) rider-trans) + :code (behavior () (case (-> self side) ((1) (sound-play-by-name (static-sound-name "plant-leaf") (new-sound-id) 1024 0 0 1 #t) @@ -931,21 +882,18 @@ (go plant-boss-leaf-idle #f) (none) ) - :post - (the-as (function none :behavior plant-boss-leaf) rider-post) + :post (the-as (function none :behavior plant-boss-leaf) rider-post) ) (defstate plant-boss-leaf-die (plant-boss-leaf) - :code - (behavior ((arg0 basic)) + :code (behavior ((arg0 basic)) (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) (none) ) - :post - (the-as (function none :behavior plant-boss-leaf) ja-post) + :post (the-as (function none :behavior plant-boss-leaf) ja-post) ) (defbehavior plant-boss-leaf-init plant-boss-leaf ((arg0 vector) (arg1 float) (arg2 int)) @@ -980,8 +928,7 @@ ) (defstate plant-boss-far-idle (plant-boss) - :code - (behavior () + :code (behavior () (clear-pending-settings-from-process *setting-control* self 'music) (let ((gp-0 (-> self child))) (while gp-0 @@ -1021,13 +968,11 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss) ja-post) + :post (the-as (function none :behavior plant-boss) ja-post) ) (defstate plant-boss-intro (plant-boss) - :code - (behavior () + :code (behavior () (set-setting! *setting-control* self 'music 'danger (the-as float 0.0) 0) (send-event *target* 'reset-pickup 'eco) (let ((v1-9 (-> self entity extra perm))) @@ -1048,54 +993,42 @@ (set-mode! (-> self body) (joint-mod-handler-mode world-look-at)) (b! #t cfg-17 :delay (nop!)) (label cfg-5) - (when (not (handle->process (-> self cam-tracker))) - (let ((gp-1 (get-process *default-dead-pool* camera-tracker #x4000))) + (if (not (handle->process (-> self cam-tracker))) (set! (-> self cam-tracker) - (ppointer->handle (when gp-1 - (let ((t9-9 (method-of-type camera-tracker activate))) - (t9-9 (the-as camera-tracker gp-1) self 'camera-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - camera-tracker-init - (lambda :behavior camera-tracker - () - (while (not (process-grab? *target*)) - (suspend) - ) - (ambient-hint-spawn "gamcam28" (the-as vector #f) *entity-pool* 'ambient) - (send-event *camera* 'blend-from-as-fixed) - (camera-look-at (the-as pair (ppointer->process (-> self parent))) (the-as uint 13)) - (camera-change-to "camera-220" 0 #f) - (while (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 0) - (set! (-> a1-4 message) 'intro-done?) - (not (send-event-function *camera* a1-4)) - ) - (suspend) - ) - (camera-change-to "camera-222" 600 #f) - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 2)) - (suspend) - ) - ) - (while (not (process-release? (handle->process (-> self grab-target)))) - (suspend) - ) - (send-event *camera* 'blend-from-as-fixed) - (camera-look-at (the-as pair *target*) (the-as uint 0)) - (camera-change-to (the-as string 'base) 150 #f) - (none) + (ppointer->handle (process-spawn + camera-tracker + :init camera-tracker-init + (lambda :behavior camera-tracker + () + (while (not (process-grab? *target*)) + (suspend) ) + (ambient-hint-spawn "gamcam28" (the-as vector #f) *entity-pool* 'ambient) + (send-event *camera* 'blend-from-as-fixed) + (camera-look-at (the-as pair (ppointer->process (-> self parent))) (the-as uint 13)) + (camera-change-to "camera-220" 0 #f) + (while (not (send-event *camera* 'intro-done?)) + (suspend) + ) + (camera-change-to "camera-222" 600 #f) + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 2)) + (suspend) + ) + ) + (while (not (process-release? (handle->process (-> self grab-target)))) + (suspend) + ) + (send-event *camera* 'blend-from-as-fixed) + (camera-look-at (the-as pair *target*) (the-as uint 0)) + (camera-change-to (the-as string 'base) 150 #f) + (none) ) - (-> gp-1 ppointer) + :to self ) ) ) ) - ) (let ((v1-37 (-> self neck))) (set! (-> v1-37 blend) 0.0) ) @@ -1125,23 +1058,19 @@ (go plant-boss-reset 0) (none) ) - :post - (the-as (function none :behavior plant-boss) ja-post) + :post (the-as (function none :behavior plant-boss) ja-post) ) (defstate plant-boss-idle (plant-boss) - :event - plant-boss-default-event-handler - :enter - (behavior () + :event plant-boss-default-event-handler + :enter (behavior () (set-setting! *setting-control* self 'music 'danger (the-as float 0.0) 0) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self body flex-blend) 0.0) (set! (-> self neck flex-blend) 1.0) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (vector-vector-distance (target-pos 0) (-> self root-override trans)))) (if (< 409600.0 f30-0) (go plant-boss-far-idle) @@ -1170,8 +1099,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (cond ((ja-group? plant-boss-main-reset-ja) (ja-channel-push! 1 (seconds 0.5)) @@ -1232,15 +1160,12 @@ ) (none) ) - :post - plant-boss-post + :post plant-boss-post ) (defstate plant-boss-spawn (plant-boss) - :event - plant-boss-default-event-handler - :enter - (behavior () + :event plant-boss-default-event-handler + :enter (behavior () (when (not (-> self try-inc)) (let ((gp-0 (-> self entity extra perm))) (logior! (-> gp-0 status) (entity-perm-status user-set-from-cstage)) @@ -1269,8 +1194,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f0-0 (vector-vector-distance (target-pos 0) (-> self root-override trans)))) (if (< 409600.0 f0-0) (go plant-boss-far-idle) @@ -1295,32 +1219,21 @@ ) ) ((>= (- (-> *display* base-frame-counter) (-> self aphid-spawn-time)) (seconds 1.4)) - (let ((gp-1 (get-process *default-dead-pool* aphid #x4000))) - (when (when gp-1 - (let ((t9-5 (method-of-type aphid activate))) - (t9-5 (the-as aphid gp-1) self 'aphid (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 aphid-init-by-other self (-> self root-override trans) (target-pos 0)) - (-> gp-1 ppointer) - ) - (+! (-> self aphid-count) 1) - (seekl! (-> self want-aphid-count) 0 1) - (set! (-> self aphid-spawn-time) (-> *display* base-frame-counter)) - ) + (when (process-spawn aphid self (-> self root-override trans) (target-pos 0) :to self) + (+! (-> self aphid-count) 1) + (seekl! (-> self want-aphid-count) 0 1) + (set! (-> self aphid-spawn-time) (-> *display* base-frame-counter)) ) ) ) (none) ) - :code - (-> plant-boss-idle code) - :post - plant-boss-post + :code (-> plant-boss-idle code) + :post plant-boss-post ) (defstate plant-boss-vulnerable (plant-boss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (when ((method-of-type touching-shapes-entry prims-touching?) @@ -1328,17 +1241,11 @@ (the-as collide-shape-moving (-> self root-override)) (the-as uint 1) ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'shove) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (let ((v1-6 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-6 shove-up) 8192.0) - (set! (-> v1-6 shove-back) 24576.0) - (set! (-> a1-2 param 1) (the-as uint v1-6)) - ) - (send-event-function arg0 a1-2) + (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 2)) (shove-back (meters 6)))) ) (go plant-boss-hit (the-as symbol (-> arg3 param 1))) ) @@ -1348,8 +1255,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self body flex-blend) 0.0) (set! (-> self neck flex-blend) 0.0) @@ -1358,8 +1264,7 @@ (logior! (-> self attack-prim 0 prim-core action) (collide-action solid)) (none) ) - :exit - (behavior () + :exit (behavior () (send-event (ppointer->process (-> self leaf 1)) 'kill 0) (send-event (ppointer->process (-> self leaf 0)) 'kill 150) (set! (-> self attack-prim 0 local-sphere w) 16384.0) @@ -1367,8 +1272,7 @@ (logclear! (-> self attack-prim 0 prim-core action) (collide-action solid)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.25)) (ja-no-eval :group! plant-boss-main-idle2vulnerable-ja :num! (seek! (ja-aframe (the-as float 60.0) 0)) @@ -1424,13 +1328,11 @@ (go plant-boss-spawn) (none) ) - :post - plant-boss-post + :post plant-boss-post ) (defstate plant-boss-attack (plant-boss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (when (and ((method-of-type touching-shapes-entry prims-touching?) @@ -1440,20 +1342,10 @@ ) (not (ja-group? plant-boss-main-vulnerable2idle-ja)) ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack-or-shove) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (let ((a0-8 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-8 mode) 'plant-boss) - (set! (-> a1-2 param 1) (the-as uint a0-8)) - ) - (when (send-event-function arg0 a1-2) - (let ((v0-1 (the-as object #t))) - (set! (-> self ate) (the-as symbol v0-1)) - v0-1 - ) + (when (send-event arg0 'attack-or-shove (-> arg3 param 0) (static-attack-info ((mode 'plant-boss)))) + (let ((v0-1 (the-as object #t))) + (set! (-> self ate) (the-as symbol v0-1)) + v0-1 ) ) ) @@ -1463,8 +1355,7 @@ ) ) ) - :code - (behavior ((arg0 int)) + :code (behavior ((arg0 int)) (local-vars (v1-64 symbol)) (+! (-> self snap-count) 1) (set! (-> self ate) #f) @@ -1515,15 +1406,12 @@ (go plant-boss-reset arg0) (none) ) - :post - plant-boss-post + :post plant-boss-post ) (defstate plant-boss-eat (plant-boss) - :event - plant-boss-generic-event-handler - :exit - (behavior () + :event plant-boss-generic-event-handler + :exit (behavior () (logclear! (-> self skel status) (janim-status spool)) (let ((a0-4 (handle->process (-> self camera)))) (if a0-4 @@ -1532,8 +1420,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((f30-1 (the-as float (if (ja-group? plant-boss-main-attack-ja) (fmax 129.0 (ja-aframe-num 0)) 129.0 @@ -1556,18 +1443,7 @@ (seek! (-> self energy) (the-as float 0.5) (* 0.2 (-> *display* seconds-per-frame))) (when (and (>= (ja-aframe-num 0) 175.0) (zero? gp-0)) (set! gp-0 1) - (let ((s5-2 (get-process *default-dead-pool* othercam #x4000))) - (set! (-> self camera) - (ppointer->handle (when s5-2 - (let ((t9-11 (method-of-type othercam activate))) - (t9-11 (the-as othercam s5-2) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 othercam-init-by-other self 28 #f #t) - (-> s5-2 ppointer) - ) - ) - ) - ) + (set! (-> self camera) (ppointer->handle (process-spawn othercam self 28 #f #t :to self))) (logior! (-> self skel status) (janim-status spool)) (ambient-hint-spawn "gamcam29" (the-as vector #f) *entity-pool* 'ambient) ) @@ -1594,15 +1470,12 @@ (go plant-boss-idle) (none) ) - :post - plant-boss-post + :post plant-boss-post ) (defstate plant-boss-reset (plant-boss) - :event - (-> plant-boss-eat event) - :code - (behavior ((arg0 int)) + :event (-> plant-boss-eat event) + :code (behavior ((arg0 int)) (let ((gp-0 #f)) (cond ((ja-group? plant-boss-main-intro-ja) @@ -1644,15 +1517,12 @@ ) (none) ) - :post - plant-boss-post + :post plant-boss-post ) (defstate plant-boss-hit (plant-boss) - :event - (-> plant-boss-eat event) - :code - (behavior ((arg0 symbol)) + :event (-> plant-boss-eat event) + :code (behavior ((arg0 symbol)) (let ((s5-0 (-> self child))) (while s5-0 (send-event (ppointer->process s5-0) 'hit arg0) @@ -1707,15 +1577,12 @@ (go plant-boss-spawn) (none) ) - :post - plant-boss-post + :post plant-boss-post ) (defstate plant-boss-dead (plant-boss) - :event - plant-boss-generic-event-handler - :code - (behavior ((arg0 symbol)) + :event plant-boss-generic-event-handler + :code (behavior ((arg0 symbol)) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self neck flex-blend) 0.0) (set! (-> self body flex-blend) 0.0) @@ -1805,8 +1672,7 @@ (go plant-boss-dead-idle) (none) ) - :post - (behavior () + :post (behavior () (plant-boss-post) (do-push-aways! (-> self root-override)) (none) @@ -1814,8 +1680,7 @@ ) (defstate plant-boss-dead-idle (plant-boss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('bonk) (go plant-boss-dead-bounce (lerp-scale @@ -1832,8 +1697,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja-channel-set! 1) (ja :group! plant-boss-main-die-ja :num! max) (let ((gp-1 (-> *display* base-frame-counter))) @@ -1852,12 +1716,9 @@ ) (defstate plant-boss-dead-bounce (plant-boss) - :event - plant-boss-generic-event-handler - :trans - (the-as (function none :behavior plant-boss) rider-trans) - :code - (behavior ((arg0 float)) + :event plant-boss-generic-event-handler + :trans (the-as (function none :behavior plant-boss) rider-trans) + :code (behavior ((arg0 float)) (let ((v1-2 (-> self entity extra perm))) (if (and (< 0.3 arg0) (and (not (handle->process (-> self money))) (< (-> v1-2 user-int8 1) 5))) (set! (-> self money) (ppointer->handle (birth-pickup-at-point @@ -1883,8 +1744,7 @@ (go plant-boss-dead-idle) (none) ) - :post - (the-as (function none :behavior plant-boss) rider-post) + :post (the-as (function none :behavior plant-boss) rider-post) ) (defmethod init-from-entity! plant-boss ((obj plant-boss) (arg0 entity-actor)) @@ -1948,211 +1808,120 @@ (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *plant-boss-sg* '()) (set! (-> obj draw shadow-ctrl) *plant-boss-shadow-control*) - (let ((s5-1 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-1 - (let ((t9-18 (method-of-type plant-boss-arm activate))) - (t9-18 (the-as plant-boss-arm s5-1) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - plant-boss-arm-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x -24576.0 :z 8192.0 :w 1.0)) - -8192.0 - 1 - ) - (-> s5-1 ppointer) - ) + (process-spawn + plant-boss-arm + :init plant-boss-arm-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x -24576.0 :z 8192.0 :w 1.0)) + -8192.0 + 1 + :to obj ) - (let ((s5-2 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-2 - (let ((t9-21 (method-of-type plant-boss-arm activate))) - (t9-21 (the-as plant-boss-arm s5-2) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-2 - plant-boss-arm-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x 24576.0 :z 8192.0 :w 1.0)) - 8192.0 - 0 - ) - (-> s5-2 ppointer) - ) + (process-spawn + plant-boss-arm + :init plant-boss-arm-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x 24576.0 :z 8192.0 :w 1.0)) + 8192.0 + 0 + :to obj ) - (let ((s5-3 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-3 - (let ((t9-24 (method-of-type plant-boss-arm activate))) - (t9-24 (the-as plant-boss-arm s5-3) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-3 - plant-boss-back-arms-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :w 1.0)) - 0.0 - 2 - ) - (-> s5-3 ppointer) - ) + (process-spawn + plant-boss-arm + :init plant-boss-back-arms-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :w 1.0)) + 0.0 + 2 + :to obj ) - (let ((s5-4 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-4 - (let ((t9-27 (method-of-type plant-boss-arm activate))) - (t9-27 (the-as plant-boss-arm s5-4) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-4 - plant-boss-vine-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x 38912.0 :z 8192.0 :w 1.0)) - (new 'static 'vector :y 14563.556) - 1.0 - 3 - ) - (-> s5-4 ppointer) - ) + (process-spawn + plant-boss-arm + :init plant-boss-vine-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x 38912.0 :z 8192.0 :w 1.0)) + (new 'static 'vector :y 14563.556) + 1.0 + 3 + :to obj ) - (let ((s5-5 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-5 - (let ((t9-30 (method-of-type plant-boss-arm activate))) - (t9-30 (the-as plant-boss-arm s5-5) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-5 - plant-boss-vine-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x -40960.0 :z 8192.0 :w 1.0)) - (new 'static 'vector :y -5461.3335) - 1.0 - 3 - ) - (-> s5-5 ppointer) - ) + (process-spawn + plant-boss-arm + :init plant-boss-vine-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x -40960.0 :z 8192.0 :w 1.0)) + (new 'static 'vector :y -5461.3335) + 1.0 + 3 + :to obj ) - (let ((s5-6 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-6 - (let ((t9-33 (method-of-type plant-boss-arm activate))) - (t9-33 (the-as plant-boss-arm s5-6) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-6 - plant-boss-vine-init - (vector+! - (new-stack-vector0) - (-> obj root-override trans) - (new 'static 'vector :x -29491.2 :z -7168.0 :w 1.0) + (process-spawn + plant-boss-arm + :init plant-boss-vine-init + (vector+! + (new-stack-vector0) + (-> obj root-override trans) + (new 'static 'vector :x -29491.2 :z -7168.0 :w 1.0) + ) + (new 'static 'vector :x -1820.4445 :y -11286.756) + 0.8 + 3 + :to obj + ) + (process-spawn + plant-boss-arm + :init plant-boss-vine-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x 32768.0 :z -3072.0 :w 1.0)) + (new 'static 'vector :x -910.2222 :y 22755.555) + 0.8 + 3 + :to obj + ) + (process-spawn + plant-boss-arm + :init plant-boss-root-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x 18841.6 :z 4096.0 :w 1.0)) + (new 'static 'vector :y -4096.0) + (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) + 4 + :to obj + ) + (process-spawn + plant-boss-arm + :init plant-boss-root-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x -18841.6 :z 4096.0 :w 1.0)) + (new 'static 'vector :x 364.0889 :y 4096.0) + (new 'static 'vector :x 1.0 :y 1.25 :z 1.0) + 4 + :to obj + ) + (process-spawn + plant-boss-arm + :init plant-boss-root-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :z -2048.0 :w 1.0)) + (new 'static 'vector :x 1820.4445) + (new 'static 'vector :x 0.9 :y 1.5 :z 1.0) + 4 + :to obj + ) + (set! (-> obj leaf 0) + (process-spawn + plant-boss-leaf + :init plant-boss-leaf-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :w 1.0)) + 0.0 + 0 + :to obj ) - (new 'static 'vector :x -1820.4445 :y -11286.756) - 0.8 - 3 ) - (-> s5-6 ppointer) - ) - ) - (let ((s5-7 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-7 - (let ((t9-36 (method-of-type plant-boss-arm activate))) - (t9-36 (the-as plant-boss-arm s5-7) obj 'plant-boss-arm (the-as pointer #x70004000)) + (set! (-> obj leaf 1) (process-spawn + plant-boss-leaf + :init plant-boss-leaf-init + (vector+! + (new-stack-vector0) + (-> obj root-override trans) + (new 'static 'vector :x -13189.12 :y 2838.528 :z 12288.0 :w 1.0) + ) + 0.0 + 1 + :to obj + ) ) - (run-now-in-process - s5-7 - plant-boss-vine-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x 32768.0 :z -3072.0 :w 1.0)) - (new 'static 'vector :x -910.2222 :y 22755.555) - 0.8 - 3 - ) - (-> s5-7 ppointer) - ) - ) - (let ((s5-8 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-8 - (let ((t9-39 (method-of-type plant-boss-arm activate))) - (t9-39 (the-as plant-boss-arm s5-8) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-8 - plant-boss-root-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x 18841.6 :z 4096.0 :w 1.0)) - (new 'static 'vector :y -4096.0) - (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) - 4 - ) - (-> s5-8 ppointer) - ) - ) - (let ((s5-9 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-9 - (let ((t9-42 (method-of-type plant-boss-arm activate))) - (t9-42 (the-as plant-boss-arm s5-9) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-9 - plant-boss-root-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x -18841.6 :z 4096.0 :w 1.0)) - (new 'static 'vector :x 364.0889 :y 4096.0) - (new 'static 'vector :x 1.0 :y 1.25 :z 1.0) - 4 - ) - (-> s5-9 ppointer) - ) - ) - (let ((s5-10 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-10 - (let ((t9-45 (method-of-type plant-boss-arm activate))) - (t9-45 (the-as plant-boss-arm s5-10) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-10 - plant-boss-root-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :z -2048.0 :w 1.0)) - (new 'static 'vector :x 1820.4445) - (new 'static 'vector :x 0.9 :y 1.5 :z 1.0) - 4 - ) - (-> s5-10 ppointer) - ) - ) - (let ((s5-11 (get-process *default-dead-pool* plant-boss-leaf #x4000))) - (set! (-> obj leaf 0) - (the-as - (pointer plant-boss-leaf) - (when s5-11 - (let ((t9-48 (method-of-type plant-boss-leaf activate))) - (t9-48 (the-as plant-boss-leaf s5-11) obj 'plant-boss-leaf (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-11 - plant-boss-leaf-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :w 1.0)) - 0.0 - 0 - ) - (-> s5-11 ppointer) - ) - ) - ) - ) - (let ((s5-12 (get-process *default-dead-pool* plant-boss-leaf #x4000))) - (set! (-> obj leaf 1) - (the-as - (pointer plant-boss-leaf) - (when s5-12 - (let ((t9-51 (method-of-type plant-boss-leaf activate))) - (t9-51 (the-as plant-boss-leaf s5-12) obj 'plant-boss-leaf (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-12 - plant-boss-leaf-init - (vector+! - (new-stack-vector0) - (-> obj root-override trans) - (new 'static 'vector :x -13189.12 :y 2838.528 :z 12288.0 :w 1.0) - ) - 0.0 - 1 - ) - (-> s5-12 ppointer) - ) - ) - ) - ) (set! (-> obj energy) 0.25) (set! (-> obj health) 3.0) (set! (-> obj cam-tracker) (the-as handle #f)) diff --git a/goal_src/levels/jungleb/plat-flip.gc b/goal_src/levels/jungleb/plat-flip.gc index fe5589bc86..4367e7038a 100644 --- a/goal_src/levels/jungleb/plat-flip.gc +++ b/goal_src/levels/jungleb/plat-flip.gc @@ -6,6 +6,7 @@ ;; dgos: JUB, L1 ;; DECOMP BEGINS + (import "goal_src/import/plat-flip-ag.gc") (deftype plat-flip (process-drawable) @@ -36,25 +37,22 @@ ) (defstate plat-flip-idle (plat-flip) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'bonk) (activate! (-> self smush) -1.0 90 300 1.0 1.0) ) ((= v1-0 'touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) (the-as smush-control #f) ) ) ) ) ) - :trans - (the-as (function none :behavior plat-flip) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior plat-flip) rider-trans) + :code (behavior () (local-vars (f30-0 float) (f30-1 float)) (let ((gp-0 #f)) (loop @@ -70,8 +68,7 @@ (sound-play-by-name (static-sound-name "plat-flip") (new-sound-id) 1024 0 0 1 #t) ) (ja :group! plat-flip-turn-down-ja - :num! - (identity (/ (* f30-0 (the float (+ (-> (the-as art-joint-anim plat-flip-turn-down-ja) data 0 length) -1))) + :num! (identity (/ (* f30-0 (the float (+ (-> (the-as art-joint-anim plat-flip-turn-down-ja) data 0 length) -1))) (-> self turn-down-time) ) ) @@ -88,8 +85,7 @@ ) (let ((f30-2 (- f30-1 (-> self before-turn-up-time)))) (ja :group! plat-flip-turn-up-ja - :num! - (identity (/ (* f30-2 (the float (+ (-> (the-as art-joint-anim plat-flip-turn-up-ja) data 0 length) -1))) + :num! (identity (/ (* f30-2 (the float (+ (-> (the-as art-joint-anim plat-flip-turn-up-ja) data 0 length) -1))) (-> self turn-up-time) ) ) @@ -108,8 +104,7 @@ ) (none) ) - :post - (the-as (function none :behavior plat-flip) rider-post) + :post (the-as (function none :behavior plat-flip) rider-post) ) (defmethod init-from-entity! plat-flip ((obj plat-flip) (arg0 entity-actor)) diff --git a/goal_src/levels/lavatube/assistant-lavatube.gc b/goal_src/levels/lavatube/assistant-lavatube.gc index 84fe19388c..dcbbcd4819 100644 --- a/goal_src/levels/lavatube/assistant-lavatube.gc +++ b/goal_src/levels/lavatube/assistant-lavatube.gc @@ -6,6 +6,7 @@ ;; dgos: L1, LAV ;; DECOMP BEGINS + (import "goal_src/import/assistant-lavatube-start-ag.gc") (deftype assistant-lavatube-start (process-taskable) @@ -33,8 +34,7 @@ :name "assistant-lavatube-start-resolution" :index 5 :parts 11 - :command-list - '((232 joint "cameraB") (491 joint "camera") (866 joint "cameraB") (1061 joint "camera")) + :command-list '((232 joint "cameraB") (491 joint "camera") (866 joint "cameraB") (1061 joint "camera")) ) ) (else @@ -57,8 +57,7 @@ (defstate hidden (assistant-lavatube-start) :virtual #t - :trans - (behavior () + :trans (behavior () ((-> (method-of-type process-taskable hidden) trans)) (when (and (cond ((and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) @@ -114,8 +113,7 @@ (defstate idle (assistant-lavatube-start) :virtual #t - :code - (behavior () + :code (behavior () (loop (when (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) diff --git a/goal_src/levels/lavatube/lavatube-energy.gc b/goal_src/levels/lavatube/lavatube-energy.gc index b866df0990..e545ed66eb 100644 --- a/goal_src/levels/lavatube/lavatube-energy.gc +++ b/goal_src/levels/lavatube/lavatube-energy.gc @@ -6,22 +6,21 @@ ;; dgos: L1, LAV ;; DECOMP BEGINS -(import "goal_src/import/energyhub-ag.gc") -(import "goal_src/import/energybase-ag.gc") -(import "goal_src/import/energyarm-ag.gc") + (import "goal_src/import/energyball-ag.gc") +(import "goal_src/import/energybase-ag.gc") +(import "goal_src/import/energyhub-ag.gc") +(import "goal_src/import/energyarm-ag.gc") (import "goal_src/import/energydoor-ag.gc") (defpartgroup group-energyarm :id 544 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1931 :fade-after (meters 120)) (sp-item 2167 :fade-after (meters 60) :falloff-to (meters 60))) + :parts ((sp-item 1931 :fade-after (meters 120)) (sp-item 2167 :fade-after (meters 60) :falloff-to (meters 60))) ) (defpart 1931 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -39,8 +38,7 @@ ) (defpart 2167 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 8.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -66,8 +64,7 @@ (defpartgroup group-energyball-always :id 545 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2168 :fade-after (meters 80) :falloff-to (meters 80)) + :parts ((sp-item 2168 :fade-after (meters 80) :falloff-to (meters 80)) (sp-item 2169 :fade-after (meters 120)) (sp-item 2170 :fade-after (meters 120)) (sp-item 2171 :fade-after (meters 120) :flags (is-3d)) @@ -79,8 +76,7 @@ ) (defpart 2168 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-y (meters -5.5)) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) @@ -105,8 +101,7 @@ ) (defpart 2176 - :init-specs - ((sp-flt spt-scale-x (meters 1.2)) + :init-specs ((sp-flt spt-scale-x (meters 1.2)) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-a 48.0) (sp-int spt-timer 5) @@ -114,8 +109,7 @@ ) (defpart 2177 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -138,8 +132,7 @@ ) (defpart 2169 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -5.5)) (sp-rnd-flt spt-scale-x (meters 8) (meters 4) 1.0) @@ -154,8 +147,7 @@ ) (defpart 2170 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -5.5)) (sp-rnd-flt spt-scale-x (meters 12) (meters 8) 1.0) @@ -171,8 +163,7 @@ ) (defpart 2171 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -5)) (sp-rnd-flt spt-scale-x (meters 12) (meters 8) 1.0) @@ -191,8 +182,7 @@ ) (defpart 2172 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-y (meters -5.5)) (sp-flt spt-scale-x (meters 0.5)) @@ -212,8 +202,7 @@ ) (defpart 2173 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 6) 1.0) (sp-int spt-rot-x 4) @@ -232,13 +221,11 @@ ) (defpart 2178 - :init-specs - ((sp-flt spt-b 0.0) (sp-flt spt-a 64.0) (sp-flt spt-fade-g -4.266667)) + :init-specs ((sp-flt spt-b 0.0) (sp-flt spt-a 64.0) (sp-flt spt-fade-g -4.266667)) ) (defpart 2174 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 4) 1.0) (sp-int spt-rot-x 4) @@ -257,8 +244,7 @@ ) (defpart 2175 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 4) 1.0) (sp-int spt-rot-x 4) @@ -280,8 +266,7 @@ :id 546 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 45) - :parts - ((sp-item 2179 :period 600 :length 5) + :parts ((sp-item 2179 :period 600 :length 5) (sp-item 2180 :period 600 :length 40) (sp-item 2181 :period 600 :length 20) (sp-item 2182 :period 600 :length 20) @@ -289,8 +274,7 @@ ) (defpart 2180 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0) @@ -315,13 +299,11 @@ ) (defpart 2183 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) (defpart 2182 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.4)) @@ -339,8 +321,7 @@ ) (defpart 2179 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 40)) @@ -356,8 +337,7 @@ ) (defpart 2181 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters -2) (meters 4) 1.0) @@ -438,10 +418,8 @@ ) (defstate energydoor-closing (energydoor) - :event - energydoor-closed-handler - :code - (behavior () + :event energydoor-closed-handler + :code (behavior () (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) @@ -455,15 +433,12 @@ ) (none) ) - :post - (the-as (function none :behavior energydoor) transform-post) + :post (the-as (function none :behavior energydoor) transform-post) ) (defstate energydoor-opened (energydoor) - :event - energydoor-open-handler - :trans - (behavior () + :event energydoor-open-handler + :trans (behavior () (let ((f30-0 (energydoor-player-dist))) (cond ((< f30-0 -450560.0) @@ -494,8 +469,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja :num-func num-func-identity :frame-num max) (transform-post) (loop @@ -506,10 +480,8 @@ ) (defstate energydoor-opening (energydoor) - :event - energydoor-open-handler - :code - (behavior () + :event energydoor-open-handler + :code (behavior () (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -518,15 +490,12 @@ (go energydoor-opened) (none) ) - :post - (the-as (function none :behavior energydoor) transform-post) + :post (the-as (function none :behavior energydoor) transform-post) ) (defstate energydoor-closed-till-task (energydoor) - :event - energydoor-closed-handler - :trans - (behavior () + :event energydoor-closed-handler + :trans (behavior () (cond ((task-closed? (-> self entity extra perm task) (task-status need-resolution)) (go energydoor-opening) @@ -551,8 +520,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja :num-func num-func-identity :frame-num 0.0) (transform-post) (loop @@ -563,17 +531,14 @@ ) (defstate energydoor-closed-till-near (energydoor) - :event - energydoor-closed-handler - :trans - (behavior () + :event energydoor-closed-handler + :trans (behavior () (if (< -409600.0 (energydoor-player-dist)) (go energydoor-opening) ) (none) ) - :code - (behavior () + :code (behavior () (ja :num-func num-func-identity :frame-num 0.0) (transform-post) (loop @@ -667,8 +632,7 @@ ) (defstate energybase-stopped (energybase) - :code - (behavior () + :code (behavior () (ja-post) (loop (suspend) @@ -678,8 +642,7 @@ ) (defstate energybase-stopping (energybase) - :code - (behavior () + :code (behavior () (let ((f30-0 1.0)) (loop (ja-no-eval :group! (ja-group) :num! (seek! max f30-0) :frame-num 0.0) @@ -695,21 +658,18 @@ ) (none) ) - :post - (the-as (function none :behavior energybase) ja-post) + :post (the-as (function none :behavior energybase) ja-post) ) (defstate energybase-idle (energybase) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('stop) (go energybase-stopping) ) ) ) - :code - (behavior () + :code (behavior () (loop (if (and *target* (>= 307200.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) (level-hint-spawn @@ -728,8 +688,7 @@ ) (none) ) - :post - (the-as (function none :behavior energybase) ja-post) + :post (the-as (function none :behavior energybase) ja-post) ) (defmethod init-from-entity! energybase ((obj energybase) (arg0 entity-actor)) @@ -814,42 +773,31 @@ ) (defstate energyball-idle (energyball) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as - object - (when (= v1-0 'attack) - (when (and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) - (increment-success-for-hint (game-text-id lavatube-shoot-the-spheres)) - (sound-play-by-name (static-sound-name "dcrate-break") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 546) - 600 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (the-as object (when (= v1-0 'attack) + (when (and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) + (increment-success-for-hint (game-text-id lavatube-shoot-the-spheres)) + (sound-play-by-name (static-sound-name "dcrate-break") (new-sound-id) 1024 0 0 1 #t) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 546) + 600 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* + ) + (cleanup-for-death self) + (deactivate self) + ) + ) ) - (cleanup-for-death self) - (deactivate self) - ) - ) - ) ) ) - :trans - (behavior () + :trans (behavior () (rider-trans) (spawn (-> self part) (-> self root-override trans)) (let* ((v1-3 (-> self parent-overide)) @@ -877,8 +825,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -888,8 +835,7 @@ ) (none) ) - :post - (the-as (function none :behavior energyball) rider-post) + :post (the-as (function none :behavior energyball) rider-post) ) (defun energyball-init ((arg0 energyball)) @@ -968,20 +914,17 @@ ) (defstate energyarm-stop (energyarm) - :enter - (behavior () + :enter (behavior () '() (none) ) - :trans - (behavior () + :trans (behavior () (update! (-> self x-rotation) 0.0) (update! (-> self y-chatter-rotation) 0.0) (energyarm-trans) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -991,26 +934,22 @@ ) (none) ) - :post - (the-as (function none :behavior energyarm) rider-post) + :post (the-as (function none :behavior energyarm) rider-post) ) (defstate energyarm-no-ball (energyarm) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('stop) (go energyarm-stop) ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self y-chatter-rotation osc target) 1.0) (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self x-correction) (fmax -1.0 (+ -0.1 (-> self x-correction)))) (update! (-> self x-rotation) 0.0) (when (at-min? (-> self x-rotation)) @@ -1036,8 +975,7 @@ (energyarm-trans) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1047,18 +985,15 @@ ) (none) ) - :post - (the-as (function none :behavior energyarm) rider-post) + :post (the-as (function none :behavior energyarm) rider-post) ) (defstate energyarm-fall (energyarm) - :enter - (behavior () + :enter (behavior () (set! (-> self x-fall-rotation osc target) 1.0) (none) ) - :trans - (behavior () + :trans (behavior () (update! (-> self x-fall-rotation) 0.0) (update! (-> self y-chatter-rotation) 0.0) (when (at-max? (-> self x-fall-rotation)) @@ -1071,8 +1006,7 @@ (energyarm-trans) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1082,21 +1016,18 @@ ) (none) ) - :post - (the-as (function none :behavior energyarm) rider-post) + :post (the-as (function none :behavior energyarm) rider-post) ) (defstate energyarm-idle (energyarm) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('stop) (go energyarm-stop) ) ) ) - :trans - (behavior () + :trans (behavior () (update! (-> self x-rotation) 0.0) (when (at-min? (-> self x-rotation)) (let* ((f30-0 0.15) @@ -1134,15 +1065,10 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (-> self skel root-channel 0))) (set! (-> gp-0 num-func) num-func-identity) - (let* ((v1-4 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-5 (the-as number (logior #x3f800000 v1-4))) - ) - (set! (-> gp-0 frame-num) (* (+ -1.0 (the-as float v1-5)) (the float (ja-num-frames 0)))) - ) + (set! (-> gp-0 frame-num) (* (rand-float-gen) (the float (ja-num-frames 0)))) ) (loop (suspend) @@ -1157,8 +1083,7 @@ ) (none) ) - :post - (the-as (function none :behavior energyarm) rider-post) + :post (the-as (function none :behavior energyarm) rider-post) ) (defun energyarm-init ((arg0 energyarm)) @@ -1218,18 +1143,7 @@ (go energyarm-stop) ) (else - (let ((gp-1 (get-process *default-dead-pool* energyball #x4000))) - (set! (-> self ball) - (ppointer->handle (when gp-1 - (let ((t9-10 (method-of-type energyball activate))) - (t9-10 (the-as energyball gp-1) self 'energyball (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 energyball-init-by-other (-> self root-override trans)) - (-> gp-1 ppointer) - ) - ) - ) - ) + (set! (-> self ball) (ppointer->handle (process-spawn energyball (-> self root-override trans) :to self))) (go energyarm-idle) ) ) @@ -1297,8 +1211,7 @@ ) (defstate energyhub-stopped (energyhub) - :enter - (behavior () + :enter (behavior () (set! (-> self rotation-speed target) 0.0) (set! (-> self rotation-speed accel) 0.0005) (dotimes (gp-0 5) @@ -1309,15 +1222,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (update! (-> self rotation-speed) 0.0) (energyhub-trans) (energyhub-set-lava-height -122880.0) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (let* ((f30-0 1.0) @@ -1331,13 +1242,11 @@ ) (none) ) - :post - (the-as (function none :behavior energyhub) ja-post) + :post (the-as (function none :behavior energyhub) ja-post) ) (defstate energyhub-stop (energyhub) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'flash) (let ((f0-0 1.9921875)) @@ -1348,8 +1257,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self rotation-speed target) 0.0) (set! (-> self rotation-speed accel) 0.0005) (let ((a1-0 (new 'stack-no-clear 'event-message-block))) @@ -1395,8 +1303,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (update! (-> self rotation-speed) 0.0) (energyhub-trans) (energyhub-set-lava-height -122880.0) @@ -1405,8 +1312,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (let* ((f30-0 1.0) @@ -1420,13 +1326,11 @@ ) (none) ) - :post - (the-as (function none :behavior energyhub) ja-post) + :post (the-as (function none :behavior energyhub) ja-post) ) (defstate energyhub-idle (energyhub) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'flash) (let ((f0-0 1.9921875)) @@ -1437,8 +1341,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (nonzero? (-> self sound)) (update! (-> self sound)) ) @@ -1487,8 +1390,7 @@ (energyhub-trans) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (let* ((f30-0 1.0) @@ -1502,8 +1404,7 @@ ) (none) ) - :post - (the-as (function none :behavior energyhub) ja-post) + :post (the-as (function none :behavior energyhub) ja-post) ) (defmethod init-from-entity! energyhub ((obj energyhub) (arg0 entity-actor)) @@ -1524,18 +1425,7 @@ (set-vector! s5-2 0.0 2457.6 -24576.0 1.0) (matrix-rotate-y! s4-1 f30-0) (dotimes (s3-0 5) - (let ((s2-0 (get-process *default-dead-pool* energyarm #x4000))) - (set! (-> obj arm s3-0) - (ppointer->handle (when s2-0 - (let ((t9-9 (method-of-type energyarm activate))) - (t9-9 (the-as energyarm s2-0) obj 'energyarm (the-as pointer #x70004000)) - ) - (run-now-in-process s2-0 energyarm-init-by-other s5-2 (* (the float s3-0) f30-0)) - (-> s2-0 ppointer) - ) - ) - ) - ) + (set! (-> obj arm s3-0) (ppointer->handle (process-spawn energyarm s5-2 (* (the float s3-0) f30-0) :to obj))) (vector-matrix*! s5-2 s5-2 s4-1) ) ) @@ -1573,8 +1463,7 @@ (defskelgroup *energylava-sg* energylava 0 2 ((1 (meters 999999))) :bounds (static-spherem 0 0 0 120)) (defstate energylava-idle (energylava) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1584,8 +1473,7 @@ ) (none) ) - :post - (the-as (function none :behavior energylava) ja-post) + :post (the-as (function none :behavior energylava) ja-post) ) (defmethod init-from-entity! energylava ((obj energylava) (arg0 entity-actor)) diff --git a/goal_src/levels/lavatube/lavatube-obs.gc b/goal_src/levels/lavatube/lavatube-obs.gc index 989778258a..75054f8b21 100644 --- a/goal_src/levels/lavatube/lavatube-obs.gc +++ b/goal_src/levels/lavatube/lavatube-obs.gc @@ -6,14 +6,15 @@ ;; dgos: L1, LAV ;; DECOMP BEGINS -(import "goal_src/import/darkecobarrel-ag.gc") + +(import "goal_src/import/lavafallsewerb-ag.gc") +(import "goal_src/import/lavashortcut-ag.gc") +(import "goal_src/import/lavabase-ag.gc") +(import "goal_src/import/lavafallsewera-ag.gc") +(import "goal_src/import/chainmine-ag.gc") (import "goal_src/import/lavafall-ag.gc") (import "goal_src/import/lavaballoon-ag.gc") -(import "goal_src/import/lavashortcut-ag.gc") -(import "goal_src/import/chainmine-ag.gc") -(import "goal_src/import/lavafallsewera-ag.gc") -(import "goal_src/import/lavafallsewerb-ag.gc") -(import "goal_src/import/lavabase-ag.gc") +(import "goal_src/import/darkecobarrel-ag.gc") (import "goal_src/import/lavayellowtarp-ag.gc") (deftype lavabase (process-drawable) @@ -35,8 +36,7 @@ ) (defstate lavabase-idle (lavabase) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -46,8 +46,7 @@ ) (none) ) - :post - (the-as (function none :behavior lavabase) ja-post) + :post (the-as (function none :behavior lavabase) ja-post) ) (defmethod init-from-entity! lavabase ((obj lavabase) (arg0 entity-actor)) @@ -77,8 +76,7 @@ ) (defstate lavafall-idle (lavafall) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -88,8 +86,7 @@ ) (none) ) - :post - (the-as (function none :behavior lavafall) ja-post) + :post (the-as (function none :behavior lavafall) ja-post) ) (defmethod init-from-entity! lavafall ((obj lavafall) (arg0 entity-actor)) @@ -119,8 +116,7 @@ ) (defstate lavashortcut-idle (lavashortcut) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -130,8 +126,7 @@ ) (none) ) - :post - (the-as (function none :behavior lavashortcut) ja-post) + :post (the-as (function none :behavior lavashortcut) ja-post) ) (defmethod init-from-entity! lavashortcut ((obj lavashortcut) (arg0 entity-actor)) @@ -146,13 +141,11 @@ :id 540 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1932 :period 15 :length 5)) + :parts ((sp-item 1932 :period 15 :length 5)) ) (defpart 1932 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 2) 1.0) @@ -180,8 +173,7 @@ :id 541 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2125 :period 600 :length 5) + :parts ((sp-item 2125 :period 600 :length 5) (sp-item 2126 :period 600 :length 40) (sp-item 2127 :period 600 :length 20) (sp-item 2128 :period 600 :length 20) @@ -254,8 +246,7 @@ ) (defpart 2166 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters -2) (meters 4) 1.0) @@ -274,8 +265,7 @@ ) (defpart 2126 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -300,13 +290,11 @@ ) (defpart 2129 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) (defpart 2128 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.4)) @@ -324,8 +312,7 @@ ) (defpart 2125 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 32)) @@ -341,8 +328,7 @@ ) (defpart 2127 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 2) 1.0) @@ -510,8 +496,7 @@ ) (defstate darkecobarrel-mover-die (darkecobarrel-mover) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) (ja-post) @@ -519,14 +504,16 @@ (let ((gp-1 (new 'stack-no-clear 'vector))) (set! (-> gp-1 quad) (-> self root-override trans quad)) (set! (-> gp-1 y) (+ -49152.0 (-> gp-1 y))) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 541) 600 #f #f #f gp-1) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 541) + 600 + #f + #f + #f + gp-1 + :to *entity-pool* ) ) (suspend) @@ -541,8 +528,7 @@ ) (defstate darkecobarrel-mover-move (darkecobarrel-mover) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (cond @@ -554,17 +540,7 @@ (-> self root-override) (the-as uint 1) ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack-invinc) - (set! (-> a1-2 param 0) s5-0) - (let ((a0-4 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-4 mode) 'death) - (set! (-> a1-2 param 1) (the-as uint a0-4)) - ) - (send-event-function arg0 a1-2) - ) + (send-event arg0 'attack-invinc s5-0 (static-attack-info ((mode 'death)))) ) (go darkecobarrel-mover-die) ) @@ -614,8 +590,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (update! (-> self y-offset) 0.0) (if (and (at-min? (-> self y-offset)) (< (-> self y-offset osc vel) 0.03)) (set! (-> self y-offset osc vel) (fabs (update! (-> self y-offset-tgt)))) @@ -624,22 +599,15 @@ (darkecobarrel-mover-pos) (none) ) - :code - (behavior () - (let* ((f30-0 0.9) - (f28-0 0.25) - (v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-2)))) + :code (behavior () + (let ((f30-0 0.9) + (f28-0 0.25) + ) + (+ f30-0 (* f28-0 (rand-float-gen))) ) (let ((gp-0 (-> self skel root-channel 0))) (set! (-> gp-0 num-func) num-func-identity) - (let* ((v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-9 (the-as number (logior #x3f800000 v1-8))) - ) - (set! (-> gp-0 frame-num) (* (+ -1.0 (the-as float v1-9)) (the float (ja-num-frames 0)))) - ) + (set! (-> gp-0 frame-num) (* (rand-float-gen) (the float (ja-num-frames 0)))) ) (loop (ja :num-func num-func-identity :frame-num 0.0) @@ -647,8 +615,7 @@ ) (none) ) - :post - (the-as (function none :behavior darkecobarrel-mover) pusher-post) + :post (the-as (function none :behavior darkecobarrel-mover) pusher-post) ) (defbehavior darkecobarrel-mover-init-by-other darkecobarrel-mover ((arg0 res-lump) (arg1 float) (arg2 time-frame) (arg3 time-frame)) @@ -719,29 +686,20 @@ ) (defstate darkecobarrel-spawner (darkecobarrel) - :trans - (behavior () + :trans (behavior () (let ((gp-1 (mod (darkecobarrel-base-time) (darkecobarrel-cycle-time)))) (if (and (> (-> self cur-spawn) 0) (< gp-1 (-> self spawn-array (+ (-> self cur-spawn) -1)))) (+! gp-1 (darkecobarrel-cycle-time)) ) (let ((gp-2 (- gp-1 (-> self spawn-array (-> self cur-spawn))))) (when (>= gp-2 0) - (let ((s5-0 (get-process *default-dead-pool* darkecobarrel-mover #x4000))) - (when s5-0 - (let ((t9-4 (method-of-type darkecobarrel-mover activate))) - (t9-4 (the-as darkecobarrel-mover s5-0) self 'darkecobarrel-mover (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - darkecobarrel-mover-init-by-other - (-> self entity) - (-> self speed) - (- (darkecobarrel-base-time) (the-as time-frame gp-2)) - (-> self sync) - ) - (-> s5-0 ppointer) - ) + (process-spawn + darkecobarrel-mover + (-> self entity) + (-> self speed) + (- (darkecobarrel-base-time) (the-as time-frame gp-2)) + (-> self sync) + :to self ) (darkecobarrel-advance-curspawn) ) @@ -752,8 +710,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -817,15 +774,7 @@ (s5-4 (- (darkecobarrel-base-time) (the-as time-frame (- s5-3 (-> obj spawn-array (-> obj cur-spawn)))))) ) (until (darkecobarrel-base-done? (darkecobarrel-base-pos s5-4)) - (let ((s3-0 (get-process *default-dead-pool* darkecobarrel-mover #x4000))) - (when s3-0 - (let ((t9-14 (method-of-type darkecobarrel-mover activate))) - (t9-14 (the-as darkecobarrel-mover s3-0) obj 'darkecobarrel-mover (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 darkecobarrel-mover-init-by-other (-> obj entity) (-> obj speed) s5-4 (-> obj sync)) - (-> s3-0 ppointer) - ) - ) + (process-spawn darkecobarrel-mover (-> obj entity) (-> obj speed) s5-4 (-> obj sync) :to obj) (set! s5-4 (- s5-4 (the-as time-frame (-> obj spawn-array s4-0)))) (+! s4-0 -1) (if (< s4-0 0) @@ -858,8 +807,7 @@ ) (defstate lavafallsewera-idle (lavafallsewera) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -869,8 +817,7 @@ ) (none) ) - :post - (the-as (function none :behavior lavafallsewera) ja-post) + :post (the-as (function none :behavior lavafallsewera) ja-post) ) (defmethod init-from-entity! lavafallsewera ((obj lavafallsewera) (arg0 entity-actor)) @@ -899,8 +846,7 @@ ) (defstate lavafallsewerb-idle (lavafallsewerb) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -910,8 +856,7 @@ ) (none) ) - :post - (the-as (function none :behavior lavafallsewerb) ja-post) + :post (the-as (function none :behavior lavafallsewerb) ja-post) ) (defmethod init-from-entity! lavafallsewerb ((obj lavafallsewerb) (arg0 entity-actor)) @@ -940,8 +885,7 @@ :id 542 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2132 :period 600 :length 5) + :parts ((sp-item 2132 :period 600 :length 5) (sp-item 2133 :period 600 :length 40) (sp-item 2134 :period 600 :length 20) (sp-item 2135 :period 600 :length 20) @@ -949,8 +893,7 @@ ) (defpart 2133 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -977,13 +920,11 @@ ) (defpart 2136 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) ) (defpart 2135 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.4)) @@ -1003,8 +944,7 @@ ) (defpart 2132 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 32)) @@ -1020,8 +960,7 @@ ) (defpart 2134 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1048,8 +987,7 @@ ) (defpart 2137 - :init-specs - ((sp-flt spt-fade-r -1.0666667) + :init-specs ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g -1.0666667) (sp-flt spt-fade-b -2.1166666) (sp-int spt-next-time 60) @@ -1058,8 +996,7 @@ ) (defpart 2138 - :init-specs - ((sp-flt spt-fade-r -0.5688889) + :init-specs ((sp-flt spt-fade-r -0.5688889) (sp-flt spt-fade-g -0.28444445) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334) @@ -1069,8 +1006,7 @@ ) (defpart 2139 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defskelgroup *chainmine-sg* chainmine chainmine-lod0-jg chainmine-idle-ja @@ -1081,8 +1017,7 @@ (defstate die (chainmine) :virtual #t - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) (ja-post) @@ -1090,14 +1025,16 @@ (let ((gp-1 (new 'stack-no-clear 'vector))) (set! (-> gp-1 quad) (-> self root-override trans quad)) (set! (-> gp-1 y) (+ -73728.0 (-> gp-1 y))) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 542) 600 #f #f #f gp-1) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 542) + 600 + #f + #f + #f + gp-1 + :to *entity-pool* ) ) (suspend) @@ -1113,27 +1050,15 @@ (defstate idle (chainmine) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack 'touch) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((a2-2 (new 'static 'attack-info :mask #x20))) - (set! (-> a2-2 mode) 'deadly) - (set! (-> a1-3 param 1) (the-as uint a2-2)) - ) - (send-event-function arg0 a1-3) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'deadly)))) (go-virtual die) ) ) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1146,8 +1071,7 @@ ) (none) ) - :post - (the-as (function none :behavior chainmine) ja-post) + :post (the-as (function none :behavior chainmine) ja-post) ) (defmethod init-from-entity! chainmine ((obj chainmine) (arg0 entity-actor)) @@ -1204,13 +1128,11 @@ :id 543 :duration 5 :bounds (static-bspherem 0 0 0 15) - :parts - ((sp-item 1987) (sp-item 1988) (sp-item 1989)) + :parts ((sp-item 1987) (sp-item 1988) (sp-item 1989)) ) (defpart 1988 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 2) 1.0) @@ -1230,8 +1152,7 @@ ) (defpart 1989 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-flt spt-y (meters 2)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0) @@ -1254,8 +1175,7 @@ ) (defpart 1987 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 12)) @@ -1273,29 +1193,21 @@ (defstate die (lavaballoon) :virtual #t - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) (ja-post) (sound-play-by-name (static-sound-name "cool-balloon") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 543) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 543) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (suspend) (cleanup-for-death self) @@ -1306,8 +1218,7 @@ (defstate idle (lavaballoon) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (send-event arg0 'heat -10.0) @@ -1315,8 +1226,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (zero? (logand (-> self path flags) (path-control-flag not-found))) (let ((f0-4 (* 0.5 (+ 1.0 (sin (* (-> self move-per-tick) (the float (-> *display* base-frame-counter)))))))) (eval-path-curve! (-> self path) (-> self root-override trans) f0-4 'interp) @@ -1324,8 +1234,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1335,8 +1244,7 @@ ) (none) ) - :post - (the-as (function none :behavior lavaballoon) transform-post) + :post (the-as (function none :behavior lavaballoon) transform-post) ) (defmethod init-from-entity! lavaballoon ((obj lavaballoon) (arg0 entity-actor)) @@ -1379,8 +1287,7 @@ (define ripple-for-lavatube-lava (new 'static 'ripple-wave-set :count 2 :converted #f - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 2 :speed 3.0) (new 'static 'ripple-wave :scale 40.0 :xdiv -2 :zdiv 2 :speed 1.8) (new 'static 'ripple-wave) @@ -1391,8 +1298,7 @@ (defstate water-vol-idle (lavatube-lava) :virtual #t - :post - (behavior () + :post (behavior () (let ((t9-0 (-> (method-of-type water-anim water-vol-idle) post))) (if t9-0 ((the-as (function none :behavior lavatube-lava) t9-0)) @@ -1436,8 +1342,7 @@ ) (defstate lavayellowtarp-idle (lavayellowtarp) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1447,8 +1352,7 @@ ) (none) ) - :post - (the-as (function none :behavior lavayellowtarp) ja-post) + :post (the-as (function none :behavior lavayellowtarp) ja-post) ) (defmethod init-from-entity! lavayellowtarp ((obj lavayellowtarp) (arg0 entity-actor)) diff --git a/goal_src/levels/lavatube/lavatube-part.gc b/goal_src/levels/lavatube/lavatube-part.gc index 11a7434a78..0843f1f6a0 100644 --- a/goal_src/levels/lavatube/lavatube-part.gc +++ b/goal_src/levels/lavatube/lavatube-part.gc @@ -19,20 +19,17 @@ (defpartgroup group-lavatube-crust-20x20 :id 616 :bounds (static-bspherem 0 0 0 14) - :parts - ((sp-item 2489 :fade-after (meters 140) :falloff-to (meters 140))) + :parts ((sp-item 2489 :fade-after (meters 140) :falloff-to (meters 140))) ) (defpartgroup group-lavatube-lowlava-20x20 :id 617 :bounds (static-bspherem 0 12 0 48) - :parts - ((sp-item 2490 :fade-after (meters 190) :falloff-to (meters 190))) + :parts ((sp-item 2490 :fade-after (meters 190) :falloff-to (meters 190))) ) (defpart 2490 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 3)) @@ -58,13 +55,11 @@ ) (defpart 2491 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 2492)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 2492)) ) (defpart 2492 - :init-specs - ((sp-flt spt-fade-r -1.28) + :init-specs ((sp-flt spt-fade-r -1.28) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.42666668) (sp-int spt-next-time 150) @@ -73,13 +68,11 @@ ) (defpart 2493 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.035555556)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.035555556)) ) (defpart 2489 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0)) @@ -105,13 +98,11 @@ ) (defpart 2494 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 2496)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 2496)) ) (defpart 2496 - :init-specs - ((sp-flt spt-fade-r -0.85333335) + :init-specs ((sp-flt spt-fade-r -0.85333335) (sp-flt spt-fade-g -0.42666668) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 2497) @@ -119,27 +110,23 @@ ) (defpart 2497 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a -0.026666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a -0.026666667)) ) (defpartgroup group-lavatube-crust-40x40 :id 629 :bounds (static-bspherem 0 0 0 32) - :parts - ((sp-item 2529 :fade-after (meters 180) :falloff-to (meters 180))) + :parts ((sp-item 2529 :fade-after (meters 180) :falloff-to (meters 180))) ) (defpartgroup group-lavatube-lowlava-40x40 :id 630 :bounds (static-bspherem 0 12 0 32) - :parts - ((sp-item 2530 :fade-after (meters 200) :falloff-to (meters 200))) + :parts ((sp-item 2530 :fade-after (meters 200) :falloff-to (meters 200))) ) (defpart 2530 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters 3)) @@ -165,8 +152,7 @@ ) (defpart 2529 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters 0)) @@ -194,8 +180,7 @@ (defpartgroup group-lavatube-green-smoke-down-1 :id 621 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) + :parts ((sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) (sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 770 :length 96) (sp-item 2516 :fade-after (meters 140) :falloff-to (meters 160) :period 936 :length 60) (sp-item 2517 :fade-after (meters 100) :falloff-to (meters 100)) @@ -205,8 +190,7 @@ (defpartgroup group-lavatube-green-smoke-down-2 :id 622 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 1536 :length 75) + :parts ((sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 1536 :length 75) (sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 596 :length 96) (sp-item 2516 :fade-after (meters 140) :falloff-to (meters 160) :period 1070 :length 60) (sp-item 2517 :fade-after (meters 100) :falloff-to (meters 100)) @@ -216,8 +200,7 @@ (defpartgroup group-lavatube-green-smoke-down-3 :id 623 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 1161 :length 75) + :parts ((sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 1161 :length 75) (sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 869 :length 96) (sp-item 2516 :fade-after (meters 140) :falloff-to (meters 160) :period 1029 :length 60) (sp-item 2517 :fade-after (meters 100) :falloff-to (meters 100)) @@ -225,8 +208,7 @@ ) (defpart 2517 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-rnd-flt spt-x (meters 0) (meters 3) 1.0) (sp-flt spt-y (meters -1)) @@ -254,13 +236,11 @@ ) (defpart 2518 - :init-specs - ((sp-flt spt-fade-a -0.47407407)) + :init-specs ((sp-flt spt-fade-a -0.47407407)) ) (defpart 2516 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.7 0.6 1.0) (sp-sound (static-sound-spec "steam-release" :num 0.05 :volume 100.0)) (sp-rnd-flt spt-x (meters 0) (meters 3) 1.0) @@ -293,8 +273,7 @@ (defpartgroup group-lavatube-green-smoke-angle-1 :id 624 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 1050 :length 75) + :parts ((sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 1050 :length 75) (sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 886 :length 96) (sp-item 2519 :fade-after (meters 140) :falloff-to (meters 160) :period 1276 :length 60) (sp-item 2520 :fade-after (meters 100) :falloff-to (meters 100)) @@ -304,8 +283,7 @@ (defpartgroup group-lavatube-green-smoke-angle-2 :id 625 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 1830 :length 75) + :parts ((sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 1830 :length 75) (sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 970 :length 96) (sp-item 2519 :fade-after (meters 140) :falloff-to (meters 160) :period 1102 :length 60) (sp-item 2520 :fade-after (meters 100) :falloff-to (meters 100)) @@ -315,8 +293,7 @@ (defpartgroup group-lavatube-green-smoke-angle-3 :id 626 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 1530 :length 75) + :parts ((sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 1530 :length 75) (sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 1189 :length 96) (sp-item 2519 :fade-after (meters 140) :falloff-to (meters 160) :period 862 :length 60) (sp-item 2520 :fade-after (meters 100) :falloff-to (meters 100)) @@ -324,8 +301,7 @@ ) (defpart 2520 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-rnd-flt spt-scale-x (meters 5) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -351,8 +327,7 @@ ) (defpart 2519 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.4 0.3 1.0) (sp-sound (static-sound-spec "steam-release" :num 0.05 :volume 100.0)) (sp-rnd-flt spt-scale-x (meters 6) (meters 4) 1.0) @@ -382,15 +357,13 @@ (defpartgroup group-lavatube-fountain :id 627 :bounds (static-bspherem 0 -10 0 12) - :parts - ((sp-item 2521 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 2521 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 2522 :fade-after (meters 100) :falloff-to (meters 100)) ) ) (defpart 2522 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-y (meters -0.75) (meters 0.25) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -414,8 +387,7 @@ ) (defpart 2521 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.1 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -440,8 +412,7 @@ ) (defpart 2523 - :init-specs - ((sp-flt spt-fade-r -0.64) + :init-specs ((sp-flt spt-fade-r -0.64) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.21333334) (sp-flt spt-fade-a -0.08) @@ -451,20 +422,17 @@ ) (defpart 2524 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpartgroup group-lavatube-vents :id 628 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2525 :fade-after (meters 160) :falloff-to (meters 160))) + :parts ((sp-item 2525 :fade-after (meters 160) :falloff-to (meters 160))) ) (defpart 2525 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.3 1.0) (sp-flt spt-y (meters -1)) (sp-rnd-flt spt-scale-x (meters 8) (meters 6) 1.0) @@ -490,8 +458,7 @@ ) (defpart 2526 - :init-specs - ((sp-flt spt-fade-r -1.28) + :init-specs ((sp-flt spt-fade-r -1.28) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.42666668) (sp-flt spt-fade-a -0.10666667) @@ -501,20 +468,17 @@ ) (defpart 2527 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpartgroup group-lavatube-heavy-smoke :id 631 :bounds (static-bspherem 0 10 0 22) - :parts - ((sp-item 2531 :fade-after (meters 140) :falloff-to (meters 140))) + :parts ((sp-item 2531 :fade-after (meters 140) :falloff-to (meters 140))) ) (defpart 2531 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.4 1.0) (sp-rnd-flt spt-x (meters -16) (meters 32) 1.0) (sp-rnd-flt spt-z (meters -16) (meters 32) 1.0) @@ -539,8 +503,7 @@ ) (defpart 2532 - :init-specs - ((sp-flt spt-fade-r -0.64) + :init-specs ((sp-flt spt-fade-r -0.64) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.21333334) (sp-flt spt-fade-a -0.08) @@ -550,22 +513,19 @@ ) (defpart 2533 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpartgroup group-lavatube-heavy-smoke-start :id 632 :bounds (static-bspherem 0 10 0 22) - :parts - ((sp-item 2534 :fade-after (meters 140) :falloff-to (meters 140)) + :parts ((sp-item 2534 :fade-after (meters 140) :falloff-to (meters 140)) (sp-item 2535 :fade-after (meters 200) :falloff-to (meters 200)) ) ) (defpart 2534 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 5.0 1.0) (sp-rnd-flt spt-x (meters -14) (meters 28) 1.0) (sp-rnd-flt spt-y (meters 8) (meters 8) 1.0) @@ -590,8 +550,7 @@ ) (defpart 2535 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.4 0.8 1.0) (sp-rnd-flt spt-x (meters -16) (meters 32) 1.0) (sp-rnd-flt spt-y (meters -14) (meters 30) 1.0) @@ -619,15 +578,13 @@ (defpartgroup group-lavatube-heavy-smoke-end :id 633 :bounds (static-bspherem 0 10 0 22) - :parts - ((sp-item 2536 :fade-after (meters 140) :falloff-to (meters 140)) + :parts ((sp-item 2536 :fade-after (meters 140) :falloff-to (meters 140)) (sp-item 2537 :fade-after (meters 200) :falloff-to (meters 200)) ) ) (defpart 2536 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 3.0 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 8) 1.0) @@ -652,8 +609,7 @@ ) (defpart 2537 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.4 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-rnd-flt spt-y (meters -22) (meters 30) 1.0) diff --git a/goal_src/levels/maincave/baby-spider.gc b/goal_src/levels/maincave/baby-spider.gc index b2a0bcf6f6..fc2f12fe7f 100644 --- a/goal_src/levels/maincave/baby-spider.gc +++ b/goal_src/levels/maincave/baby-spider.gc @@ -8,6 +8,7 @@ (declare-type cave-trap process-drawable) ;; DECOMP BEGINS + (import "goal_src/import/baby-spider-ag.gc") (deftype baby-spider-spawn-params (structure) @@ -300,10 +301,8 @@ baby-spider-default-event-handler ) (defstate baby-spider-hatching (baby-spider) - :event - baby-spider-default-event-handler - :code - (behavior () + :event baby-spider-default-event-handler + :code (behavior () (ja-channel-push! 1 0) (ja-no-eval :group! baby-spider-birth-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -316,15 +315,12 @@ baby-spider-default-event-handler (go baby-spider-resume) (none) ) - :post - (the-as (function none :behavior baby-spider) nav-enemy-simple-post) + :post (the-as (function none :behavior baby-spider) nav-enemy-simple-post) ) (defstate baby-spider-resume (baby-spider) - :event - baby-spider-default-event-handler - :code - (behavior () + :event baby-spider-default-event-handler + :code (behavior () (cond ((not *target*) (go-virtual nav-enemy-idle) @@ -350,10 +346,8 @@ baby-spider-default-event-handler (defstate nav-enemy-idle (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :enter - (behavior () + :event baby-spider-default-event-handler + :enter (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self collide-info trans quad)) (let ((t9-0 (-> (method-of-type nav-enemy nav-enemy-idle) enter))) @@ -367,8 +361,7 @@ baby-spider-default-event-handler ) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -379,8 +372,7 @@ baby-spider-default-event-handler ) (none) ) - :post - (behavior () + :post (behavior () (ja-post) (none) ) @@ -388,10 +380,8 @@ baby-spider-default-event-handler (defstate nav-enemy-patrol (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :trans - (behavior () + :event baby-spider-default-event-handler + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -402,12 +392,10 @@ baby-spider-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (loop - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info walk-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -423,10 +411,8 @@ baby-spider-default-event-handler (defstate nav-enemy-notice (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :trans - (behavior () + :event baby-spider-default-event-handler + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -437,8 +423,7 @@ baby-spider-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.17)) (ja-no-eval :group! baby-spider-notice-ja :num! (seek!) :frame-num 0.0) @@ -455,10 +440,8 @@ baby-spider-default-event-handler (defstate nav-enemy-chase (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :trans - (behavior () + :event baby-spider-default-event-handler + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -472,8 +455,7 @@ baby-spider-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self target-nav-time) (-> *display* base-frame-counter)) (set! (-> self wiggle-time) (+ (-> *display* base-frame-counter) (seconds -10))) (set! (-> self wiggle-angle) 0.0) @@ -490,8 +472,7 @@ baby-spider-default-event-handler ) (none) ) - :post - (behavior () + :post (behavior () (dummy-52 self (target-pos 0)) (nav-enemy-travel-post) (none) @@ -500,10 +481,8 @@ baby-spider-default-event-handler (defstate nav-enemy-stop-chase (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :trans - (behavior () + :event baby-spider-default-event-handler + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -514,16 +493,13 @@ baby-spider-default-event-handler ) (none) ) - :code - (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) + :code (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) ) (defstate nav-enemy-stare (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :trans - (behavior () + :event baby-spider-default-event-handler + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -534,8 +510,7 @@ baby-spider-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 1456355.5) (set! (-> self turn-time) (seconds 0.075)) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) @@ -567,10 +542,8 @@ baby-spider-default-event-handler (defstate nav-enemy-give-up (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :trans - (behavior () + :event baby-spider-default-event-handler + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -581,8 +554,7 @@ baby-spider-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! baby-spider-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -609,10 +581,8 @@ baby-spider-default-event-handler (defstate nav-enemy-attack (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :trans - (behavior () + :event baby-spider-default-event-handler + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -623,8 +593,7 @@ baby-spider-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! baby-spider-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -638,10 +607,8 @@ baby-spider-default-event-handler (defstate nav-enemy-victory (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :trans - (behavior () + :event baby-spider-default-event-handler + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -652,19 +619,16 @@ baby-spider-default-event-handler ) (none) ) - :code - (-> (method-of-type nav-enemy nav-enemy-victory) code) + :code (-> (method-of-type nav-enemy nav-enemy-victory) code) ) (defstate nav-enemy-die (baby-spider) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior baby-spider) process-drawable-death-event-handler ) - :enter - (behavior () + :enter (behavior () (let ((v1-0 (-> self event-death))) (if v1-0 (send-event (ppointer->process (-> self parent)) v1-0) @@ -682,10 +646,8 @@ baby-spider-default-event-handler ) (defstate baby-spider-die-fast (baby-spider) - :event - baby-spider-default-event-handler - :code - (behavior () + :event baby-spider-default-event-handler + :code (behavior () (cleanup-for-death self) (let ((v1-2 (-> self event-death))) (if v1-2 diff --git a/goal_src/levels/maincave/dark-crystal.gc b/goal_src/levels/maincave/dark-crystal.gc index a2bbea5271..15d0544704 100644 --- a/goal_src/levels/maincave/dark-crystal.gc +++ b/goal_src/levels/maincave/dark-crystal.gc @@ -12,6 +12,7 @@ ;; DECOMP BEGINS + (import "goal_src/import/dark-crystal-ag.gc") (deftype dark-crystal (process-drawable) @@ -52,18 +53,12 @@ ) (define *dark-crystal-flash-delays* - (the-as (array int32) - (new 'static 'boxed-array :type int32 :length 9 :allocated-length 9 #xb4 #x96 #x78 90 60 30 15 7 3) - ) + (the-as (array int32) (new 'static 'boxed-array :type int32 #xb4 #x96 #x78 90 60 30 15 7 3)) ) (define *dark-crystal-exploder-params* (new 'static 'joint-exploder-static-params - :joints - (new - 'static - 'boxed-array - :type joint-exploder-static-joint-params :length 15 :allocated-length 15 + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params (new 'static 'joint-exploder-static-joint-params :joint-index 3 :parent-joint-index -1) (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) @@ -88,8 +83,7 @@ :duration 75 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 2153 :fade-after (meters 100) :period 600 :length 5 :binding 296) + :parts ((sp-item 2153 :fade-after (meters 100) :period 600 :length 5 :binding 296) (sp-item 296 :flags (start-dead launch-asap) :binding 297) (sp-item 297 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead)) (sp-item 296 :flags (start-dead launch-asap) :binding 297) @@ -162,8 +156,7 @@ ) (defpart 2153 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 2) 1.0) @@ -182,8 +175,7 @@ ) (defpart 2155 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 24.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -208,13 +200,11 @@ ) (defpart 2158 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) (defpart 2157 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-flt spt-scale-x (meters 0.3)) @@ -232,8 +222,7 @@ ) (defpart 2154 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 24)) @@ -249,8 +238,7 @@ ) (defpart 2156 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) @@ -281,8 +269,7 @@ :linger-duration 12000 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 2159 :period 600 :length 5) + :parts ((sp-item 2159 :period 600 :length 5) (sp-item 2160 :period 600 :length 40) (sp-item 2161 :period 600 :length 20) (sp-item 2162 :period 600 :length 20) @@ -292,8 +279,7 @@ ) (defpart 2160 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 24.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -319,8 +305,7 @@ ) (defpart 2162 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-flt spt-scale-x (meters 0.3)) @@ -340,8 +325,7 @@ ) (defpart 2159 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 24)) @@ -358,8 +342,7 @@ ) (defpart 2161 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) @@ -388,8 +371,7 @@ ) (defpart 2163 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -4) (meters 8) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 6) 1.0) @@ -413,13 +395,11 @@ ) (defpart 2165 - :init-specs - ((sp-flt spt-fade-a 0.0)) + :init-specs ((sp-flt spt-fade-a 0.0)) ) (defpart 2164 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters -4) (meters 8) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 6) 1.0) @@ -443,8 +423,7 @@ ) (defstate dark-crystal-idle (dark-crystal) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (if (= (-> arg0 type) target) @@ -461,8 +440,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -472,8 +450,7 @@ ) (defstate dark-crystal-activate (dark-crystal) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (dotimes (gp-0 (-> *dark-crystal-flash-delays* length)) (sound-play-by-name (static-sound-name "warning") (new-sound-id) 1024 0 0 1 #t) @@ -498,8 +475,7 @@ ) (defstate dark-crystal-explode (dark-crystal) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self mask) (process-mask actor-pause)) (clear-collide-with-as (-> self root-override)) @@ -511,22 +487,7 @@ (set-vector! (-> gp-0 fountain-rand-transv-lo) -40960.0 20480.0 -40960.0 1.0) (set-vector! (-> gp-0 fountain-rand-transv-hi) 40960.0 49152.0 40960.0 1.0) ) - (let ((s5-0 (get-process *default-dead-pool* joint-exploder #x4000))) - (when s5-0 - (let ((t9-3 (method-of-type joint-exploder activate))) - (t9-3 (the-as joint-exploder s5-0) self 'joint-exploder (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - joint-exploder-init-by-other - *dark-crystal-explode-sg* - 5 - gp-0 - *dark-crystal-exploder-params* - ) - (-> s5-0 ppointer) - ) - ) + (process-spawn joint-exploder *dark-crystal-explode-sg* 5 gp-0 *dark-crystal-exploder-params* :to self) ) (activate! *camera-smush-control* 819.2 37 210 1.0 0.995) (let ((gp-1 (dummy-21 self))) @@ -539,26 +500,19 @@ (sound-play-by-name (static-sound-name "water-explosion") (new-sound-id) 1024 0 0 1 #t) (sound-play-by-name (static-sound-name "crystal-explode") (new-sound-id) 1024 0 0 1 #t) ) - (let ((s5-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-3 - (let ((t9-15 (method-of-type part-tracker activate))) - (t9-15 (the-as part-tracker s5-3) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + (process-spawn + part-tracker + :init part-tracker-init + (if (-> self underwater?) + (-> *part-group-id-table* 323) + (-> *part-group-id-table* 322) ) - (run-now-in-process - s5-3 - part-tracker-init - (if (-> self underwater?) - (-> *part-group-id-table* 323) - (-> *part-group-id-table* 322) - ) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> s5-3 ppointer) - ) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (let ((s5-4 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) s5-4) (seconds 0.25)) @@ -578,13 +532,11 @@ ) (defstate dark-crystal-spawn-fuel-cell (dark-crystal) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior dark-crystal) process-drawable-fuel-cell-handler ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (clear-collide-with-as (-> self root-override)) (level-hint-spawn diff --git a/goal_src/levels/maincave/driller-lurker.gc b/goal_src/levels/maincave/driller-lurker.gc index 645176ba35..a91b0c04e1 100644 --- a/goal_src/levels/maincave/driller-lurker.gc +++ b/goal_src/levels/maincave/driller-lurker.gc @@ -11,6 +11,7 @@ ;; DECOMP BEGINS + (import "goal_src/import/driller-lurker-ag.gc") (deftype driller-lurker (process-drawable) @@ -79,10 +80,8 @@ (define *driller-lurker-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #x9)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 614400.0) + :center (new 'static 'vector :w (the-as float #x9)) + :shadow-dir (new 'static 'vector :y -1.0 :w 614400.0) :bot-plane (new 'static 'plane :y 1.0 :w 4096.0) :top-plane (new 'static 'plane :y 1.0 :w -2048.0) :fade-dist 245760.0 @@ -94,8 +93,7 @@ :id 331 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 728 :fade-after (meters 80) :falloff-to (meters 80)) + :parts ((sp-item 728 :fade-after (meters 80) :falloff-to (meters 80)) (sp-item 2075 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 2076 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 2077 :fade-after (meters 40) :falloff-to (meters 40)) @@ -103,8 +101,7 @@ ) (defpart 728 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -131,8 +128,7 @@ ) (defpart 2075 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -159,8 +155,7 @@ ) (defpart 2076 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -186,13 +181,11 @@ ) (defpart 2078 - :init-specs - ((sp-flt spt-fade-a -1.7066667)) + :init-specs ((sp-flt spt-fade-a -1.7066667)) ) (defpart 2077 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 8.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -265,25 +258,19 @@ ) (cond ((or s2-0 (not s3-0)) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'attack) - (set! (-> a1-6 param 0) (-> arg3 param 0)) - (let ((v1-34 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-34 shove-up) 8192.0) - (set! (-> v1-34 shove-back) 12288.0) - (set! (-> a1-6 param 1) (the-as uint v1-34)) - ) - (when (send-event-function arg0 a1-6) - (set! (-> self hit-player?) #t) - (set! (-> self hit-player-time) (-> *display* base-frame-counter)) - (set-collide-offense (-> self root-overeride) 2 (collide-offense no-offense)) - (let ((v1-39 (-> self mode))) - (if (or (zero? v1-39) (= v1-39 1) (= v1-39 2)) - (go driller-lurker-chase #t) - ) - ) + (when (send-event + arg0 + 'attack + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 2)) (shove-back (meters 3)))) + ) + (set! (-> self hit-player?) #t) + (set! (-> self hit-player-time) (-> *display* base-frame-counter)) + (set-collide-offense (-> self root-overeride) 2 (collide-offense no-offense)) + (let ((v1-39 (-> self mode))) + (if (or (zero? v1-39) (= v1-39 1) (= v1-39 2)) + (go driller-lurker-chase #t) + ) ) ) ) @@ -314,25 +301,19 @@ ) ((= arg2 'touch) (when (= (-> arg0 type) target) - (let ((a1-11 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-11 from) self) - (set! (-> a1-11 num-params) 2) - (set! (-> a1-11 message) 'attack) - (set! (-> a1-11 param 0) (-> arg3 param 0)) - (let ((v1-57 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-57 shove-up) 8192.0) - (set! (-> v1-57 shove-back) 12288.0) - (set! (-> a1-11 param 1) (the-as uint v1-57)) - ) - (when (send-event-function arg0 a1-11) - (set! (-> self hit-player?) #t) - (set! (-> self hit-player-time) (-> *display* base-frame-counter)) - (set-collide-offense (-> self root-overeride) 2 (collide-offense no-offense)) - (let ((v1-62 (-> self mode))) - (if (or (zero? v1-62) (= v1-62 1) (= v1-62 2)) - (go driller-lurker-chase #t) - ) - ) + (when (send-event + arg0 + 'attack + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 2)) (shove-back (meters 3)))) + ) + (set! (-> self hit-player?) #t) + (set! (-> self hit-player-time) (-> *display* base-frame-counter)) + (set-collide-offense (-> self root-overeride) 2 (collide-offense no-offense)) + (let ((v1-62 (-> self mode))) + (if (or (zero? v1-62) (= v1-62 1) (= v1-62 2)) + (go driller-lurker-chase #t) + ) ) ) ) @@ -642,41 +623,34 @@ ) (defstate driller-lurker-debug-play-anims (driller-lurker) - :code - (behavior () + :code (behavior () 0 (none) ) - :post - (the-as (function none :behavior driller-lurker) transform-post) + :post (the-as (function none :behavior driller-lurker) transform-post) ) (defstate driller-lurker-idle-drilling (driller-lurker) - :event - driller-lurker-default-event-handler - :enter - (behavior () + :event driller-lurker-default-event-handler + :enter (behavior () (set! (-> self mode) (the-as uint 1)) (set! (-> self targ-path-speed) 0.0) (set! (-> self path-speed) 0.0) (shut-down! (-> self neck)) (none) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound2)) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-25 self) (go driller-lurker-chase #t) ) (dummy-20 self #t (the-as target #f)) (none) ) - :code - (behavior () + :code (behavior () (update-trans! (-> self sound2) (-> self root-overeride trans)) (loop (set! (-> self timeout) (rand-vu-int-range 4 8)) @@ -708,15 +682,12 @@ ) (none) ) - :post - (the-as (function none :behavior driller-lurker) transform-post) + :post (the-as (function none :behavior driller-lurker) transform-post) ) (defstate driller-lurker-patrol (driller-lurker) - :event - driller-lurker-default-event-handler - :enter - (behavior () + :event driller-lurker-default-event-handler + :enter (behavior () (set! (-> self mode) (the-as uint 2)) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self timeout) (rand-vu-int-range 900 3600)) @@ -727,16 +698,14 @@ (shut-down! (-> self neck)) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-25 self) (go driller-lurker-chase #t) ) (dummy-20 self #t (the-as target #f)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 2 (seconds 0.2)) (ja :group! driller-lurker-walk-ja :num! min) (ja :chan 1 :group! driller-lurker-walk-up-ja :num! (chan 0) :frame-interp (-> self up-blend)) @@ -757,31 +726,26 @@ ) (none) ) - :post - (the-as (function none :behavior driller-lurker) transform-post) + :post (the-as (function none :behavior driller-lurker) transform-post) ) (defstate driller-lurker-patrol-pause (driller-lurker) - :event - driller-lurker-default-event-handler - :enter - (behavior () + :event driller-lurker-default-event-handler + :enter (behavior () (set! (-> self mode) (the-as uint 2)) (set! (-> self path-speed) 0.0) (set! (-> self targ-path-speed) 0.0) (shut-down! (-> self neck)) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-25 self) (go driller-lurker-chase #t) ) (dummy-20 self #t (the-as target #f)) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self timeout) (rand-vu-int-range 2 4)) (let ((s5-0 -1)) (dotimes (gp-0 (-> self timeout)) @@ -821,15 +785,12 @@ (go driller-lurker-patrol) (none) ) - :post - (the-as (function none :behavior driller-lurker) transform-post) + :post (the-as (function none :behavior driller-lurker) transform-post) ) (defstate driller-lurker-chase (driller-lurker) - :event - driller-lurker-default-event-handler - :enter - (behavior ((arg0 symbol)) + :event driller-lurker-default-event-handler + :enter (behavior ((arg0 symbol)) (if arg0 (set! (-> self started-chasing-time) (-> *display* base-frame-counter)) ) @@ -838,8 +799,7 @@ (set! (-> self targ-path-speed) 23552.0) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-24 self) (go driller-lurker-attack) ) @@ -875,8 +835,7 @@ (dummy-20 self #f (the-as target #t)) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-channel-push! 2 (seconds 0.2)) (ja :group! driller-lurker-run-ja :num! min) (ja :chan 1 :group! driller-lurker-run-up-ja :num! (chan 0) :frame-interp (-> self up-blend)) @@ -892,23 +851,19 @@ ) (none) ) - :post - (the-as (function none :behavior driller-lurker) transform-post) + :post (the-as (function none :behavior driller-lurker) transform-post) ) (defstate driller-lurker-attack (driller-lurker) - :event - driller-lurker-default-event-handler - :enter - (behavior () + :event driller-lurker-default-event-handler + :enter (behavior () (set! (-> self mode) (the-as uint 4)) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self path-speed) 0.0) (set! (-> self targ-path-speed) 0.0) (none) ) - :trans - (behavior () + :trans (behavior () (cond ((dummy-24 self) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -925,8 +880,7 @@ (dummy-20 self #f (the-as target #t)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 2 (seconds 0.2)) (ja :group! driller-lurker-attack-ja :num! min) (ja :chan 1 :group! driller-lurker-attack-up-ja :num! (chan 0) :frame-interp (-> self up-blend)) @@ -942,28 +896,23 @@ ) (none) ) - :post - (the-as (function none :behavior driller-lurker) transform-post) + :post (the-as (function none :behavior driller-lurker) transform-post) ) (defstate driller-lurker-jammed-standing (driller-lurker) - :event - driller-lurker-default-event-handler - :enter - (behavior () + :event driller-lurker-default-event-handler + :enter (behavior () (set! (-> self mode) (the-as uint 5)) (set! (-> self path-speed) 0.0) (set! (-> self targ-path-speed) 0.0) (shut-down! (-> self neck)) (none) ) - :trans - (behavior () + :trans (behavior () (dummy-20 self #f (the-as target #f)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! driller-lurker-drill-jams-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -983,18 +932,15 @@ ) (none) ) - :post - (the-as (function none :behavior driller-lurker) transform-post) + :post (the-as (function none :behavior driller-lurker) transform-post) ) (defstate driller-lurker-die (driller-lurker) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior driller-lurker) process-drawable-death-event-handler ) - :code - (behavior () + :code (behavior () (shut-down! (-> self neck)) (logclear! (-> self mask) (process-mask actor-pause)) (ja-channel-push! 1 (seconds 0.2)) @@ -1011,8 +957,7 @@ (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior driller-lurker) ja-post) + :post (the-as (function none :behavior driller-lurker) ja-post) ) (defmethod relocate driller-lurker ((obj driller-lurker) (arg0 int)) @@ -1151,8 +1096,7 @@ arg0 'driller-lurker (pointer float) - :tag-ptr - (the-as (pointer res-tag) (new 'stack-no-clear 'vector)) + :tag-ptr (the-as (pointer res-tag) (new 'stack-no-clear 'vector)) ) ) ) diff --git a/goal_src/levels/maincave/gnawer.gc b/goal_src/levels/maincave/gnawer.gc index 18609c85ed..564708ea7c 100644 --- a/goal_src/levels/maincave/gnawer.gc +++ b/goal_src/levels/maincave/gnawer.gc @@ -14,6 +14,7 @@ (define-extern gnawer-joint-callback (function gnawer none)) ;; DECOMP BEGINS + (import "goal_src/import/gnawer-ag.gc") (deftype gnawer-falling-segment (process-drawable) @@ -137,44 +138,36 @@ (new 'static 'inline-array gnawer-segment-info 10 (new 'static 'gnawer-segment-info :num-joints 8 - :joint-index - (new 'static 'array int8 8 4 #x1f #xd #x20 #x21 #x22 #x23 #x24) + :joint-index (new 'static 'array int8 8 4 #x1f #xd #x20 #x21 #x22 #x23 #x24) ) (new 'static 'gnawer-segment-info :num-joints 3 :joint-index (new 'static 'array int8 8 5 #xe #xf 0 0 0 0 0)) (new 'static 'gnawer-segment-info :num-joints 3 - :joint-index - (new 'static 'array int8 8 #x6 #x10 #x11 0 0 0 0 0) + :joint-index (new 'static 'array int8 8 #x6 #x10 #x11 0 0 0 0 0) ) (new 'static 'gnawer-segment-info :num-joints 3 - :joint-index - (new 'static 'array int8 8 #x7 #x12 #x13 0 0 0 0 0) + :joint-index (new 'static 'array int8 8 #x7 #x12 #x13 0 0 0 0 0) ) (new 'static 'gnawer-segment-info :num-joints 3 - :joint-index - (new 'static 'array int8 8 #x8 #x14 #x15 0 0 0 0 0) + :joint-index (new 'static 'array int8 8 #x8 #x14 #x15 0 0 0 0 0) ) (new 'static 'gnawer-segment-info :num-joints 3 - :joint-index - (new 'static 'array int8 8 #x9 #x16 #x17 0 0 0 0 0) + :joint-index (new 'static 'array int8 8 #x9 #x16 #x17 0 0 0 0 0) ) (new 'static 'gnawer-segment-info :num-joints 3 - :joint-index - (new 'static 'array int8 8 #xa #x18 #x19 0 0 0 0 0) + :joint-index (new 'static 'array int8 8 #xa #x18 #x19 0 0 0 0 0) ) (new 'static 'gnawer-segment-info :num-joints 3 - :joint-index - (new 'static 'array int8 8 #xb #x1a #x1b 0 0 0 0 0) + :joint-index (new 'static 'array int8 8 #xb #x1a #x1b 0 0 0 0 0) ) (new 'static 'gnawer-segment-info :num-joints 3 - :joint-index - (new 'static 'array int8 8 #xc #x1c #x1d 0 0 0 0 0) + :joint-index (new 'static 'array int8 8 #xc #x1c #x1d 0 0 0 0 0) ) (new 'static 'gnawer-segment-info :num-joints 1 :joint-index (new 'static 'array int8 8 #x1e 0 0 0 0 0 0 0)) ) @@ -184,8 +177,7 @@ :id 329 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 727 :binding 2309) + :parts ((sp-item 727 :binding 2309) (sp-item 2309 :flags (start-dead)) (sp-item 2309 :flags (start-dead)) (sp-item 2309 :flags (start-dead)) @@ -265,8 +257,7 @@ ) (defpart 2310 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 16)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -282,8 +273,7 @@ ) (defpart 727 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 16.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -306,8 +296,7 @@ ) (defpart 2309 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) (sp-rnd-flt spt-num 0.25 0.5 1.0) (sp-rnd-flt spt-scale-x (meters 0.7) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -328,13 +317,11 @@ :id 330 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2141 :fade-after (meters 60) :falloff-to (meters 60))) + :parts ((sp-item 2141 :fade-after (meters 60) :falloff-to (meters 60))) ) (defpart 2141 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.35) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -356,8 +343,7 @@ (defstate falling (gnawer-falling-segment) :virtual #t - :trans - (behavior () + :trans (behavior () (+! (-> self transv y) (* -409600.0 (-> *display* seconds-per-frame))) (vector-v+! (-> self root trans) (-> self root trans) (-> self transv)) (+! (-> self facing-rot x) (* (-> self facing-rotv x) (-> *display* seconds-per-frame))) @@ -370,8 +356,7 @@ (set! (-> self root scale z) (-> self root scale x)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 0) (dotimes (gp-0 1) (ja-no-eval :group! gnawer-segment-idle-ja :num! (seek!) :frame-num 0.0) @@ -387,8 +372,7 @@ ) (none) ) - :post - (the-as (function none :behavior gnawer-falling-segment) ja-post) + :post (the-as (function none :behavior gnawer-falling-segment) ja-post) ) (defbehavior gnawer-falling-segment-init-by-other gnawer-falling-segment ((arg0 gnawer) (arg1 vector) (arg2 vector)) @@ -721,15 +705,7 @@ (vector-! s1-0 s2-0 (-> obj root-override trans)) (set! (-> s1-0 y) 0.0) (vector-normalize! s1-0 1.0) - (let ((s0-0 (get-process *default-dead-pool* gnawer-falling-segment #x4000))) - (when s0-0 - (let ((t9-2 (method-of-type gnawer-falling-segment activate))) - (t9-2 (the-as gnawer-falling-segment s0-0) obj 'gnawer-falling-segment (the-as pointer #x70004000)) - ) - (run-now-in-process s0-0 gnawer-falling-segment-init-by-other obj s2-0 s1-0) - (-> s0-0 ppointer) - ) - ) + (process-spawn gnawer-falling-segment obj s2-0 s1-0 :to obj) ) (set! (-> s3-0 place) -1) ) @@ -853,24 +829,17 @@ ) (defstate gnawer-chewing-on-post (gnawer) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) - (when (= (-> arg0 type) target) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'shove) - (set! (-> a1-4 param 0) (-> arg3 param 0)) - (let ((v1-6 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-6 shove-up) 6144.0) - (set! (-> v1-6 shove-back) 10240.0) - (set! (-> a1-4 param 1) (the-as uint v1-6)) + (if (= (-> arg0 type) target) + (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 1.5)) (shove-back (meters 2.5)))) ) - (send-event-function arg0 a1-4) ) - ) (go gnawer-retreat-into-post) ) (('attack) @@ -879,29 +848,24 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound2)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 81920.0 (vector-vector-distance (target-pos 0) (-> self root-override trans)))) (go gnawer-retreat-into-post) ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (if (zero? (rand-vu-int-count 2)) (ja :group! gnawer-tear-side-to-side-ja - :num! - (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) + :num! (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) ) (ja :group! gnawer-tug-ja - :num! - (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) + :num! (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) ) ) (ja-no-eval :num! (seek!)) @@ -978,18 +942,15 @@ ) (none) ) - :post - (the-as (function none :behavior gnawer) transform-post) + :post (the-as (function none :behavior gnawer) transform-post) ) (defstate gnawer-retreat-into-post (gnawer) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! gnawer-notice-ja :num! (seek!) :frame-num 0.0) @@ -1001,13 +962,11 @@ (go gnawer-wait-to-run) (none) ) - :post - (the-as (function none :behavior gnawer) transform-post) + :post (the-as (function none :behavior gnawer) transform-post) ) (defstate gnawer-wait-to-run (gnawer) - :code - (behavior () + :code (behavior () (set! (-> self draw origin-joint-index) (the-as uint 0)) (dummy-23 self) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -1022,40 +981,27 @@ ) (defstate gnawer-run (gnawer) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) (case arg2 (('touch) - (when (= (-> arg0 type) target) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'shove) - (set! (-> a1-4 param 0) (-> arg3 param 0)) - (let ((v1-5 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-5 shove-up) 6144.0) - (set! (-> v1-5 shove-back) 10240.0) - (set! (-> a1-4 param 1) (the-as uint v1-5)) + (if (= (-> arg0 type) target) + (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 1.5)) (shove-back (meters 2.5)))) ) - (send-event-function arg0 a1-4) ) - ) ) (('attack) (cond ((= (-> arg0 type) target) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'attack) - (set! (-> a1-7 param 0) (-> arg3 param 0)) - (let ((v1-10 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-10 shove-up) 6144.0) - (set! (-> v1-10 shove-back) 10240.0) - (set! (-> a1-7 param 1) (the-as uint v1-10)) - ) - (send-event-function arg0 a1-7) + (send-event + arg0 + 'attack + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 1.5)) (shove-back (meters 2.5)))) ) ) (else @@ -1085,8 +1031,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self route-dist) 0.0) (dummy-24 self) @@ -1094,14 +1039,12 @@ (dummy-26 self) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (stop! (-> self sound)) (none) ) - :trans - (behavior () + :trans (behavior () (+! (-> self route-dist) (* (-> self speed) (-> *display* seconds-per-frame))) (if (dummy-22 self (-> self route-dist)) (go gnawer-wait-to-run) @@ -1109,8 +1052,7 @@ (update! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (local-vars (v1-19 symbol) (v1-35 symbol)) (ja-channel-set! 1) (ja :group! gnawer-run-ja :num! min) @@ -1138,13 +1080,11 @@ ) (none) ) - :post - (the-as (function none :behavior gnawer) transform-post) + :post (the-as (function none :behavior gnawer) transform-post) ) (defstate gnawer-die (gnawer) - :enter - (behavior () + :enter (behavior () (let ((v1-0 (-> self segments))) (set! (-> self fall-trans quad) (-> v1-0 0 world-pos quad)) (vector-! (-> self root-override transv) (-> v1-0 0 world-pos) (-> self post-trans)) @@ -1155,8 +1095,7 @@ (vector-normalize! (-> self root-override transv) 32768.0) (none) ) - :trans - (behavior () + :trans (behavior () (+! (-> self root-override transv y) (* -409600.0 (-> *display* seconds-per-frame))) (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self fall-trans quad)) @@ -1172,8 +1111,7 @@ (spool-push *art-control* "maincavecam-gnawer-fuel-cell" 0 self -1.0) (none) ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #t) (ja-channel-push! 1 (seconds 0.1)) @@ -1186,13 +1124,11 @@ (go gnawer-dying-give-pickups) (none) ) - :post - (the-as (function none :behavior gnawer) ja-post) + :post (the-as (function none :behavior gnawer) ja-post) ) (defstate gnawer-dying-give-pickups (gnawer) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'notify) (if (and (= (-> arg0 type) money) (= (-> arg3 param 0) 'pickup)) @@ -1202,13 +1138,11 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "maincavecam-gnawer-fuel-cell" 0 self -1.0) (none) ) - :code - (behavior () + :code (behavior () (local-vars (sv-128 symbol)) (clear-collide-with-as (-> self root-override)) (set! (-> self skel postbind-function) #f) @@ -1265,8 +1199,7 @@ ) (defstate gnawer-give-fuel-cell (gnawer) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'notify) (cond @@ -1285,8 +1218,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (when (not (task-complete? *game-info* (-> self entity extra perm task))) (spool-push *art-control* "maincavecam-gnawer-fuel-cell" 0 self -1.0) (logclear! (-> self mask) (process-mask actor-pause)) @@ -1335,8 +1267,7 @@ ) (defstate gnawer-put-items-at-dest (gnawer) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'notify) (if (and (= (-> arg0 type) money) (= (-> arg3 param 0) 'pickup)) @@ -1346,8 +1277,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self draw origin-joint-index) (the-as uint 0)) (clear-collide-with-as (-> self root-override)) (set! (-> self skel postbind-function) #f) diff --git a/goal_src/levels/maincave/maincave-obs.gc b/goal_src/levels/maincave/maincave-obs.gc index ecba2b6133..44a102281a 100644 --- a/goal_src/levels/maincave/maincave-obs.gc +++ b/goal_src/levels/maincave/maincave-obs.gc @@ -6,12 +6,13 @@ ;; dgos: L1, MAI, MAINCAVE ;; DECOMP BEGINS -(import "goal_src/import/maincavecam-ag.gc") + (import "goal_src/import/caveelevator-ag.gc") -(import "goal_src/import/cavespatula-darkcave-ag.gc") (import "goal_src/import/cavespatulatwo-ag.gc") (import "goal_src/import/cavetrapdoor-ag.gc") +(import "goal_src/import/maincavecam-ag.gc") (import "goal_src/import/cavecrusher-ag.gc") +(import "goal_src/import/cavespatula-darkcave-ag.gc") (deftype maincavecam (pov-camera) ((seq uint64 :offset-assert 224) @@ -35,23 +36,21 @@ (defstate pov-camera-playing (maincavecam) :virtual #t - :code - (behavior () + :code (behavior () (cond ((zero? (-> self seq)) - (let* ((gp-0 (get-process *default-dead-pool* fuel-cell #x4000)) - (gp-1 - (ppointer->handle - (when gp-0 - (let ((t9-1 (method-of-type fuel-cell activate))) - (t9-1 (the-as fuel-cell gp-0) (ppointer->process (-> self parent)) 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 fuel-cell-init-as-clone (process->handle self) (-> self entity extra perm task)) - (-> gp-0 ppointer) - ) - ) - ) - ) + (let ((gp-1 + (ppointer->handle + (process-spawn + fuel-cell + :init fuel-cell-init-as-clone + (process->handle self) + (-> self entity extra perm task) + :to (ppointer->process (-> self parent)) + ) + ) + ) + ) (ja-play-spooled-anim (new 'static 'spool-anim :name "maincavecam-gnawer-fuel-cell" :index 3 :parts 1 :command-list '()) (the-as art-joint-anim #f) @@ -88,8 +87,7 @@ :count 3 :converted #f :normal-scale 1.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 40.0 :xdiv -1 :zdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) @@ -136,8 +134,7 @@ ) (defstate cavecrusher-idle (cavecrusher) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (or (= v1-0 'touch) (= v1-0 'attack)) (when (= (-> arg0 type) target) @@ -154,8 +151,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -166,8 +162,7 @@ ) (none) ) - :post - (the-as (function none :behavior cavecrusher) ja-post) + :post (the-as (function none :behavior cavecrusher) ja-post) ) (defmethod init-from-entity! cavecrusher ((obj cavecrusher) (arg0 entity-actor)) @@ -228,21 +223,19 @@ (defstate idle (cavetrapdoor) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) (when (= (-> arg0 type) target) (when (>= (- (-> (target-pos 0) y) (-> self root-override trans y)) 409.6) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) (go-virtual trigger) ) ) ) ) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) @@ -256,8 +249,7 @@ (defstate trigger (cavetrapdoor) :virtual #t - :code - (behavior () + :code (behavior () (when (nonzero? (-> self delay-before-wiggle)) (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self delay-before-wiggle)) @@ -319,8 +311,7 @@ (go-virtual idle) (none) ) - :post - (the-as (function none :behavior cavetrapdoor) pusher-post) + :post (the-as (function none :behavior cavetrapdoor) pusher-post) ) (defmethod init-from-entity! cavetrapdoor ((obj cavetrapdoor) (arg0 entity-actor)) @@ -399,8 +390,7 @@ (defpart 704 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2)) (sp-rnd-flt spt-rot-z (degrees -180.0) (degrees 360.0) 1.0) @@ -422,8 +412,7 @@ ) (defpart 705 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2)) (sp-rnd-flt spt-rot-z (degrees -180.0) (degrees 360.0) 1.0) @@ -445,8 +434,7 @@ ) (defstate caveflamepots-active (caveflamepots) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (when (= (-> arg0 type) target) @@ -458,51 +446,36 @@ ) (let ((s4-0 (new 'stack 'attack-info))) (dummy-41 (-> self root-override) s4-0 (-> self shove-up)) - (cond - ((or (= (-> *target* control unknown-surface00 mode) 'air) - (>= (+ (-> *display* base-frame-counter) (seconds -0.2)) (-> *target* control unknown-dword11)) - (< 0.75 (-> *target* control poly-normal y)) - ) - (let ((a1-5 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-5 from) self) - (set! (-> a1-5 num-params) 2) - (set! (-> a1-5 message) 'attack-or-shove) - (set! (-> a1-5 param 0) (-> arg3 param 0)) - (let ((v1-22 (new 'static 'attack-info :mask #xa2))) - (set! (-> v1-22 mode) 'burn) - (set! (-> v1-22 vector quad) (-> s4-0 vector quad)) - (set! (-> v1-22 shove-up) (-> s4-0 shove-up)) - (set! (-> a1-5 param 1) (the-as uint v1-22)) - ) - (send-event-function arg0 a1-5) - ) - ) - (else - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'attack-or-shove) - (set! (-> a1-6 param 0) (-> arg3 param 0)) - (let ((v1-26 (new 'static 'attack-info :mask #x8e2))) - (set! (-> v1-26 mode) 'burn) - (set! (-> v1-26 shove-up) 0.0) - (set! (-> v1-26 shove-back) 8192.0) - (set! (-> v1-26 vector quad) (-> *target* control poly-normal quad)) - (set! (-> v1-26 angle) 'shove) - (set! (-> a1-6 param 1) (the-as uint v1-26)) + (if (or (= (-> *target* control unknown-surface00 mode) 'air) + (>= (+ (-> *display* base-frame-counter) (seconds -0.2)) (-> *target* control unknown-dword11)) + (< 0.75 (-> *target* control poly-normal y)) ) - (send-event-function arg0 a1-6) + (send-event + arg0 + 'attack-or-shove + (-> arg3 param 0) + (static-attack-info ((mode 'burn) (vector (-> s4-0 vector)) (shove-up (-> s4-0 shove-up)))) + ) + (send-event + arg0 + 'attack-or-shove + (-> arg3 param 0) + (static-attack-info ((mode 'burn) + (shove-up (meters 0)) + (shove-back (meters 2)) + (vector (-> *target* control poly-normal)) + (angle 'shove) + ) + ) ) ) - ) ) ) ) ) ) ) - :trans - (behavior () + :trans (behavior () (let* ((v1-0 (-> self cycle-speed)) (a0-1 (- v1-0 (-> self cycle-pause))) (gp-0 (mod (+ (-> *display* base-frame-counter) (the-as time-frame (-> self cycle-offset))) v1-0)) @@ -561,8 +534,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -724,8 +696,7 @@ ) (defstate cavespatula-idle (cavespatula) - :trans - (behavior () + :trans (behavior () (rider-trans) (update! (-> self sound)) (let ((f0-0 (get-current-phase (-> self sync)))) @@ -733,16 +704,14 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) (none) ) - :post - (the-as (function none :behavior cavespatula) rider-post) + :post (the-as (function none :behavior cavespatula) rider-post) ) (defmethod init-from-entity! cavespatula ((obj cavespatula) (arg0 entity-actor)) @@ -839,8 +808,7 @@ ) (defstate cavespatulatwo-idle (cavespatulatwo) - :trans - (behavior () + :trans (behavior () (rider-trans) (update! (-> self sound)) (let ((f0-0 (get-current-phase (-> self sync)))) @@ -848,16 +816,14 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) (none) ) - :post - (the-as (function none :behavior cavespatulatwo) rider-post) + :post (the-as (function none :behavior cavespatulatwo) rider-post) ) (defmethod init-from-entity! cavespatulatwo ((obj cavespatulatwo) (arg0 entity-actor)) @@ -987,8 +953,7 @@ ) (defstate caveelevator-cycle-active (caveelevator) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'bonk) (activate! (-> self smush) -1.0 60 150 1.0 1.0) @@ -996,24 +961,20 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (behavior () + :trans (behavior () (rider-trans) (TODO-RENAME-20 self) (none) ) - :code - (behavior () + :code (behavior () (loop (let ((f30-1 (* (get-current-phase (-> self sync)) (the float (ja-num-frames 0))))) (if (< (-> self prev-frame-num) f30-1) @@ -1026,8 +987,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (rider-post) (TODO-RENAME-21 self) (none) @@ -1035,8 +995,7 @@ ) (defstate caveelevator-one-way-idle-start (caveelevator) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('bonk) (activate! (-> self smush) -1.0 60 150 1.0 1.0) @@ -1051,18 +1010,15 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (rider-trans) (TODO-RENAME-20 self) (none) ) - :code - (behavior () - (ja :group! - (-> (the-as art-joint-anim (+ (* (-> self anim 0) 4) (the-as int (-> self draw art-group)))) - master-art-group-name - ) + :code (behavior () + (ja :group! (-> (the-as art-joint-anim (+ (* (-> self anim 0) 4) (the-as int (-> self draw art-group)))) + master-art-group-name + ) :num! min ) (loop @@ -1070,8 +1026,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (rider-post) (TODO-RENAME-21 self) (none) @@ -1079,8 +1034,7 @@ ) (defstate caveelevator-one-way-travel-to-end (caveelevator) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'bonk) (activate! (-> self smush) -1.0 60 150 1.0 1.0) @@ -1088,24 +1042,20 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (behavior () + :trans (behavior () (rider-trans) (TODO-RENAME-20 self) (none) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data (-> self anim 0)) :num! min) (ja-no-eval :num! (seek!)) (until (ja-done? 0) @@ -1115,8 +1065,7 @@ (go caveelevator-one-way-idle-end) (none) ) - :post - (behavior () + :post (behavior () (rider-post) (TODO-RENAME-21 self) (none) @@ -1124,8 +1073,7 @@ ) (defstate caveelevator-one-way-idle-end (caveelevator) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'bonk) (activate! (-> self smush) -1.0 60 150 1.0 1.0) @@ -1133,13 +1081,11 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (cond ((zero? (-> self root-override riders num-riders)) (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) @@ -1154,16 +1100,14 @@ (TODO-RENAME-20 self) (none) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data (-> self anim 0)) :num! max) (loop (suspend) ) (none) ) - :post - (behavior () + :post (behavior () (rider-post) (TODO-RENAME-21 self) (none) @@ -1171,8 +1115,7 @@ ) (defstate caveelevator-one-way-travel-to-start (caveelevator) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'bonk) (activate! (-> self smush) -1.0 60 150 1.0 1.0) @@ -1180,24 +1123,20 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (behavior () + :trans (behavior () (rider-trans) (TODO-RENAME-20 self) (none) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data (-> self anim 1)) :num! min) (ja-no-eval :num! (seek!)) (until (ja-done? 0) @@ -1207,8 +1146,7 @@ (go caveelevator-one-way-idle-start) (none) ) - :post - (behavior () + :post (behavior () (rider-post) (TODO-RENAME-21 self) (none) diff --git a/goal_src/levels/maincave/maincave-part.gc b/goal_src/levels/maincave/maincave-part.gc index a9b691a754..eb284307c6 100644 --- a/goal_src/levels/maincave/maincave-part.gc +++ b/goal_src/levels/maincave/maincave-part.gc @@ -28,8 +28,7 @@ (defpartgroup group-part-maincave-torch :id 318 :bounds (static-bspherem 0 3 0 4) - :parts - ((sp-item 706 :fade-after (meters 200) :falloff-to (meters 220)) + :parts ((sp-item 706 :fade-after (meters 200) :falloff-to (meters 220)) (sp-item 707 :fade-after (meters 140) :falloff-to (meters 140)) (sp-item 708 :fade-after (meters 50) :falloff-to (meters 50) :period 600 :length 90) (sp-item 709 :fade-after (meters 50) :falloff-to (meters 50) :period 369 :length 69) @@ -39,8 +38,7 @@ ) (defpart 711 - :init-specs - ((sp-flt spt-num 0.3) + :init-specs ((sp-flt spt-num 0.3) (sp-flt spt-x (meters 0.2)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) (sp-int spt-rot-x 5) @@ -58,13 +56,11 @@ ) (defpart 712 - :init-specs - ((sp-flt spt-fade-b -6.826667)) + :init-specs ((sp-flt spt-fade-b -6.826667)) ) (defpart 706 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1069547520 1 1.0) (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) (sp-rnd-flt spt-z (meters -0.35) (meters 0.7) 1.0) @@ -86,13 +82,11 @@ ) (defpart 713 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) (defpart 708 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-flt spt-y (meters 1)) @@ -115,8 +109,7 @@ ) (defpart 709 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) (sp-flt spt-y (meters 0.5)) @@ -139,8 +132,7 @@ ) (defpart 710 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0) (sp-flt spt-y (meters 0.6)) @@ -163,8 +155,7 @@ ) (defpart 707 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.3)) @@ -197,8 +188,7 @@ (defpartgroup group-cave-cavedrip-1 :id 319 :bounds (static-bspherem 0 8 0 8.25) - :parts - ((sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 369 :length 5) + :parts ((sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 369 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 768 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 1167 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 1701 :length 5) @@ -210,8 +200,7 @@ (defpartgroup group-cave-cavedrip-2 :id 320 :bounds (static-bspherem 0 8 0 8.25) - :parts - ((sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 467 :length 5) + :parts ((sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 467 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 834 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 984 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 2237 :length 5) @@ -223,8 +212,7 @@ (defpartgroup group-cave-cavedrip-3 :id 321 :bounds (static-bspherem 0 8 0 8.25) - :parts - ((sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 801 :length 5) + :parts ((sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 801 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 867 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 1269 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 1983 :length 5) @@ -234,8 +222,7 @@ ) (defpart 2231 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-flt spt-num 3.0 4.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -254,8 +241,7 @@ ) (defpart 2232 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.02)) (sp-flt spt-scale-x (meters 0.5)) @@ -274,8 +260,7 @@ ) (defpart 2230 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-func spt-birth-func 'birth-func-y->userdata) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 24)) @@ -297,21 +282,16 @@ ) (defpart 2233 - :init-specs - ((sp-flt spt-fade-a 0.0)) + :init-specs ((sp-flt spt-fade-a 0.0)) ) (defun check-drop-level-maincave-drip ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) (let ((gp-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) - ) - ) + (if (< (rand-float-gen) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) (sp-launch-particles-var *sp-particle-system-2d* diff --git a/goal_src/levels/maincave/mother-spider-egg.gc b/goal_src/levels/maincave/mother-spider-egg.gc index 5fe551bcfa..98dbfc560c 100644 --- a/goal_src/levels/maincave/mother-spider-egg.gc +++ b/goal_src/levels/maincave/mother-spider-egg.gc @@ -12,6 +12,7 @@ ;; DECOMP BEGINS + (import "goal_src/import/spider-egg-ag.gc") (deftype mother-spider-egg (process-drawable) @@ -68,15 +69,13 @@ :linger-duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2018 :fade-after (meters 50) :falloff-to (meters 50)) + :parts ((sp-item 2018 :fade-after (meters 50) :falloff-to (meters 50)) (sp-item 2071 :fade-after (meters 50) :falloff-to (meters 50)) ) ) (defpart 2071 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 16.0) (sp-flt spt-y (meters 0.5)) (sp-flt spt-scale-x (meters 0.1)) @@ -95,8 +94,7 @@ ) (defpart 2072 - :init-specs - ((sp-flt spt-scale-x (meters 0.1)) + :init-specs ((sp-flt spt-scale-x (meters 0.1)) (sp-flt spt-scale-y (meters 2)) (sp-flt spt-scalevel-y (meters 0.2)) (sp-flt spt-fade-a -1.4222223) @@ -104,8 +102,7 @@ ) (defpart 2018 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0) @@ -132,8 +129,7 @@ ) (defpart 2073 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) (defpartgroup group-spider-egg-explodes @@ -142,13 +138,11 @@ :linger-duration 375 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2074 :fade-after (meters 50) :falloff-to (meters 50))) + :parts ((sp-item 2074 :fade-after (meters 50) :falloff-to (meters 50))) ) (defpart 2074 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 2) 1.0) @@ -223,21 +217,18 @@ ) (defstate mother-spider-egg-falling (mother-spider-egg) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (go mother-spider-egg-die-while-falling) ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self falling-start-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (fmin (the float (- (-> *display* base-frame-counter) (-> self falling-start-time))) (-> self traj time)) ) @@ -256,8 +247,7 @@ (draw-egg-shadow self (-> self shadow-pos) #t) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 0) (loop (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) @@ -268,13 +258,11 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider-egg) transform-post) + :post (the-as (function none :behavior mother-spider-egg) transform-post) ) (defstate mother-spider-egg-on-ground (mother-spider-egg) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'touch) @@ -294,24 +282,21 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (if (not (draw-egg-shadow self (-> self shadow-pos) #t)) (set! (-> self shadow-pos quad) (-> self fall-dest quad)) ) (none) ) - :trans - (behavior () + :trans (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 2)) (go mother-spider-egg-hatch) ) (draw-egg-shadow self (-> self shadow-pos) #f) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new 'stack-no-clear 'quaternion)) (s5-0 (new 'stack-no-clear 'quaternion)) @@ -347,13 +332,11 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider-egg) transform-post) + :post (the-as (function none :behavior mother-spider-egg) transform-post) ) (defstate mother-spider-egg-hatch (mother-spider-egg) - :trans - (behavior () + :trans (behavior () (when (and (zero? (-> self draw cur-lod)) (logtest? (-> self draw status) (draw-status was-drawn))) (let ((a1-0 (new 'stack-no-clear 'vector))) (set! (-> a1-0 quad) (-> self fall-dest quad)) @@ -369,27 +352,19 @@ ) (none) ) - :code - (behavior () + :code (behavior () (send-event (ppointer->process (-> self parent-override)) 'trigger) (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 324) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 324) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (lods-assign! (-> self draw) (-> self broken-look)) (ja-channel-push! 1 (seconds 0.2)) @@ -405,13 +380,11 @@ (go mother-spider-egg-die-exit) (none) ) - :post - (the-as (function none :behavior mother-spider-egg) transform-post) + :post (the-as (function none :behavior mother-spider-egg) transform-post) ) (defstate mother-spider-egg-die (mother-spider-egg) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (let ((v1-3 (-> self draw shadow-ctrl))) (logior! (-> v1-3 settings flags) (shadow-flags shdf05)) @@ -420,23 +393,16 @@ (lods-assign! (-> self draw) (-> self broken-look)) (ja-channel-push! 1 (seconds 0.1)) (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 325) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 325) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -446,13 +412,11 @@ (go mother-spider-egg-die-exit) (none) ) - :post - (the-as (function none :behavior mother-spider-egg) ja-post) + :post (the-as (function none :behavior mother-spider-egg) ja-post) ) (defstate mother-spider-egg-die-while-falling (mother-spider-egg) - :trans - (behavior () + :trans (behavior () (let ((f0-2 (fmin (the float (- (-> *display* base-frame-counter) (-> self falling-start-time))) (-> self traj time)) ) @@ -461,31 +425,23 @@ ) (none) ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (clear-collide-with-as (-> self root-override)) (let ((v1-5 (-> self draw shadow-ctrl))) (logior! (-> v1-5 settings flags) (shadow-flags shdf05)) ) 0 - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 325) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 325) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (lods-assign! (-> self draw) (-> self broken-look)) (ja-channel-push! 1 (seconds 0.1)) @@ -497,13 +453,11 @@ (go mother-spider-egg-die-exit) (none) ) - :post - (the-as (function none :behavior mother-spider-egg) ja-post) + :post (the-as (function none :behavior mother-spider-egg) ja-post) ) (defstate mother-spider-egg-die-exit (mother-spider-egg) - :code - (behavior () + :code (behavior () (send-event (ppointer->process (-> self parent-override)) 'untrigger) (logior! (-> self draw status) (draw-status hidden)) (let ((v1-8 (-> self draw shadow-ctrl))) diff --git a/goal_src/levels/maincave/mother-spider-proj.gc b/goal_src/levels/maincave/mother-spider-proj.gc index bfedb96fa6..75069ef4cb 100644 --- a/goal_src/levels/maincave/mother-spider-proj.gc +++ b/goal_src/levels/maincave/mother-spider-proj.gc @@ -22,8 +22,7 @@ :id 326 :duration 300 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 718 :flags (launch-asap) :binding 716) + :parts ((sp-item 718 :flags (launch-asap) :binding 716) (sp-item 716 :flags (start-dead) :binding 717) (sp-item 717 :flags (start-dead launch-asap)) (sp-item 717 :flags (start-dead launch-asap)) @@ -75,8 +74,7 @@ ) (defpart 718 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.01)) (sp-copy-from-other spt-scale-y -4) @@ -88,8 +86,7 @@ ) (defpart 716 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -114,13 +111,11 @@ ) (defpart 720 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpart 717 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 5.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -152,13 +147,11 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 722) (sp-item 723) (sp-item 724)) + :parts ((sp-item 722) (sp-item 723) (sp-item 724)) ) (defpart 722 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 64.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -185,8 +178,7 @@ ) (defpart 724 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -210,8 +202,7 @@ ) (defpart 723 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -231,8 +222,7 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 722)) + :parts ((sp-item 722)) ) (defmethod dummy-24 mother-spider-proj ((obj mother-spider-proj)) @@ -371,25 +361,17 @@ (defstate projectile-impact (mother-spider-proj) :virtual #t - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 327) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 327) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (if (nonzero? (-> self sound-id)) (sound-stop (-> self sound-id)) @@ -403,25 +385,17 @@ (defstate projectile-dissipate (mother-spider-proj) :virtual #t - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 328) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 328) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (if (nonzero? (-> self sound-id)) (sound-stop (-> self sound-id)) diff --git a/goal_src/levels/maincave/mother-spider.gc b/goal_src/levels/maincave/mother-spider.gc index 4da5a83926..744025ee7f 100644 --- a/goal_src/levels/maincave/mother-spider.gc +++ b/goal_src/levels/maincave/mother-spider.gc @@ -9,6 +9,7 @@ (define-extern mother-spider-full-joint-callback (function mother-spider none)) ;; DECOMP BEGINS + (import "goal_src/import/mother-spider-ag.gc") (defskelgroup *mother-spider-sg* mother-spider mother-spider-lod0-jg -1 @@ -56,13 +57,11 @@ :id 614 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2477)) + :parts ((sp-item 2477)) ) (defpart 2477 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.35) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -82,8 +81,7 @@ ) (defstate mother-spider-leg-flying (mother-spider-leg) - :trans - (behavior () + :trans (behavior () (local-vars (at-0 int)) (rlet ((vf0 :class vf) (vf1 :class vf) @@ -145,8 +143,7 @@ (none) ) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 0) (let ((f30-0 (rand-vu-float-range 0.2 0.7))) (dotimes (gp-0 3) @@ -165,21 +162,18 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider-leg) ja-post) + :post (the-as (function none :behavior mother-spider-leg) ja-post) ) (defstate wait-for-children (mother-spider) - :code - (behavior () + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (until (not (-> self child)) (suspend) ) (none) ) - :post - (the-as (function none :behavior mother-spider) ja-post) + :post (the-as (function none :behavior mother-spider) ja-post) ) (defbehavior mother-spider-leg-init-by-other mother-spider-leg ((arg0 mother-spider) (arg1 vector) (arg2 vector) (arg3 vector)) @@ -217,13 +211,11 @@ :id 618 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2498 :period 90 :length 30)) + :parts ((sp-item 2498 :period 90 :length 30)) ) (defpart 2498 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.35) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -288,26 +280,20 @@ ) (('touch) (when (= (-> arg0 type) target) - (let ((a1-15 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-15 from) self) - (set! (-> a1-15 num-params) 2) - (set! (-> a1-15 message) 'attack) - (set! (-> a1-15 param 0) (-> arg3 param 0)) - (let ((v1-18 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-18 shove-up) 2048.0) - (set! (-> v1-18 shove-back) 8192.0) - (set! (-> a1-15 param 1) (the-as uint v1-18)) - ) - (when (send-event-function arg0 a1-15) - (let ((gp-2 (new 'stack-no-clear 'vector))) - (let ((v1-20 (target-pos 0))) - (vector-! gp-2 (-> self root-override trans) v1-20) + (when (send-event + arg0 + 'attack + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 0.5)) (shove-back (meters 2)))) ) - (set! (-> gp-2 y) 0.0) - (vector-normalize! gp-2 1.0) - (set! (-> self thread-vel) (+ -8192.0 (-> self thread-vel))) - (TODO-RENAME-21 self gp-2 40960.0 #f) + (let ((gp-2 (new 'stack-no-clear 'vector))) + (let ((v1-20 (target-pos 0))) + (vector-! gp-2 (-> self root-override trans) v1-20) ) + (set! (-> gp-2 y) 0.0) + (vector-normalize! gp-2 1.0) + (set! (-> self thread-vel) (+ -8192.0 (-> self thread-vel))) + (TODO-RENAME-21 self gp-2 40960.0 #f) ) ) ) @@ -365,15 +351,7 @@ (let ((s3-0 (new 'stack-no-clear 'baby-spider-spawn-params))) (init! s3-0 arg2 #f #t #f 7 1 'untrigger) (set-delay! s3-0 (seconds 9)) - (let ((s2-0 (get-process *default-dead-pool* baby-spider #x4000))) - (when s2-0 - (let ((t9-3 (method-of-type baby-spider activate))) - (t9-3 (the-as baby-spider s2-0) obj 'baby-spider (the-as pointer #x70004000)) - ) - (run-now-in-process s2-0 baby-spider-init-by-other obj arg0 arg1 s3-0) - (-> s2-0 ppointer) - ) - ) + (process-spawn baby-spider obj arg0 arg1 s3-0 :to obj) ) (let ((v0-5 (+ (-> obj baby-count) 1))) (set! (-> obj baby-count) v0-5) @@ -605,7 +583,7 @@ (when (logtest? s4-1 1) (cond ((>= (+ (-> *display* base-frame-counter) (seconds -1)) (-> obj leg-socket-part-time s3-0)) - (set! (-> obj leg-socket-part-mask) (logxor (-> obj leg-socket-part-mask) (ash 1 s3-0))) + (logxor! (-> obj leg-socket-part-mask) (ash 1 s3-0)) ) (else (let ((v1-20 (-> *mother-spider-leg-infos* s3-0)) @@ -823,8 +801,7 @@ ) (defstate mother-spider-idle (mother-spider) - :enter - (behavior () + :enter (behavior () (let ((v1-1 (-> self draw shadow-ctrl))) (logior! (-> v1-1 settings flags) (shadow-flags shdf05)) ) @@ -837,23 +814,20 @@ (logior! (-> self draw status) (draw-status hidden)) (none) ) - :exit - (behavior () + :exit (behavior () (restore-collide-with-as (-> self root-override)) (set! (-> self skel postbind-function) mother-spider-full-joint-callback) (logclear! (-> self mask) (process-mask actor-pause)) (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (if (grab-player? self) (go mother-spider-traveling (the-as uint 1)) ) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -863,10 +837,8 @@ ) (defstate mother-spider-traveling (mother-spider) - :event - mother-spider-default-event-handler - :enter - (behavior ((arg0 uint)) + :event mother-spider-default-event-handler + :enter (behavior ((arg0 uint)) (is-player-stuck? self) (let ((v1-2 arg0)) (cond @@ -903,8 +875,7 @@ (set! (-> self going-up?) (< (-> self targ-dist-from-anchor) (-> self dist-from-anchor))) (none) ) - :trans - (behavior () + :trans (behavior () (let ((gp-0 (is-player-stuck? self)) (v1-1 (-> self mode)) ) @@ -959,8 +930,7 @@ (TODO-RENAME-29 self #t #t) (none) ) - :code - (behavior ((arg0 uint)) + :code (behavior ((arg0 uint)) (local-vars (v1-12 symbol) (v1-28 symbol)) (ja-channel-push! 1 (seconds 0.1)) (ja :group! mother-spider-lowering-ja :num! min) @@ -987,28 +957,23 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider) transform-post) + :post (the-as (function none :behavior mother-spider) transform-post) ) (defstate mother-spider-stop-traveling (mother-spider) - :event - mother-spider-default-event-handler - :enter - (behavior () + :event mother-spider-default-event-handler + :enter (behavior () (set! (-> self hit?) #f) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self hit?) (go mother-spider-hit-while-tracking) ) (TODO-RENAME-29 self #t #t) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! mother-spider-stopped-lowering-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1032,22 +997,18 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider) transform-post) + :post (the-as (function none :behavior mother-spider) transform-post) ) (defstate mother-spider-tracking (mother-spider) - :event - mother-spider-default-event-handler - :enter - (behavior () + :event mother-spider-default-event-handler + :enter (behavior () (set! (-> self hit?) #f) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self last-player-in-air-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self hit?) (go mother-spider-hit-while-tracking) ) @@ -1110,8 +1071,7 @@ (TODO-RENAME-29 self #t #t) (none) ) - :code - (behavior () + :code (behavior () (cond ((ja-group? mother-spider-idle-ja) (ja-no-eval :num! (seek!)) @@ -1133,20 +1093,16 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider) transform-post) + :post (the-as (function none :behavior mother-spider) transform-post) ) (defstate mother-spider-hit-while-tracking (mother-spider) - :event - mother-spider-default-event-handler - :enter - (behavior () + :event mother-spider-default-event-handler + :enter (behavior () (set! (-> self hit?) #f) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self hit?) (go mother-spider-hit-while-tracking) ) @@ -1157,8 +1113,7 @@ (TODO-RENAME-29 self #t #t) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! mother-spider-takes-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1175,29 +1130,24 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider) transform-post) + :post (the-as (function none :behavior mother-spider) transform-post) ) (defstate mother-spider-spit (mother-spider) - :event - mother-spider-default-event-handler - :enter - (behavior () + :event mother-spider-default-event-handler + :enter (behavior () (set! (-> self hit?) #f) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self hit?) (go mother-spider-hit-while-tracking) ) (TODO-RENAME-29 self #t #t) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.25)) (let ((gp-0 #f)) (ja-no-eval :group! mother-spider-spit-ja :num! (seek! max 1.5) :frame-num 0.0) @@ -1222,14 +1172,15 @@ (vector-normalize! s5-0 1.0) (vector-deg-seek s5-0 s2-0 s5-0 6371.5557) (vector-normalize-copy! s3-0 s5-0 32768.0) - (let ((gp-1 (get-process *default-dead-pool* mother-spider-proj #x4000))) - (when gp-1 - (let ((t9-12 (method-of-type mother-spider-proj activate))) - (t9-12 (the-as mother-spider-proj gp-1) self 'mother-spider-proj (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 projectile-init-by-other (-> self entity) s4-0 s3-0 0 (process->handle *target*)) - (-> gp-1 ppointer) - ) + (process-spawn + mother-spider-proj + :init projectile-init-by-other + (-> self entity) + s4-0 + s3-0 + 0 + (process->handle *target*) + :to self ) (set! gp-0 #t) (set! (-> self last-spit-time) (-> *display* base-frame-counter)) @@ -1256,21 +1207,17 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider) transform-post) + :post (the-as (function none :behavior mother-spider) transform-post) ) (defstate mother-spider-birthing (mother-spider) - :event - mother-spider-default-event-handler - :enter - (behavior () + :event mother-spider-default-event-handler + :enter (behavior () (set! (-> self hit?) #f) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self hit?) (go mother-spider-hit-while-birthing) ) @@ -1294,8 +1241,7 @@ (TODO-RENAME-29 self #t #t) (none) ) - :code - (behavior () + :code (behavior () (cond ((ja-group? mother-spider-idle-ja) (ja-no-eval :num! (seek!)) @@ -1317,21 +1263,17 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider) transform-post) + :post (the-as (function none :behavior mother-spider) transform-post) ) (defstate mother-spider-birth-baby (mother-spider) - :event - mother-spider-default-event-handler - :enter - (behavior () + :event mother-spider-default-event-handler + :enter (behavior () (set! (-> self hit?) #f) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self hit?) (go mother-spider-hit-while-birthing) ) @@ -1344,8 +1286,7 @@ (TODO-RENAME-29 self #t #t) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.25)) (let ((gp-0 #f)) (ja-no-eval :group! mother-spider-birth-ja :num! (seek! max 1.4) :frame-num 0.0) @@ -1356,22 +1297,7 @@ (s4-0 (new 'stack-no-clear 'vector)) ) (when (TODO-RENAME-20 self s5-0 s4-0) - (let ((s3-0 (get-process *default-dead-pool* mother-spider-egg #x4000))) - (when s3-0 - (let ((t9-5 (method-of-type mother-spider-egg activate))) - (t9-5 (the-as mother-spider-egg s3-0) self 'mother-spider-egg (the-as pointer #x70004000)) - ) - (run-now-in-process - s3-0 - mother-spider-egg-init-by-other - (-> self entity) - (-> self root-override trans) - s5-0 - s4-0 - ) - (-> s3-0 ppointer) - ) - ) + (process-spawn mother-spider-egg (-> self entity) (-> self root-override trans) s5-0 s4-0 :to self) (+! (-> self baby-count) 1) (+! (-> self birthing-counter) -1) (sound-play-by-name (static-sound-name "lay-eggs") (new-sound-id) 1024 0 0 1 #t) @@ -1385,8 +1311,7 @@ (go mother-spider-birthing) (none) ) - :post - (the-as (function none :behavior mother-spider) transform-post) + :post (the-as (function none :behavior mother-spider) transform-post) ) (defmethod TODO-RENAME-20 mother-spider ((obj mother-spider) (arg0 vector) (arg1 vector)) @@ -1538,15 +1463,12 @@ ) (defstate mother-spider-hit-while-birthing (mother-spider) - :event - mother-spider-default-event-handler - :enter - (behavior () + :event mother-spider-default-event-handler + :enter (behavior () (set! (-> self hit?) #f) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self hit?) (go mother-spider-hit-while-birthing) ) @@ -1556,8 +1478,7 @@ (TODO-RENAME-29 self #t #t) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! mother-spider-takes-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1574,15 +1495,12 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider) transform-post) + :post (the-as (function none :behavior mother-spider) transform-post) ) (defstate mother-spider-die-from-uppercut (mother-spider) - :event - mother-spider-death-event-handler - :enter - (behavior () + :event mother-spider-death-event-handler + :enter (behavior () (shut-down! (-> self neck)) (set! (-> self thread-speed) 122880.0) (set! (-> self targ-dist-from-anchor) (+ -24576.0 (-> self dist-from-anchor))) @@ -1604,15 +1522,7 @@ (set! (-> s1-0 quad) (-> s2-0 quad)) (set! (-> s1-0 y) (+ 0.3 (-> s1-0 y))) (vector-normalize! s1-0 1.0) - (let ((s0-1 (get-process *default-dead-pool* mother-spider-leg #x4000))) - (when s0-1 - (let ((t9-6 (method-of-type mother-spider-leg activate))) - (t9-6 (the-as mother-spider-leg s0-1) self 'mother-spider-leg (the-as pointer #x70004000)) - ) - (run-now-in-process s0-1 mother-spider-leg-init-by-other self s3-0 s2-0 s1-0) - (-> s0-1 ppointer) - ) - ) + (process-spawn mother-spider-leg self s3-0 s2-0 s1-0 :to self) ) (+! s5-0 1) ) @@ -1620,13 +1530,11 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (TODO-RENAME-29 self #f #f) (none) ) - :code - (behavior () + :code (behavior () (let ((v1-2 (-> self entity extra perm))) (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) (set! (-> v1-2 user-int8 0) 1) @@ -1642,20 +1550,16 @@ (go mother-spider-die-wait-for-children) (none) ) - :post - (the-as (function none :behavior mother-spider) ja-post) + :post (the-as (function none :behavior mother-spider) ja-post) ) (defstate mother-spider-die (mother-spider) - :event - mother-spider-death-event-handler - :trans - (behavior () + :event mother-spider-death-event-handler + :trans (behavior () (TODO-RENAME-29 self #f #f) (none) ) - :code - (behavior () + :code (behavior () (let ((v1-2 (-> self entity extra perm))) (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) (set! (-> v1-2 user-int8 0) 1) @@ -1672,15 +1576,12 @@ (go mother-spider-die-wait-for-children) (none) ) - :post - (the-as (function none :behavior mother-spider) ja-post) + :post (the-as (function none :behavior mother-spider) ja-post) ) (defstate mother-spider-die-wait-for-children (mother-spider) - :event - mother-spider-death-event-handler - :code - (behavior () + :event mother-spider-death-event-handler + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (clear-collide-with-as (-> self root-override)) (set! (-> self skel postbind-function) #f) diff --git a/goal_src/levels/maincave/spiderwebs.gc b/goal_src/levels/maincave/spiderwebs.gc index 0a5f863d43..c4d400cb15 100644 --- a/goal_src/levels/maincave/spiderwebs.gc +++ b/goal_src/levels/maincave/spiderwebs.gc @@ -6,6 +6,7 @@ ;; dgos: L1, MAI, MAINCAVE ;; DECOMP BEGINS + (import "goal_src/import/spiderwebs-ag.gc") (define *spider-jump-mods* (new 'static 'surface @@ -59,17 +60,9 @@ (defbehavior spiderwebs-default-event-handler spiderwebs ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('bonk) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 3) - (set! (-> a1-1 message) 'jump) - (set! (-> a1-1 param 0) (the-as uint (-> self spring-height))) - (set! (-> a1-1 param 1) (the-as uint (-> self spring-height))) - (set! (-> a1-1 param 2) (the-as uint *spider-jump-mods*)) - (if (send-event-function arg0 a1-1) - (go spiderwebs-bounce) - ) - ) + (if (send-event arg0 'jump (-> self spring-height) (-> self spring-height) *spider-jump-mods*) + (go spiderwebs-bounce) + ) ) (('touch) (when (= (-> arg0 type) target) @@ -98,10 +91,8 @@ ) (defstate spiderwebs-idle (spiderwebs) - :event - spiderwebs-default-event-handler - :code - (behavior () + :event spiderwebs-default-event-handler + :code (behavior () (logior! (-> self mask) (process-mask actor-pause)) (ja :group! spiderwebs-bounce-ja :num! min) (transform-post) @@ -114,8 +105,7 @@ ) (defstate spiderwebs-bounce (spiderwebs) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (sound-play-by-name (static-sound-name "web-tramp") (new-sound-id) 1024 0 0 1 #t) (ja-no-eval :group! spiderwebs-bounce-ja :num! (seek! (ja-aframe 10.0 0)) :frame-num 0.0) @@ -132,8 +122,7 @@ (go spiderwebs-idle) (none) ) - :post - (the-as (function none :behavior spiderwebs) transform-post) + :post (the-as (function none :behavior spiderwebs) transform-post) ) (defmethod init-from-entity! spiderwebs ((obj spiderwebs) (arg0 entity-actor)) diff --git a/goal_src/levels/misty/babak-with-cannon.gc b/goal_src/levels/misty/babak-with-cannon.gc index fd4af19daa..2f57dd0946 100644 --- a/goal_src/levels/misty/babak-with-cannon.gc +++ b/goal_src/levels/misty/babak-with-cannon.gc @@ -29,13 +29,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-idle (babak-with-cannon) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior babak-with-cannon) nav-enemy-default-event-handler ) - :trans - (behavior () + :trans (behavior () (if (and (and *target* (>= (-> self enemy-info idle-distance) (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) ) @@ -46,8 +44,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! (-> self draw art-group data (-> self nav-info idle-anim)) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -58,19 +55,16 @@ nav-enemy-default-event-handler (anim-loop) (none) ) - :post - (the-as (function none :behavior babak-with-cannon) #f) + :post (the-as (function none :behavior babak-with-cannon) #f) ) (defstate nav-enemy-patrol (babak-with-cannon) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior babak-with-cannon) nav-enemy-default-event-handler ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (let ((f30-0 (- (-> (target-pos 0) y) (-> self collide-info trans y)))) (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) @@ -97,25 +91,21 @@ nav-enemy-default-event-handler ) (none) ) - :code - (-> (method-of-type babak nav-enemy-patrol) code) + :code (-> (method-of-type babak nav-enemy-patrol) code) ) (defstate babak-run-to-cannon (babak) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior babak) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self nav destination-pos quad) (-> self entity extra trans quad)) (set! (-> self nav target-pos quad) (-> self entity extra trans quad)) (none) ) - :trans - (behavior () + :trans (behavior () (if (nav-enemy-notice-player?) (go-virtual nav-enemy-chase) ) @@ -124,8 +114,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (loop (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) @@ -136,8 +125,7 @@ nav-enemy-default-event-handler ) (none) ) - :post - (behavior () + :post (behavior () (nav-enemy-travel-post) (none) ) @@ -191,18 +179,15 @@ nav-enemy-default-event-handler ) (defstate babak-with-cannon-jump-onto-cannon (babak-with-cannon) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior babak-with-cannon) nav-enemy-jump-event-handler ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self rotate-speed) (-> self nav-info run-rotate-speed)) (set! (-> self turn-time) (-> self nav-info run-turn-time)) @@ -264,23 +249,19 @@ nav-enemy-default-event-handler (go babak-with-cannon-shooting) (none) ) - :post - (the-as (function none :behavior babak-with-cannon) nav-enemy-jump-post) + :post (the-as (function none :behavior babak-with-cannon) nav-enemy-jump-post) ) (defstate babak-with-cannon-jump-off-cannon (babak-with-cannon) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior babak-with-cannon) nav-enemy-jump-event-handler ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (nav-enemy-initialize-jump (-> self entity extra trans)) (nav-enemy-neck-control-look-at) @@ -302,18 +283,15 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-jump-land) (none) ) - :post - (the-as (function none :behavior babak-with-cannon) nav-enemy-jump-post) + :post (the-as (function none :behavior babak-with-cannon) nav-enemy-jump-post) ) (defstate babak-with-cannon-shooting (babak-with-cannon) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior babak-with-cannon) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((v1-2 (entity-actor-lookup (-> self entity) 'alt-actor 0))) (if v1-2 @@ -322,8 +300,7 @@ nav-enemy-default-event-handler ) (none) ) - :exit - (behavior () + :exit (behavior () (let ((v1-0 (entity-actor-lookup (-> self entity) 'alt-actor 0))) (if v1-0 (logclear! (-> v1-0 extra perm status) (entity-perm-status complete)) @@ -331,8 +308,7 @@ nav-enemy-default-event-handler ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f0-1 (- (-> (target-pos 0) y) (-> self collide-info trans y)))) (if (and (< -40960.0 f0-1) (and (and *target* @@ -346,26 +322,22 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - babak-with-cannon-ride-cannon-post + :post babak-with-cannon-ride-cannon-post ) (defstate nav-enemy-die (babak-with-cannon) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior babak-with-cannon) nav-enemy-default-event-handler ) - :trans - (behavior () + :trans (behavior () (if (and *target* (= (-> *target* current-level name) 'beach)) (spool-push *art-control* "beachcam-cannon" 0 self -1.0) ) @@ -383,13 +355,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-fuel-cell (babak-with-cannon) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior babak-with-cannon) process-drawable-fuel-cell-handler ) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (clear-collide-with-as (-> self collide-info)) (ja-post) diff --git a/goal_src/levels/misty/balloonlurker.gc b/goal_src/levels/misty/balloonlurker.gc index 0f9c670305..b1b4780084 100644 --- a/goal_src/levels/misty/balloonlurker.gc +++ b/goal_src/levels/misty/balloonlurker.gc @@ -6,6 +6,7 @@ ;; dgos: L1, MIS ;; DECOMP BEGINS + (import "goal_src/import/balloonlurker-ag.gc") (defpartgroup group-balloonlurker-pilot-death @@ -14,13 +15,11 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2015)) + :parts ((sp-item 2015)) ) (defpart 2015 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 16)) @@ -41,8 +40,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 964 :period 1200 :length 30) + :parts ((sp-item 964 :period 1200 :length 30) (sp-item 965 :fade-after (meters 60) :period 1200 :length 15) (sp-item 966 :period 1200 :length 15 :offset 15) (sp-item 967 :period 1200 :length 15) @@ -67,8 +65,7 @@ ) (defpart 964 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) @@ -95,13 +92,11 @@ ) (defpart 969 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.32)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.32)) ) (defpart 965 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0.75)) (sp-rnd-flt spt-scale-x (meters 8) (meters 8) 1.0) @@ -125,13 +120,11 @@ ) (defpart 970 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) (defpart 966 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 24) (meters 16) 1.0) @@ -147,8 +140,7 @@ ) (defpart 967 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 24) (meters 16) 1.0) @@ -164,8 +156,7 @@ ) (defpart 968 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 5.0 10.0 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) @@ -192,8 +183,7 @@ ) (defpart 971 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0033333334)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0033333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r -4.266667) (sp-flt spt-fade-g 0.7111111) @@ -203,8 +193,7 @@ ) (defpart 963 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.25) (meters 0.5) 1.0) @@ -435,17 +424,11 @@ (the-as uint 1) ) (do-push-aways! (-> self root-overlay)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'shove) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((v1-9 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-9 shove-back) 8192.0) - (set! (-> v1-9 shove-up) 2048.0) - (set! (-> a1-3 param 1) (the-as uint v1-9)) - ) - (send-event-function arg0 a1-3) + (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-back (meters 2)) (shove-up (meters 0.5)))) ) ) (dotimes (s4-0 2) @@ -463,25 +446,15 @@ (let ((a0-10 (find-prim-by-id (-> self root-overlay) (the-as uint s3-0)))) (when a0-10 (set! (-> self explosion-force-position quad) (-> a0-10 prim-core world-sphere quad)) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'attack) - (set! (-> a1-6 param 0) (-> arg3 param 0)) - (let ((a0-13 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-13 mode) 'balloonlurker) - (set! (-> a1-6 param 1) (the-as uint a0-13)) - ) - (if (send-event-function arg0 a1-6) - (level-hint-spawn - (game-text-id misty-daxter-hit-lurkers-not-mines) - "sksp0063" - (the-as entity #f) - *entity-pool* - (game-task none) - ) + (if (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'balloonlurker)))) + (level-hint-spawn + (game-text-id misty-daxter-hit-lurkers-not-mines) + "sksp0063" + (the-as entity #f) + *entity-pool* + (game-task none) ) - ) + ) (go balloonlurker-mine-explode s4-0) ) ) @@ -726,16 +699,13 @@ ) (defstate balloonlurker-patrol (balloonlurker) - :event - balloonlurker-event-handler - :trans - (behavior () + :event balloonlurker-event-handler + :trans (behavior () (ja :num! (loop!)) (set! (-> self anim-frame) (ja-frame-num 0)) (none) ) - :code - (behavior () + :code (behavior () (when (not (ja-group? balloonlurker-idle-ja)) (ja-channel-push! 1 (seconds 0.07)) (ja :group! balloonlurker-idle-ja) @@ -745,35 +715,25 @@ (anim-loop) (none) ) - :post - balloonlurker-post + :post balloonlurker-post ) (defstate balloonlurker-mine-explode (balloonlurker) - :event - balloonlurker-event-handler - :code - (behavior ((arg0 int)) + :event balloonlurker-event-handler + :code (behavior ((arg0 int)) (set! (-> self explosion-force-position quad) (-> self node-list data (-> self explosion-joint-index-bytes arg0) bone transform vector 3 quad) ) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - part-tracker-init - (-> *part-group-id-table* 204) - -1 - #f - #f - #f - (-> self explosion-force-position) - ) - (-> s5-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 204) + -1 + #f + #f + #f + (-> self explosion-force-position) + :to *entity-pool* ) (sound-play-by-name (static-sound-name "explosion") (new-sound-id) 1024 0 0 1 #t) (set! (-> self explosion) #t) @@ -793,22 +753,18 @@ ) (none) ) - :post - balloonlurker-post + :post balloonlurker-post ) (defstate balloonlurker-die (balloonlurker) - :event - (the-as (function process int symbol event-message-block object :behavior balloonlurker) #f) - :enter - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior balloonlurker) #f) + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self vulnerable) #f) (set! (-> self dead) #t) (none) ) - :code - (behavior () + :code (behavior () (local-vars (v1-27 symbol) (sv-16 symbol) (sv-20 (pointer process-tree)) (sv-24 entity-actor)) (process-entity-status! self (entity-perm-status bit-4) #t) (process-entity-status! self (entity-perm-status dead) #t) @@ -861,8 +817,7 @@ ) (none) ) - :post - balloonlurker-post + :post balloonlurker-post ) (defmethod relocate balloonlurker ((obj balloonlurker) (arg0 int)) @@ -885,8 +840,7 @@ ) (defstate balloonlurker-pilot-idle (balloonlurker-pilot) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (send-event (ppointer->process (-> self parent-override)) 'die) @@ -894,8 +848,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja :group! balloonlurker-pilot-idle-ja) (ja :num-func num-func-identity :frame-num 0.0) @@ -905,8 +858,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (set! (-> self root-override trans quad) (-> self parent-override 0 root-overlay trans quad)) (quaternion-copy! (-> self root-override quat) (-> self parent-override 0 root-overlay quat)) (update-transforms! (-> self root-override)) @@ -916,30 +868,21 @@ ) (defstate balloonlurker-pilot-die (balloonlurker-pilot) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior balloonlurker-pilot) process-drawable-death-event-handler ) - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 203) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 203) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (TODO-RENAME-17 (-> self parent-override 0 rbody) @@ -956,8 +899,7 @@ (cleanup-for-death self) (none) ) - :post - (behavior () + :post (behavior () (vector-v++! (-> self root-override transv) (compute-acc-due-to-gravity (-> self root-override) (new-stack-vector0) 0.0) @@ -1150,15 +1092,7 @@ (return #f) ) (else - (let ((s5-1 (get-process *default-dead-pool* balloonlurker-pilot #x4000))) - (when s5-1 - (let ((t9-6 (method-of-type balloonlurker-pilot activate))) - (t9-6 (the-as balloonlurker-pilot s5-1) obj 'balloonlurker-pilot (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 balloonlurker-pilot-init-by-other obj) - (-> s5-1 ppointer) - ) - ) + (process-spawn balloonlurker-pilot obj :to obj) (go balloonlurker-patrol) ) ) diff --git a/goal_src/levels/misty/bonelurker.gc b/goal_src/levels/misty/bonelurker.gc index 28769a54f6..41cc9f1d08 100644 --- a/goal_src/levels/misty/bonelurker.gc +++ b/goal_src/levels/misty/bonelurker.gc @@ -8,6 +8,7 @@ (declare-type bonelurker nav-enemy) ;; DECOMP BEGINS + (import "goal_src/import/bonelurker-ag.gc") (deftype bonelurker (nav-enemy) @@ -81,17 +82,7 @@ (-> obj collide-info) (the-as uint 2) ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'shove) - (set! (-> a1-3 param 0) (-> arg1 param 0)) - (let ((v1-19 (new 'static 'attack-info :mask #x40))) - (set! (-> v1-19 shove-back) 16384.0) - (set! (-> a1-3 param 1) (the-as uint v1-19)) - ) - (send-event-function arg0 a1-3) - ) + (send-event arg0 'shove (-> arg1 param 0) (static-attack-info ((shove-back (meters 4))))) (go bonelurker-stun) #t ) @@ -109,17 +100,7 @@ (or (= v1-30 (-> obj draw art-group data 9)) (= v1-30 (-> obj draw art-group data 10))) ) ) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) pp) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'shove) - (set! (-> a1-6 param 0) (-> arg1 param 0)) - (let ((v1-36 (new 'static 'attack-info :mask #x40))) - (set! (-> v1-36 shove-back) 16384.0) - (set! (-> a1-6 param 1) (the-as uint v1-36)) - ) - (send-event-function arg0 a1-6) - ) + (send-event arg0 'shove (-> arg1 param 0) (static-attack-info ((shove-back (meters 4))))) (set! (-> obj bump-player-time) (-> *display* base-frame-counter)) (logclear! (-> obj nav-enemy-flags) (nav-enemy-flags navenmf6)) 'push @@ -180,18 +161,15 @@ nav-enemy-default-event-handler (defstate nav-enemy-idle (bonelurker) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bonelurker) nav-enemy-default-event-handler ) - :exit - (behavior () + :exit (behavior () (bonelurker-set-large-bounds-sphere) (none) ) - :code - (behavior () + :code (behavior () (bonelurker-set-small-bounds-sphere) ((the-as (function none :behavior bonelurker) (-> (method-of-type nav-enemy nav-enemy-idle) code))) (none) @@ -200,13 +178,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-patrol (bonelurker) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bonelurker) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) ((the-as (function none :behavior bonelurker) (-> (method-of-type nav-enemy nav-enemy-patrol) code))) (none) @@ -215,24 +191,20 @@ nav-enemy-default-event-handler (defstate nav-enemy-notice (bonelurker) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bonelurker) nav-enemy-default-event-handler ) - :code - (-> (method-of-type nav-enemy nav-enemy-notice) code) + :code (-> (method-of-type nav-enemy nav-enemy-notice) code) ) (defstate nav-enemy-chase (bonelurker) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bonelurker) nav-enemy-default-event-handler ) - :trans - (behavior () + :trans (behavior () ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) (if (and (zero? (logand (-> self nav-enemy-flags) (nav-enemy-flags navenmf6))) (>= (- (-> *display* base-frame-counter) (-> self bump-player-time)) (seconds 0.5)) @@ -241,8 +213,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 524288.0) (set! (-> self turn-time) (seconds 0.1)) (set! (-> self speed-scale) 1.0) @@ -311,24 +282,20 @@ nav-enemy-default-event-handler (defstate nav-enemy-stop-chase (bonelurker) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bonelurker) nav-enemy-default-event-handler ) - :code - (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) + :code (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) ) (defstate nav-enemy-stare (bonelurker) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bonelurker) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 524288.0) (set! (-> self turn-time) (seconds 0.2)) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) @@ -376,13 +343,11 @@ nav-enemy-default-event-handler (defstate nav-enemy-give-up (bonelurker) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bonelurker) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 524288.0) (set! (-> self turn-time) (seconds 0.1)) (ja-channel-push! 1 (seconds 0.15)) @@ -431,30 +396,24 @@ nav-enemy-default-event-handler (defstate nav-enemy-victory (bonelurker) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bonelurker) nav-enemy-default-event-handler ) - :code - (-> (method-of-type nav-enemy nav-enemy-victory) code) + :code (-> (method-of-type nav-enemy nav-enemy-victory) code) ) (defstate bonelurker-stun (bonelurker) - :event - bonelurker-stunned-event-handler - :enter - (behavior () + :event bonelurker-stunned-event-handler + :enter (behavior () (nav-enemy-neck-control-inactive) (none) ) - :exit - (behavior () + :exit (behavior () (nav-enemy-neck-control-look-at) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) (vector-normalize-copy! gp-0 (-> self hit-from-dir) 16384.0) (vector+! gp-0 (-> self collide-info trans) gp-0) @@ -469,8 +428,7 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-chase) (none) ) - :post - bonelurker-push-post + :post bonelurker-push-post ) (define *bonelurker-nav-enemy-info* (new 'static 'nav-enemy-info diff --git a/goal_src/levels/misty/misty-conveyor.gc b/goal_src/levels/misty/misty-conveyor.gc index c3abe534ff..1c1128501c 100644 --- a/goal_src/levels/misty/misty-conveyor.gc +++ b/goal_src/levels/misty/misty-conveyor.gc @@ -11,9 +11,10 @@ ;; DECOMP BEGINS -(import "goal_src/import/keg-ag.gc") + (import "goal_src/import/keg-conveyor-ag.gc") (import "goal_src/import/keg-conveyor-paddle-ag.gc") +(import "goal_src/import/keg-ag.gc") (defpartgroup group-keg-bounce :id 197 @@ -21,13 +22,11 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2014 :fade-after (meters 100) :falloff-to (meters 100))) + :parts ((sp-item 2014 :fade-after (meters 100) :falloff-to (meters 100))) ) (defpart 2014 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-x (meters -3) (meters 6) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -137,41 +136,25 @@ (defbehavior keg-event-handler keg ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as - object - (when (or (= v1-0 'touch) (= v1-0 'attack)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (set! (-> a1-3 param 1) (the-as uint (new 'static 'attack-info))) - (when (send-event-function arg0 a1-3) - (sound-play-by-name (static-sound-name "icrate-break") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 71) - 20 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) - ) - (sound-stop (-> self sound-id)) - (deactivate self) + (the-as object (when (or (= v1-0 'touch) (= v1-0 'attack)) + (when (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) + (sound-play-by-name (static-sound-name "icrate-break") (new-sound-id) 1024 0 0 1 #t) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 71) + 20 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* + ) + (sound-stop (-> self sound-id)) + (deactivate self) + ) + ) ) - ) - ) - ) ) ) @@ -197,16 +180,14 @@ ) (defstate keg-on-paddle (keg) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('detach) (go keg-paddle-to-path) ) ) ) - :code - (behavior () + :code (behavior () (set! (-> (the-as keg (-> self parent 0)) sync-offset) (the-as float (process->ppointer self))) (ja :num-func num-func-identity :frame-num 0.0) (loop @@ -220,15 +201,12 @@ ) (none) ) - :post - (the-as (function none :behavior keg) keg-post) + :post (the-as (function none :behavior keg) keg-post) ) (defstate keg-paddle-to-path (keg) - :event - keg-event-handler - :code - (behavior () + :event keg-event-handler + :code (behavior () (let ((gp-0 (new-stack-vector0))) (set! (-> gp-0 quad) (-> self root-override trans quad)) (let ((s5-0 @@ -258,15 +236,12 @@ ) (none) ) - :post - (the-as (function none :behavior keg) keg-post) + :post (the-as (function none :behavior keg) keg-post) ) (defstate keg-on-path (keg) - :event - keg-event-handler - :code - (behavior () + :event keg-event-handler + :code (behavior () (local-vars (sv-48 float) (sv-64 float) (sv-80 float) (sv-96 float) (sv-112 float)) (let ((gp-0 (new-stack-vector0)) (s5-0 (new 'stack 'vector3s)) @@ -347,23 +322,16 @@ (activate! (-> self smush) -0.15 90 150 1.0 1.0) (set! sv-64 f24-0) (sound-play-by-name (static-sound-name "barrel-bounce") (new-sound-id) 819 0 0 1 #t) - (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-1 - (let ((t9-12 (method-of-type part-tracker activate))) - (t9-12 (the-as part-tracker s4-1) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s4-1 - part-tracker-init - (-> *part-group-id-table* 197) - -1 - keg-bounce-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root-override trans) - ) - (-> s4-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 197) + -1 + keg-bounce-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root-override trans) + :to self ) ) (let ((f0-39 (update! (-> self smush)))) @@ -384,15 +352,12 @@ ) (none) ) - :post - (the-as (function none :behavior keg) keg-post) + :post (the-as (function none :behavior keg) keg-post) ) (defstate keg-in-chute (keg) - :event - keg-event-handler - :code - (behavior () + :event keg-event-handler + :code (behavior () (let ((gp-0 (TODO-RENAME-12 (-> (the-as process-drawable (-> self parent 0)) path) (new-stack-vector0) @@ -427,21 +392,17 @@ ) (none) ) - :post - (the-as (function none :behavior keg) keg-post) + :post (the-as (function none :behavior keg) keg-post) ) (defstate keg-die (keg) - :event - (the-as (function process int symbol event-message-block object :behavior keg) #f) - :code - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior keg) #f) + :code (behavior () (sound-stop (-> self sound-id)) (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior keg) transform-post) + :post (the-as (function none :behavior keg) transform-post) ) (defbehavior keg-init-by-other keg ((arg0 keg) (arg1 int)) @@ -497,36 +458,19 @@ ) (defun keg-conveyor-spawn-keg ((arg0 keg-conveyor)) - (let ((s5-0 (get-process *default-dead-pool* keg #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type keg activate))) - (t9-1 (the-as keg s5-0) arg0 'keg (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 keg-init-by-other arg0 0) - (-> s5-0 ppointer) - ) - ) + (process-spawn keg arg0 0 :to arg0) ) (defun keg-conveyor-spawn-bouncing-keg ((arg0 keg-conveyor)) - (let ((s5-0 (get-process *default-dead-pool* keg #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type keg activate))) - (t9-1 (the-as keg s5-0) arg0 'keg (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 keg-init-by-other arg0 1) - (-> s5-0 ppointer) - ) - ) + (process-spawn keg arg0 1 :to arg0) ) (define *keg-conveyor-keg-spawn-table* - (the-as (array int8) (new 'static 'boxed-array :type int8 :length 6 :allocated-length 6 1 2 1 1 2 1)) + (the-as (array int8) (new 'static 'boxed-array :type int8 1 2 1 1 2 1)) ) (defstate keg-conveyor-idle (keg-conveyor) - :code - (behavior () + :code (behavior () (ja :num-func num-func-identity :frame-num 0.0) 0.0 (loop @@ -534,13 +478,11 @@ ) (none) ) - :post - (the-as (function none :behavior keg-conveyor) ja-post) + :post (the-as (function none :behavior keg-conveyor) ja-post) ) (defstate keg-conveyor-paddle-idle (keg-conveyor-paddle) - :code - (behavior () + :code (behavior () (let ((f30-0 57.0) (gp-0 0) (s5-0 (length *keg-conveyor-keg-spawn-table*)) @@ -602,8 +544,7 @@ ) (none) ) - :post - (the-as (function none :behavior keg-conveyor-paddle) transform-post) + :post (the-as (function none :behavior keg-conveyor-paddle) transform-post) ) (defbehavior keg-conveyor-paddle-init-by-other keg-conveyor-paddle ((arg0 keg-conveyor-paddle)) @@ -673,15 +614,7 @@ ) (vector+! (-> obj root trans) (-> obj root trans) s5-1) ) - (let ((s5-2 (get-process *default-dead-pool* keg-conveyor-paddle #x4000))) - (when s5-2 - (let ((t9-11 (method-of-type keg-conveyor-paddle activate))) - (t9-11 (the-as keg-conveyor-paddle s5-2) obj 'keg-conveyor-paddle (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 keg-conveyor-paddle-init-by-other obj) - (-> s5-2 ppointer) - ) - ) + (process-spawn keg-conveyor-paddle obj :to obj) (go keg-conveyor-idle) (none) ) diff --git a/goal_src/levels/misty/misty-obs.gc b/goal_src/levels/misty/misty-obs.gc index ccf424ab6b..c0b9f93fad 100644 --- a/goal_src/levels/misty/misty-obs.gc +++ b/goal_src/levels/misty/misty-obs.gc @@ -6,20 +6,20 @@ ;; dgos: L1, MIS ;; DECOMP BEGINS -(import "goal_src/import/mistycam-ag.gc") -(import "goal_src/import/breakaway-mid-ag.gc") -(import "goal_src/import/breakaway-left-ag.gc") + (import "goal_src/import/breakaway-right-ag.gc") -(import "goal_src/import/mis-bone-bridge-ag.gc") -(import "goal_src/import/windturbine-ag.gc") (import "goal_src/import/boatpaddle-ag.gc") +(import "goal_src/import/breakaway-mid-ag.gc") (import "goal_src/import/mis-bone-platform-ag.gc") +(import "goal_src/import/breakaway-left-ag.gc") +(import "goal_src/import/windturbine-ag.gc") +(import "goal_src/import/mistycam-ag.gc") +(import "goal_src/import/mis-bone-bridge-ag.gc") (defpartgroup group-windturbine-particles :id 191 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 908 :fade-after (meters 60) :period 1212 :length 10) + :parts ((sp-item 908 :fade-after (meters 60) :period 1212 :length 10) (sp-item 908 :fade-after (meters 60) :period 5790 :length 10) (sp-item 908 :fade-after (meters 60) :period 4988 :length 10) (sp-item 908 :fade-after (meters 60) :period 3510 :length 10) @@ -39,8 +39,7 @@ ) (defpart 910 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.066 0.066 1.0) (sp-flt spt-x (meters -4)) (sp-rnd-flt spt-y (meters -2) (meters 0.5) 1.0) @@ -64,13 +63,11 @@ ) (defpart 912 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 240) (sp-launcher-by-id spt-next-launcher 913)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 240) (sp-launcher-by-id spt-next-launcher 913)) ) (defpart 913 - :init-specs - ((sp-flt spt-vel-x (meters -0.06666667)) + :init-specs ((sp-flt spt-vel-x (meters -0.06666667)) (sp-flt spt-vel-y (meters 0.0033333334)) (sp-flt spt-scalevel-x (meters 0.016666668)) (sp-copy-from-other spt-scalevel-y -4) @@ -80,8 +77,7 @@ ) (defpart 911 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.066 0.066 1.0) (sp-flt spt-x (meters -4)) (sp-rnd-flt spt-y (meters -2) (meters 0.5) 1.0) @@ -105,8 +101,7 @@ ) (defpart 908 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 8.0 24.0 1.0) (sp-flt spt-x (meters -4)) (sp-rnd-flt spt-y (meters -4.5) (meters 1) 1.0) @@ -133,8 +128,7 @@ ) (defpart 909 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 8.0 24.0 1.0) (sp-flt spt-x (meters -4)) (sp-rnd-flt spt-y (meters -4.5) (meters 1) 1.0) @@ -165,8 +159,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 24) - :parts - ((sp-item 914 :period 780 :length 15) + :parts ((sp-item 914 :period 780 :length 15) (sp-item 915 :period 780 :length 15) (sp-item 916 :period 780 :length 64) (sp-item 917 :period 780 :length 32 :offset 65131) @@ -178,8 +171,7 @@ ) (defpart 921 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -207,8 +199,7 @@ ) (defpart 920 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-x (meters 2.5)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) @@ -235,8 +226,7 @@ ) (defpart 919 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -264,8 +254,7 @@ ) (defpart 918 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -294,13 +283,11 @@ ) (defpart 922 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) (defpart 917 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0) (sp-rnd-flt spt-z (meters -5) (meters 10) 1.0) @@ -324,8 +311,7 @@ ) (defpart 914 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 1.0) @@ -351,8 +337,7 @@ ) (defpart 915 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.2) 1.0) @@ -378,13 +363,11 @@ ) (defpart 923 - :init-specs - ((sp-flt spt-fade-a -3.2)) + :init-specs ((sp-flt spt-fade-a -3.2)) ) (defpart 916 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -3.5) (meters 4.5) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 12) 1.0) @@ -411,8 +394,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 24) - :parts - ((sp-item 914 :period 780 :length 15) + :parts ((sp-item 914 :period 780 :length 15) (sp-item 915 :period 780 :length 15) (sp-item 924 :period 780 :length 64) (sp-item 925 :period 780 :length 32 :offset 65131) @@ -424,8 +406,7 @@ ) (defpart 929 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -453,8 +434,7 @@ ) (defpart 928 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-x (meters 2.5)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) @@ -481,8 +461,7 @@ ) (defpart 927 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -510,8 +489,7 @@ ) (defpart 926 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -540,8 +518,7 @@ ) (defpart 925 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0) (sp-rnd-flt spt-z (meters -5) (meters 10) 1.0) @@ -565,8 +542,7 @@ ) (defpart 924 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -3.5) (meters 4.5) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 12) 1.0) @@ -593,8 +569,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 24) - :parts - ((sp-item 914 :period 780 :length 15) + :parts ((sp-item 914 :period 780 :length 15) (sp-item 915 :period 780 :length 15) (sp-item 930 :period 780 :length 64) (sp-item 931 :period 780 :length 32 :offset 65131) @@ -606,8 +581,7 @@ ) (defpart 935 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -635,8 +609,7 @@ ) (defpart 934 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-x (meters 2.5)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) @@ -663,8 +636,7 @@ ) (defpart 933 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -692,8 +664,7 @@ ) (defpart 932 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -722,8 +693,7 @@ ) (defpart 931 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0) (sp-rnd-flt spt-z (meters -5) (meters 10) 1.0) @@ -747,8 +717,7 @@ ) (defpart 930 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -3.5) (meters 4.5) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 12) 1.0) @@ -775,8 +744,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 24) - :parts - ((sp-item 914 :period 780 :length 15) + :parts ((sp-item 914 :period 780 :length 15) (sp-item 915 :period 780 :length 15) (sp-item 936 :period 780 :length 64) (sp-item 937 :period 780 :length 32 :offset 65131) @@ -788,8 +756,7 @@ ) (defpart 941 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -817,8 +784,7 @@ ) (defpart 940 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-x (meters 2.5)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) @@ -845,8 +811,7 @@ ) (defpart 939 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -874,8 +839,7 @@ ) (defpart 938 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -904,8 +868,7 @@ ) (defpart 937 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0) (sp-rnd-flt spt-z (meters -5) (meters 10) 1.0) @@ -929,8 +892,7 @@ ) (defpart 936 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -3.5) (meters 4.5) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 12) 1.0) @@ -955,13 +917,11 @@ (defpartgroup group-misty-boat-paddle :id 196 :bounds (static-bspherem 0 0 0 15) - :parts - ((sp-item 944 :fade-after (meters 100))) + :parts ((sp-item 944 :fade-after (meters 100))) ) (defpart 944 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-x (meters -11) (meters 22) 1.0) (sp-flt spt-y (meters 0)) @@ -985,13 +945,11 @@ ) (defpart 945 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) (defpart 943 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-x (meters -9) (meters 18) 1.0) (sp-flt spt-scale-x (meters 0.5)) @@ -1016,13 +974,11 @@ ) (defpart 946 - :init-specs - ((sp-flt spt-fade-a -2.0)) + :init-specs ((sp-flt spt-fade-a -2.0)) ) (defpart 942 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -11) (meters 22) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1047,13 +1003,11 @@ ) (defpart 947 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 60) (sp-launcher-by-id spt-next-launcher 948)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 60) (sp-launcher-by-id spt-next-launcher 948)) ) (defpart 948 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) (deftype boatpaddle (process-drawable) @@ -1074,8 +1028,7 @@ ) (defstate boatpaddle-idle (boatpaddle) - :code - (behavior () + :code (behavior () (local-vars (s4-0 int)) (loop (quaternion-rotate-local-x! @@ -1100,8 +1053,7 @@ ) (none) ) - :post - (the-as (function none :behavior boatpaddle) ja-post) + :post (the-as (function none :behavior boatpaddle) ja-post) ) (defmethod init-from-entity! boatpaddle ((obj boatpaddle) (arg0 entity-actor)) @@ -1135,8 +1087,7 @@ ) (defstate windturbine-idle (windturbine) - :code - (behavior () + :code (behavior () (loop (let* ((a0-0 (-> self root trans)) (f2-0 @@ -1161,8 +1112,7 @@ ) (none) ) - :post - (the-as (function none :behavior windturbine) ja-post) + :post (the-as (function none :behavior windturbine) ja-post) ) (defmethod init-from-entity! windturbine ((obj windturbine) (arg0 entity-actor)) @@ -1221,17 +1171,10 @@ ) (cond ((and (< 0.0 f1-1) (< (fabs (* 0.5 f0-3)) f1-1)) - (let ((a1-9 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-9 from) self) - (set! (-> a1-9 num-params) 2) - (set! (-> a1-9 message) 'query) - (set! (-> a1-9 param 0) (the-as uint 'powerup)) - (set! (-> a1-9 param 1) (the-as uint 2)) - (if (send-event-function *target* a1-9) - (go mis-bone-bridge-fall #f) - (go mis-bone-bridge-hit) - ) - ) + (if (send-event *target* 'query 'powerup (pickup-type eco-red)) + (go mis-bone-bridge-fall #f) + (go mis-bone-bridge-hit) + ) ) (else (go mis-bone-bridge-bump) @@ -1246,10 +1189,8 @@ ) (defstate mis-bone-bridge-idle (mis-bone-bridge) - :event - mis-bone-bridge-event-handler - :code - (behavior () + :event mis-bone-bridge-event-handler + :code (behavior () (ja :num-func num-func-identity :frame-num 0.0) (loop (if (and *target* (>= 32768.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) @@ -1265,17 +1206,13 @@ ) (none) ) - :post - (the-as (function none :behavior mis-bone-bridge) transform-post) + :post (the-as (function none :behavior mis-bone-bridge) transform-post) ) (defstate mis-bone-bridge-bump (mis-bone-bridge) - :event - mis-bone-bridge-event-handler - :trans - (the-as (function none :behavior mis-bone-bridge) rider-trans) - :code - (behavior () + :event mis-bone-bridge-event-handler + :trans (the-as (function none :behavior mis-bone-bridge) rider-trans) + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -1284,17 +1221,13 @@ (go mis-bone-bridge-idle) (none) ) - :post - (the-as (function none :behavior mis-bone-bridge) rider-post) + :post (the-as (function none :behavior mis-bone-bridge) rider-post) ) (defstate mis-bone-bridge-hit (mis-bone-bridge) - :event - mis-bone-bridge-event-handler - :trans - (the-as (function none :behavior mis-bone-bridge) rider-trans) - :code - (behavior () + :event mis-bone-bridge-event-handler + :trans (the-as (function none :behavior mis-bone-bridge) rider-trans) + :code (behavior () (+! (-> self hit-points) -1) (if (zero? (-> self hit-points)) (go mis-bone-bridge-fall #f) @@ -1307,25 +1240,24 @@ (go mis-bone-bridge-idle) (none) ) - :post - (the-as (function none :behavior mis-bone-bridge) rider-post) + :post (the-as (function none :behavior mis-bone-bridge) rider-post) ) (defstate mis-bone-bridge-fall (mis-bone-bridge) - :trans - (the-as (function none :behavior mis-bone-bridge) rider-trans) - :code - (behavior ((arg0 symbol)) + :trans (the-as (function none :behavior mis-bone-bridge) rider-trans) + :code (behavior ((arg0 symbol)) (process-entity-status! self (entity-perm-status complete) #t) (when (not arg0) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 part-tracker-init (-> self particle-group) -1 #f #f #f (-> self root-override trans)) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> self particle-group) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (ja-no-eval :group! (-> self draw art-group data (-> self fall-anim-index)) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1333,18 +1265,15 @@ (ja :num! (seek!)) ) ) - (ja :group! - (-> self draw art-group data (-> self fall-anim-index)) - :num! - (identity (the float (+ (-> (ja-group) data 0 length) -1))) + (ja :group! (-> self draw art-group data (-> self fall-anim-index)) + :num! (identity (the float (+ (-> (ja-group) data 0 length) -1))) ) (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior mis-bone-bridge) rider-post) + :post (the-as (function none :behavior mis-bone-bridge) rider-post) ) (defmethod init-from-entity! mis-bone-bridge ((obj mis-bone-bridge) (arg0 entity-actor)) @@ -1441,19 +1370,16 @@ (defstate breakaway-idle (breakaway) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) (go breakaway-about-to-fall) ) ) ) - :code - (the-as (function none :behavior breakaway) anim-loop) - :post - (the-as (function none :behavior breakaway) transform-post) + :code (the-as (function none :behavior breakaway) anim-loop) + :post (the-as (function none :behavior breakaway) transform-post) ) (defun actor-wait-for-period ((arg0 time-frame)) @@ -1466,8 +1392,7 @@ ) (defstate breakaway-about-to-fall (breakaway) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "falling-bones") (new-sound-id) 1024 0 0 1 #t) (sp-launch-particles-var *sp-particle-system-2d* @@ -1497,13 +1422,11 @@ ) (none) ) - :post - (the-as (function none :behavior breakaway) rider-post) + :post (the-as (function none :behavior breakaway) rider-post) ) (defstate breakaway-fall (breakaway) - :code - (behavior () + :code (behavior () (let ((f30-0 0.0) (f28-0 0.0) (f26-0 (* 0.1 (- (-> *standard-dynamics* gravity-length)))) @@ -1520,8 +1443,7 @@ (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior breakaway) rider-post) + :post (the-as (function none :behavior breakaway) rider-post) ) (defmethod init! breakaway ((obj breakaway) (arg0 res-lump) (arg1 int)) @@ -1690,31 +1612,26 @@ (defstate rigid-body-platform-idle (bone-platform) :virtual #t - :enter - (behavior () + :enter (behavior () (ja-channel-set! 0) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior bone-platform) ja-post) + :post (the-as (function none :behavior bone-platform) ja-post) ) (defstate rigid-body-platform-float (bone-platform) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bone-platform) rigid-body-platform-event-handler ) - :trans - (behavior () + :trans (behavior () (-> self entity extra trans y) (cond ((or (not *target*) (< (-> self info idle-distance) @@ -1734,8 +1651,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja :group! (-> self draw art-group data 2)) (ja :num-func num-func-identity :frame-num 0.0) @@ -1744,8 +1660,7 @@ ) (none) ) - :post - (the-as (function none :behavior bone-platform) rigid-body-platform-post) + :post (the-as (function none :behavior bone-platform) rigid-body-platform-post) ) (defmethod TODO-RENAME-30 bone-platform ((obj bone-platform)) @@ -1814,38 +1729,23 @@ (with-pp (let ((gp-0 (entity-actor-lookup (-> pp entity) 'alt-actor 0))) (when gp-0 - (let* ((s5-0 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-1 - (ppointer->handle - (when s5-0 - (let ((t9-2 (method-of-type pov-camera activate))) - (t9-2 (the-as pov-camera s5-0) pp 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> gp-0 extra trans) - *mistycam-sg* - (new 'static 'spool-anim :name "mistycam-cannon" :index 5 :parts 1 :command-list '()) - 0 - #f - '() - ) - (-> s5-0 ppointer) - ) - ) - ) - (s5-1 (get-process *default-dead-pool* fuel-cell #x4000)) - (s5-2 - (ppointer->handle (when s5-1 - (let ((t9-5 (method-of-type fuel-cell activate))) - (t9-5 (the-as fuel-cell s5-1) pp 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 fuel-cell-init-as-clone gp-1 (-> pp entity extra perm task)) - (-> s5-1 ppointer) + (let* ((gp-1 + (ppointer->handle (process-spawn + pov-camera + (-> gp-0 extra trans) + *mistycam-sg* + (new 'static 'spool-anim :name "mistycam-cannon" :index 5 :parts 1 :command-list '()) + 0 + #f + '() + :to pp ) ) ) + (s5-2 (ppointer->handle + (process-spawn fuel-cell :init fuel-cell-init-as-clone gp-1 (-> pp entity extra perm task) :to pp) + ) + ) ) (let ((v1-13 (handle->process gp-1))) (if v1-13 @@ -1875,21 +1775,12 @@ (defstate battlecontroller-play-intro-camera (misty-battlecontroller) :virtual #t - :code - (behavior () - (let* ((gp-0 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-1 - (ppointer->handle - (when gp-0 - (let ((t9-1 (method-of-type pov-camera activate))) - (t9-1 (the-as pov-camera gp-0) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 pov-camera-init-by-other (-> self root trans) *mistycam-sg* "lurkerattack" 0 #f '()) - (-> gp-0 ppointer) - ) - ) - ) - ) + :code (behavior () + (let ((gp-1 (ppointer->handle + (process-spawn pov-camera (-> self root trans) *mistycam-sg* "lurkerattack" 0 #f '() :to self) + ) + ) + ) (while (handle->process (the-as handle gp-1)) (suspend) ) @@ -1963,8 +1854,7 @@ (defstate boat-fuelcell-idle (boat-fuelcell) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('task-complete) (set! (-> self play-cutscene?) #t) @@ -1973,41 +1863,24 @@ ) ) ) - :code - (the-as (function none :behavior boat-fuelcell) anim-loop) + :code (the-as (function none :behavior boat-fuelcell) anim-loop) ) (defstate boat-fuelcell-spawn (boat-fuelcell) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior boat-fuelcell) process-drawable-fuel-cell-handler ) - :code - (behavior () + :code (behavior () (process-drawable-birth-fuel-cell (the-as entity #f) (the-as vector #f) #f) (when (and *target* (-> self play-cutscene?)) (ambient-hint-spawn "gamcam02" (the-as vector #f) *entity-pool* 'camera) - (let* ((gp-0 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-1 (ppointer->handle (when gp-0 - (let ((t9-3 (method-of-type pov-camera activate))) - (t9-3 (the-as pov-camera gp-0) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - pov-camera-init-by-other - (-> self root trans) - *mistycam-sg* - "mistycam-balloon-fuel-cell" - 0 - #f - '() - ) - (-> gp-0 ppointer) - ) - ) - ) - ) + (let ((gp-1 + (ppointer->handle + (process-spawn pov-camera (-> self root trans) *mistycam-sg* "mistycam-balloon-fuel-cell" 0 #f '() :to self) + ) + ) + ) (while (handle->process (the-as handle gp-1)) (suspend) ) @@ -2022,8 +1895,7 @@ ) (defstate boat-fuelcell-die (boat-fuelcell) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (none) ) diff --git a/goal_src/levels/misty/misty-part.gc b/goal_src/levels/misty/misty-part.gc index e533b5b68a..6969e97f6b 100644 --- a/goal_src/levels/misty/misty-part.gc +++ b/goal_src/levels/misty/misty-part.gc @@ -17,8 +17,7 @@ (defpart 972 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 1)) @@ -44,8 +43,7 @@ ) (defpart 973 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 3.0 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 1)) @@ -73,8 +71,7 @@ (defpartgroup group-misty-ship-steam :id 205 :bounds (static-bspherem 0 0.5 0 4.5) - :parts - ((sp-item 972 :fade-after (meters 175) :falloff-to (meters 175) :period 1500 :length 300) + :parts ((sp-item 972 :fade-after (meters 175) :falloff-to (meters 175) :period 1500 :length 300) (sp-item 972 :fade-after (meters 175) :falloff-to (meters 175) :period 2928 :length 360) (sp-item 972 :fade-after (meters 175) :falloff-to (meters 175) :period 4602 :length 180) (sp-item 973 :fade-after (meters 125) :falloff-to (meters 125) :period 180 :length 45) @@ -84,8 +81,7 @@ (defpartgroup group-part-misty-torch :id 206 :bounds (static-bspherem 0 3 0 4) - :parts - ((sp-item 974 :fade-after (meters 180) :falloff-to (meters 200)) + :parts ((sp-item 974 :fade-after (meters 180) :falloff-to (meters 200)) (sp-item 975 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 976 :fade-after (meters 50) :falloff-to (meters 50) :period 600 :length 90) (sp-item 977 :fade-after (meters 50) :falloff-to (meters 50) :period 369 :length 69) @@ -95,8 +91,7 @@ ) (defpart 979 - :init-specs - ((sp-flt spt-num 0.3) + :init-specs ((sp-flt spt-num 0.3) (sp-flt spt-x (meters 0.2)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) (sp-int spt-rot-x 5) @@ -114,13 +109,11 @@ ) (defpart 980 - :init-specs - ((sp-flt spt-fade-b -6.826667)) + :init-specs ((sp-flt spt-fade-b -6.826667)) ) (defpart 974 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1069547520 1 1.0) (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) (sp-rnd-flt spt-z (meters -0.35) (meters 0.7) 1.0) @@ -142,13 +135,11 @@ ) (defpart 981 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) (defpart 976 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-flt spt-y (meters 1)) @@ -171,8 +162,7 @@ ) (defpart 977 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) (sp-flt spt-y (meters 0.5)) @@ -195,8 +185,7 @@ ) (defpart 978 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0) (sp-flt spt-y (meters 0.6)) @@ -219,8 +208,7 @@ ) (defpart 975 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.3)) @@ -253,13 +241,11 @@ (defpartgroup group-misty-fog :id 207 :bounds (static-bspherem 64 7 0 96) - :parts - ((sp-item 982 :flags (is-3d))) + :parts ((sp-item 982 :flags (is-3d))) ) (defpart 982 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x2)) (sp-flt spt-num 0.06125) (sp-rnd-flt spt-x (meters 0) (meters 128) 1.0) (sp-rnd-flt spt-y (meters 5.5) (meters 1.5) 1.0) @@ -287,28 +273,24 @@ ) (defpart 983 - :init-specs - ((sp-flt spt-fade-a 0.0) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 1200 299 1) (sp-launcher-by-id spt-next-launcher 984) ) ) (defpart 984 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) (defpartgroup group-misty-lurkermachine-vent-316 :id 208 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 985 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 985 :fade-after (meters 80) :falloff-to (meters 80))) ) (defpart 985 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.8 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -340,13 +322,11 @@ (defpartgroup group-misty-lurkermachine-vent-313 :id 209 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 986 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 986 :fade-after (meters 80) :falloff-to (meters 80))) ) (defpart 986 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.8 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -378,13 +358,11 @@ (defpartgroup group-misty-lurkermachine-vent-308 :id 210 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 987 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 987 :fade-after (meters 80) :falloff-to (meters 80))) ) (defpart 987 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -416,13 +394,11 @@ (defpartgroup group-misty-lurkermachine-vent-307 :id 211 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 988 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 988 :fade-after (meters 80) :falloff-to (meters 80))) ) (defpart 988 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -454,13 +430,11 @@ (defpartgroup group-misty-lurkermachine-vent-305 :id 212 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 989 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 989 :fade-after (meters 80) :falloff-to (meters 80))) ) (defpart 989 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -492,13 +466,11 @@ (defpartgroup group-misty-lurkermachine-vent-309 :id 213 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 990 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 990 :fade-after (meters 80) :falloff-to (meters 80))) ) (defpart 990 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -530,13 +502,11 @@ (defpartgroup group-misty-lurkermachine-vent-2 :id 214 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 991 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 991 :fade-after (meters 80) :falloff-to (meters 80))) ) (defpart 991 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -568,13 +538,11 @@ (defpartgroup group-misty-lurkermachine-vent-328 :id 215 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 992 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 992 :fade-after (meters 80) :falloff-to (meters 80))) ) (defpart 992 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -606,13 +574,11 @@ (defpartgroup group-misty-lurkermachine-vent-325 :id 216 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 993 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 993 :fade-after (meters 80) :falloff-to (meters 80))) ) (defpart 993 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -0.8) (meters 1.6) 1.0) (sp-rnd-flt spt-y (meters -0.3) (meters 0.6) 1.0) @@ -644,13 +610,11 @@ (defpartgroup group-misty-lurkermachine-vent-320 :id 217 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 994 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 994 :fade-after (meters 80) :falloff-to (meters 80))) ) (defpart 994 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -0.8) (meters 1.6) 1.0) (sp-rnd-flt spt-y (meters -0.3) (meters 0.6) 1.0) @@ -682,13 +646,11 @@ (defpartgroup group-misty-lurkermachine-vent-324 :id 218 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 995 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 995 :fade-after (meters 80) :falloff-to (meters 80))) ) (defpart 995 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -0.8) (meters 1.6) 1.0) (sp-rnd-flt spt-y (meters -0.3) (meters 0.6) 1.0) @@ -720,8 +682,7 @@ (defpartgroup group-misty-fort-steam :id 219 :bounds (static-bspherem 0 0.5 0 4.5) - :parts - ((sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 1500 :length 300) + :parts ((sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 1500 :length 300) (sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 2928 :length 360) (sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 4602 :length 180) (sp-item 997 :fade-after (meters 125) :falloff-to (meters 125) :period 180 :length 45) @@ -731,8 +692,7 @@ (defpartgroup group-misty-fort-steam2 :id 220 :bounds (static-bspherem 0 0.5 0 4.5) - :parts - ((sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 1230 :length 300) + :parts ((sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 1230 :length 300) (sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 2550 :length 360) (sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 6102 :length 180) (sp-item 997 :fade-after (meters 125) :falloff-to (meters 125) :period 210 :length 45) @@ -742,8 +702,7 @@ (defpartgroup group-misty-fort-steam3 :id 221 :bounds (static-bspherem 0 0.5 0 4.5) - :parts - ((sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 1800 :length 300) + :parts ((sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 1800 :length 300) (sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 2559 :length 360) (sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 5202 :length 180) (sp-item 997 :fade-after (meters 125) :falloff-to (meters 125) :period 240 :length 45) @@ -753,8 +712,7 @@ (defpartgroup group-misty-fort-steam4 :id 222 :bounds (static-bspherem 0 0.5 0 4.5) - :parts - ((sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 1560 :length 300) + :parts ((sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 1560 :length 300) (sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 2601 :length 360) (sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 4848 :length 180) (sp-item 997 :fade-after (meters 125) :falloff-to (meters 125) :period 270 :length 45) @@ -762,8 +720,7 @@ ) (defpart 996 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.6 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 1)) @@ -789,8 +746,7 @@ ) (defpart 997 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 1)) @@ -818,8 +774,7 @@ (defpartgroup group-misty-lurkermachine-spout-314 :id 223 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 998 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) + :parts ((sp-item 998 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) (sp-item 998 :fade-after (meters 100) :falloff-to (meters 120) :period 770 :length 96) (sp-item 998 :fade-after (meters 140) :falloff-to (meters 160) :period 936 :length 60) (sp-item 999 :fade-after (meters 100) :falloff-to (meters 100)) @@ -827,8 +782,7 @@ ) (defpart 999 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -849,8 +803,7 @@ ) (defpart 998 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.6 1.0) (sp-sound (static-sound-spec "steam-release" :num 0.05 :volume 100.0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) @@ -876,8 +829,7 @@ (defpartgroup group-misty-lurkermachine-spout-310 :id 224 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1000 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) + :parts ((sp-item 1000 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) (sp-item 1000 :fade-after (meters 100) :falloff-to (meters 120) :period 770 :length 96) (sp-item 1000 :fade-after (meters 140) :falloff-to (meters 160) :period 936 :length 60) (sp-item 1001 :fade-after (meters 100) :falloff-to (meters 100)) @@ -885,8 +837,7 @@ ) (defpart 1001 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -908,8 +859,7 @@ ) (defpart 1000 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.6 1.0) (sp-sound (static-sound-spec "steam-release" :num 0.05 :volume 100.0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) @@ -936,8 +886,7 @@ (defpartgroup group-misty-lurkermachine-spout-311 :id 225 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1002 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) + :parts ((sp-item 1002 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) (sp-item 1002 :fade-after (meters 100) :falloff-to (meters 120) :period 770 :length 96) (sp-item 1002 :fade-after (meters 140) :falloff-to (meters 160) :period 936 :length 60) (sp-item 1003 :fade-after (meters 100) :falloff-to (meters 100)) @@ -945,8 +894,7 @@ ) (defpart 1003 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -968,8 +916,7 @@ ) (defpart 1002 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.6 1.0) (sp-sound (static-sound-spec "steam-release" :num 0.05 :volume 100.0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) @@ -996,8 +943,7 @@ (defpartgroup group-misty-lurkermachine-spout-312 :id 226 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1004 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) + :parts ((sp-item 1004 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) (sp-item 1004 :fade-after (meters 100) :falloff-to (meters 120) :period 770 :length 96) (sp-item 1004 :fade-after (meters 140) :falloff-to (meters 160) :period 936 :length 60) (sp-item 1005 :fade-after (meters 100) :falloff-to (meters 100)) @@ -1005,8 +951,7 @@ ) (defpart 1005 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1028,8 +973,7 @@ ) (defpart 1004 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.6 1.0) (sp-sound (static-sound-spec "steam-release" :num 0.05 :volume 100.0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) diff --git a/goal_src/levels/misty/misty-teetertotter.gc b/goal_src/levels/misty/misty-teetertotter.gc index 9915a632d6..d91781cc24 100644 --- a/goal_src/levels/misty/misty-teetertotter.gc +++ b/goal_src/levels/misty/misty-teetertotter.gc @@ -8,6 +8,7 @@ (declare-type teetertotter process-drawable) ;; DECOMP BEGINS + (import "goal_src/import/teetertotter-ag.gc") (deftype teetertotter (process-drawable) @@ -41,8 +42,7 @@ ) (defstate teetertotter-idle (teetertotter) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (case (-> arg3 param 1) @@ -69,75 +69,55 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 4) :num! min) (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior teetertotter) transform-post) + :post (the-as (function none :behavior teetertotter) transform-post) ) (defstate teetertotter-launch (teetertotter) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (the-as object (when (= arg2 'touch) - (when (and ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as collide-shape-moving (-> self root)) - (the-as uint 1) - ) - (-> self rock-is-dangerous) - ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (let ((a0-2 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-2 mode) 'deadly) - (set! (-> a1-2 param 1) (the-as uint a0-2)) - ) - (send-event-function arg0 a1-2) - ) - ) - (when (and ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as collide-shape-moving (-> self root)) - (the-as uint 2) - ) - (target-on-end-of-teetertotter? self) - (not (-> self launched-player)) - (-> self in-launch-window) - ) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'shove) - (set! (-> a1-4 param 0) (the-as uint #f)) - (let ((v1-16 (new 'static 'attack-info :mask #xcc0))) - (set! (-> v1-16 shove-back) 0.0) - (set! (-> v1-16 shove-up) 53248.0) - (set! (-> v1-16 angle) 'jump) - (set! (-> v1-16 control) 1.0) - (set! (-> a1-4 param 1) (the-as uint v1-16)) - ) - (when (send-event-function arg0 a1-4) - (let ((v0-0 #t)) - (set! (-> self launched-player) v0-0) - v0-0 - ) - ) - ) - ) - ) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (the-as + object + (when (= arg2 'touch) + (if (and ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (the-as collide-shape-moving (-> self root)) + (the-as uint 1) + ) + (-> self rock-is-dangerous) + ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'deadly)))) ) + (when (and ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (the-as collide-shape-moving (-> self root)) + (the-as uint 2) + ) + (target-on-end-of-teetertotter? self) + (not (-> self launched-player)) + (-> self in-launch-window) + ) + (when (send-event + arg0 + 'shove + #f + (static-attack-info ((shove-back (meters 0)) (shove-up (meters 13)) (angle 'jump) (control 1.0))) + ) + (let ((v0-0 #t)) + (set! (-> self launched-player) v0-0) + v0-0 + ) + ) + ) + ) + ) ) - :code - (behavior () + :code (behavior () (set! (-> self launched-player) #f) (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -153,13 +133,11 @@ (go teetertotter-idle) (none) ) - :post - (the-as (function none :behavior teetertotter) rider-post) + :post (the-as (function none :behavior teetertotter) rider-post) ) (defstate teetertotter-bend (teetertotter) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -168,8 +146,7 @@ (go teetertotter-idle) (none) ) - :post - (the-as (function none :behavior teetertotter) rider-post) + :post (the-as (function none :behavior teetertotter) rider-post) ) (defmethod init-from-entity! teetertotter ((obj teetertotter) (arg0 entity-actor)) diff --git a/goal_src/levels/misty/misty-warehouse.gc b/goal_src/levels/misty/misty-warehouse.gc index 29f7a3053c..c658527d22 100644 --- a/goal_src/levels/misty/misty-warehouse.gc +++ b/goal_src/levels/misty/misty-warehouse.gc @@ -8,6 +8,7 @@ (declare-type silostep process-drawable) ;; DECOMP BEGINS + (import "goal_src/import/silostep-ag.gc") (import "goal_src/import/rounddoor-ag.gc") @@ -33,8 +34,7 @@ ) (defstate silostep-idle (silostep) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go silostep-camera) @@ -44,8 +44,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) (loop @@ -53,49 +52,40 @@ ) (none) ) - :post - (the-as (function none :behavior silostep) ja-post) + :post (the-as (function none :behavior silostep) ja-post) ) (defbehavior misty-camera-view silostep () - (let ((gp-0 (get-process *default-dead-pool* camera-tracker #x4000))) - (set! (-> self cam-tracker) - (ppointer->handle (when gp-0 - (let ((t9-1 (method-of-type camera-tracker activate))) - (t9-1 (the-as camera-tracker gp-0) self 'camera-tracker (the-as pointer #x70004000)) + (set! (-> self cam-tracker) + (ppointer->handle (process-spawn + camera-tracker + :init camera-tracker-init + (lambda :behavior camera-tracker + () + (while (not (process-grab? *target*)) + (suspend) ) - (run-now-in-process - gp-0 - camera-tracker-init - (lambda :behavior camera-tracker - () - (while (not (process-grab? *target*)) - (suspend) - ) - (camera-change-to "camera-160" 150 #f) - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 3)) - (suspend) - ) - ) - (while (not (process-release? (handle->process (-> self grab-target)))) - (suspend) - ) - (camera-change-to (the-as string 'base) 150 #f) - (none) + (camera-change-to "camera-160" 150 #f) + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 3)) + (suspend) ) ) - (-> gp-0 ppointer) + (while (not (process-release? (handle->process (-> self grab-target)))) + (suspend) + ) + (camera-change-to (the-as string 'base) 150 #f) + (none) ) + :to self ) - ) - ) + ) + ) (none) ) (defstate silostep-camera (silostep) - :code - (behavior () + :code (behavior () (misty-camera-view) (let* ((gp-0 (get-task-control (game-task misty-warehouse))) (v1-1 (get-reminder gp-0 0)) @@ -113,13 +103,11 @@ (go silostep-rise #f) (none) ) - :post - (the-as (function none :behavior silostep) ja-post) + :post (the-as (function none :behavior silostep) ja-post) ) (defstate silostep-rise (silostep) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (process-entity-status! self (entity-perm-status complete) #t) (when (not arg0) (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! (-> self anim-limit)) :frame-num 0.0) @@ -138,8 +126,7 @@ ) (none) ) - :post - (the-as (function none :behavior silostep) #f) + :post (the-as (function none :behavior silostep) #f) ) (defmethod init-from-entity! silostep ((obj silostep) (arg0 entity-actor)) diff --git a/goal_src/levels/misty/mistycannon.gc b/goal_src/levels/misty/mistycannon.gc index aec5695e4e..3956f78e35 100644 --- a/goal_src/levels/misty/mistycannon.gc +++ b/goal_src/levels/misty/mistycannon.gc @@ -6,8 +6,9 @@ ;; dgos: BEA, L1, MIS ;; DECOMP BEGINS -(import "goal_src/import/mistycannon-ag.gc") + (import "goal_src/import/sack-ag.gc") +(import "goal_src/import/mistycannon-ag.gc") (deftype angle-tracker (structure) ((value float :offset-assert 0) @@ -146,16 +147,14 @@ (defpartgroup group-beach-sack-fuse :id 117 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 517 :fade-after (meters 30)) + :parts ((sp-item 517 :fade-after (meters 30)) (sp-item 518 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 519 :fade-after (meters 80) :falloff-to (meters 80)) ) ) (defpart 517 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-scale-x (meters 0.1)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -176,8 +175,7 @@ ) (defpart 518 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.25) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -192,8 +190,7 @@ ) (defpart 519 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-scale-x (meters 0.2)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -218,8 +215,7 @@ :id 118 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 520 :period 1200 :length 30) + :parts ((sp-item 520 :period 1200 :length 30) (sp-item 521 :fade-after (meters 60) :period 1200 :length 15) (sp-item 522 :period 1200 :length 15 :offset 15) (sp-item 523 :period 1200 :length 15) @@ -244,8 +240,7 @@ ) (defpart 520 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) @@ -272,13 +267,11 @@ ) (defpart 526 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.32)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.32)) ) (defpart 521 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0.75)) (sp-rnd-flt spt-scale-x (meters 8) (meters 8) 1.0) @@ -302,13 +295,11 @@ ) (defpart 527 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) (defpart 522 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 24) (meters 16) 1.0) @@ -324,8 +315,7 @@ ) (defpart 523 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 24) (meters 16) 1.0) @@ -341,8 +331,7 @@ ) (defpart 524 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 5.0 10.0 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) @@ -369,8 +358,7 @@ ) (defpart 528 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0033333334)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0033333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r -4.266667) (sp-flt spt-fade-g 0.7111111) @@ -380,8 +368,7 @@ ) (defpart 525 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.25) (meters 0.5) 1.0) @@ -406,8 +393,7 @@ :id 119 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 24) - :parts - ((sp-item 529 :fade-after (meters 200) :falloff-to (meters 200) :period 1200 :length 30) + :parts ((sp-item 529 :fade-after (meters 200) :falloff-to (meters 200) :period 1200 :length 30) (sp-item 530 :fade-after (meters 100) :falloff-to (meters 100) :period 1200 :length 15) (sp-item 531 :fade-after (meters 40) :falloff-to (meters 40) :period 1200 :length 15) (sp-item 532 :period 1200 :length 15 :offset 15) @@ -441,8 +427,7 @@ ) (defpart 529 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -471,16 +456,14 @@ ) (defpart 536 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.006666667)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.006666667)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.16) ) ) (defpart 530 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -508,8 +491,7 @@ ) (defpart 531 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0.75)) (sp-rnd-flt spt-scale-x (meters 16) (meters 16) 1.0) @@ -532,13 +514,11 @@ ) (defpart 537 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) (defpart 532 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 24) (meters 16) 1.0) @@ -554,8 +534,7 @@ ) (defpart 533 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 24) (meters 16) 1.0) @@ -571,8 +550,7 @@ ) (defpart 534 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 5.0 10.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -598,8 +576,7 @@ ) (defpart 538 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0033333334)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0033333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r -0.6) (sp-flt spt-fade-g -1.8) @@ -608,8 +585,7 @@ ) (defpart 535 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.25) (meters 0.5) 1.0) @@ -686,30 +662,26 @@ ) (defstate mistycannon-missile-idle (mistycannon-missile) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (go mistycannon-missile-explode) ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self sfx) (the-as uint 0)) 0 (none) ) - :trans - (behavior () + :trans (behavior () (if (< (-> self root-override trans y) (-> self water-height)) (go mistycannon-missile-in-water) ) (none) ) - :code - (behavior () + :code (behavior () (clear-collide-with-as (-> self root-override)) (while (< (- (-> *display* base-frame-counter) (-> self state-time)) (the int (* 300.0 (-> self muzzle-time)))) (quaternion*! (-> self root-override quat) (-> self root-override quat) (-> self tumble-quat)) @@ -806,8 +778,7 @@ (go mistycannon-missile-explode) (none) ) - :post - (behavior () + :post (behavior () (vector-v++! (-> self root-override transv) (compute-acc-due-to-gravity (-> self root-override) (new-stack-vector0) 1.0) @@ -847,8 +818,7 @@ ) (defstate mistycannon-missile-in-water (mistycannon-missile) - :code - (behavior () + :code (behavior () (when (nonzero? (-> self sfx)) (sound-stop (the-as sound-id (-> self sfx))) (set! (-> self sfx) (the-as uint 0)) @@ -883,13 +853,11 @@ (ja-channel-set! 0) (none) ) - :post - (the-as (function none :behavior mistycannon-missile) ja-post) + :post (the-as (function none :behavior mistycannon-missile) ja-post) ) (defstate mistycannon-missile-explode (mistycannon-missile) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touched) (let* ((s4-0 arg0) @@ -921,17 +889,7 @@ ) (cond ((= (-> arg0 type) target) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((a0-8 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-8 mode) 'explode) - (set! (-> a1-3 param 1) (the-as uint a0-8)) - ) - (send-event-function arg0 a1-3) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'explode)))) ) (else (let ((a1-4 (new 'stack-no-clear 'event-message-block))) @@ -956,8 +914,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (if (and *target* (= (-> *target* next-state name) 'target-periscope)) (sound-play-by-spec (static-sound-spec "explosion" :fo-min 200 :fo-max 400) (new-sound-id) (the-as vector #t)) (sound-play-by-spec (static-sound-spec "explosion") (new-sound-id) (the-as vector #t)) @@ -988,8 +945,7 @@ (deactivate self) (none) ) - :post - (the-as (function none :behavior mistycannon-missile) ja-post) + :post (the-as (function none :behavior mistycannon-missile) ja-post) ) (defun mistycannon-collision-reaction ((arg0 collide-shape-moving) (arg1 collide-shape-intersect) (arg2 vector) (arg3 vector)) @@ -1084,15 +1040,7 @@ (set! (-> s5-0 flight-time) arg4) (set! (-> s5-0 muzzle-time) arg5) (set! (-> s5-0 blast-radius) arg6) - (let ((s3-0 (get-process *default-dead-pool* mistycannon-missile #x4000))) - (when s3-0 - (let ((t9-1 (method-of-type mistycannon-missile activate))) - (t9-1 (the-as mistycannon-missile s3-0) arg0 'mistycannon-missile (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 mistycannon-missile-init-by-other s5-0 arg7) - (-> s3-0 ppointer) - ) - ) + (process-spawn mistycannon-missile s5-0 arg7 :to arg0) ) 0 (none) @@ -1310,8 +1258,7 @@ ) (defstate mistycannon-idle (mistycannon) - :trans - (behavior () + :trans (behavior () (if (not (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete)))) (go mistycannon-waiting-for-player) ) @@ -1326,16 +1273,14 @@ (rider-trans) (none) ) - :code - (behavior () + :code (behavior () (loop (dummy-23 self) (suspend) ) (none) ) - :post - (the-as (function none :behavior mistycannon) rider-post) + :post (the-as (function none :behavior mistycannon) rider-post) ) (deftype quadratic-solution (structure) @@ -1499,13 +1444,11 @@ ) (defstate mistycannon-aim-at-player (mistycannon) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete)))) (go mistycannon-waiting-for-player) ) @@ -1519,8 +1462,7 @@ (rider-trans) (none) ) - :code - (behavior () + :code (behavior () (loop (if (< (vector-vector-xz-distance (target-pos 0) (-> self center-point)) (-> self center-point w)) (mistycannon-do-aim (-> *target* control trans) (-> *target* control transv)) @@ -1531,13 +1473,11 @@ ) (none) ) - :post - (the-as (function none :behavior mistycannon) rider-post) + :post (the-as (function none :behavior mistycannon) rider-post) ) (defstate mistycannon-waiting-for-player (mistycannon) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) (when ((method-of-type touching-shapes-entry prims-touching?) @@ -1556,16 +1496,14 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) (go mistycannon-aim-at-player) ) (rider-trans) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self player-touching-grips?) #f) (loop (let ((f0-0 2730.6667) @@ -1608,30 +1546,25 @@ ) (none) ) - :post - (the-as (function none :behavior mistycannon) rider-post) + :post (the-as (function none :behavior mistycannon) rider-post) ) (defstate cam-mistycannon (camera-slave) - :event - cam-standard-event-handler - :enter - (behavior () + :event cam-standard-event-handler + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self blend-from-type) (the-as uint 1)) (set! (-> self blend-to-type) (the-as uint 1)) ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (let ((v1-0 (-> self change-event-from))) (set! (-> self trans quad) (-> (the-as mistycannon (-> v1-0 0)) goggles quad)) @@ -1649,28 +1582,24 @@ ) (defstate mistycannon-player-control (mistycannon) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('change-mode) (send-event *camera* 'change-state cam-mistycannon 0) ) ) ) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self sound-id)) (sound-stop (-> self aim-sound-id)) (none) ) - :trans - (behavior () + :trans (behavior () (dummy-23 self) (rider-trans) (none) ) - :code - (behavior () + :code (behavior () (send-event *camera* 'change-state cam-mistycannon 0) (suspend) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -1696,15 +1625,10 @@ (send-event *camera* 'change-to-entity-by-name "camera-111") (suspend) (loop - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) self) - (set! (-> a1-8 num-params) 0) - (set! (-> a1-8 message) 'end-mode) - (when (send-event-function *target* a1-8) - (send-event *camera* 'change-state *camera-base-mode* 0) - (process-entity-status! self (entity-perm-status bit-3) #f) - (go mistycannon-waiting-for-player-to-fuck-off) - ) + (when (send-event *target* 'end-mode) + (send-event *camera* 'change-state *camera-base-mode* 0) + (process-entity-status! self (entity-perm-status bit-3) #f) + (go mistycannon-waiting-for-player-to-fuck-off) ) (suspend) ) @@ -1757,13 +1681,11 @@ ) (none) ) - :post - (the-as (function none :behavior mistycannon) rider-post) + :post (the-as (function none :behavior mistycannon) rider-post) ) (defstate mistycannon-waiting-for-player-to-fuck-off (mistycannon) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'touch) (when ((method-of-type touching-shapes-entry prims-touching?) @@ -1780,15 +1702,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (the-as (function none :behavior mistycannon) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior mistycannon) rider-trans) + :code (behavior () (loop (suspend) (dummy-23 self) @@ -1798,8 +1717,7 @@ ) (none) ) - :post - (the-as (function none :behavior mistycannon) rider-post) + :post (the-as (function none :behavior mistycannon) rider-post) ) (defmethod init-from-entity! mistycannon ((obj mistycannon) (arg0 entity-actor)) diff --git a/goal_src/levels/misty/mud.gc b/goal_src/levels/misty/mud.gc index d81a44030c..a51b0599a5 100644 --- a/goal_src/levels/misty/mud.gc +++ b/goal_src/levels/misty/mud.gc @@ -20,8 +20,7 @@ :count 3 :converted #f :normal-scale 1.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 40.0 :xdiv -1 :zdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) @@ -34,8 +33,7 @@ :count 3 :converted #f :normal-scale 1.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 20.0 :xdiv 2 :speed 0.5) (new 'static 'ripple-wave :scale 20.0 :xdiv -2 :zdiv 2 :speed 0.5) (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) diff --git a/goal_src/levels/misty/muse.gc b/goal_src/levels/misty/muse.gc index 8bad89799c..1d1745fcf0 100644 --- a/goal_src/levels/misty/muse.gc +++ b/goal_src/levels/misty/muse.gc @@ -6,6 +6,7 @@ ;; dgos: L1, MIS ;; DECOMP BEGINS + (import "goal_src/import/muse-ag.gc") (deftype muse (nav-enemy) @@ -187,13 +188,11 @@ nav-enemy-default-event-handler (defstate muse-idle (muse) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior muse) nav-enemy-default-event-handler ) - :trans - (behavior () + :trans (behavior () (seek! (-> self sprint-distance) 61440.0 (* 8192.0 (-> *display* seconds-per-frame))) (if (and *target* (>= 102400.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)))) (level-hint-spawn (game-text-id zero) (the-as string #f) (-> self entity) *entity-pool* (game-task none)) @@ -203,8 +202,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (when (ja-group? muse-run-ja) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :num! (loop!)) @@ -226,24 +224,20 @@ nav-enemy-default-event-handler ) (none) ) - :post - (the-as (function none :behavior muse) ja-post) + :post (the-as (function none :behavior muse) ja-post) ) (defstate nav-enemy-chase (muse) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior muse) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (cond ((or (not *target*) (< 102400.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans))) @@ -267,8 +261,7 @@ nav-enemy-default-event-handler (muse-check-dest-point) (none) ) - :code - (behavior () + :code (behavior () (cond ((ja-group? muse-idle-ja) (ja-channel-push! 1 (seconds 0.1)) @@ -291,8 +284,7 @@ nav-enemy-default-event-handler ) (none) ) - :post - (behavior () + :post (behavior () (set! (-> self nav destination-pos quad) (-> self dest-point quad)) (dummy-19 (-> self nav) @@ -311,30 +303,25 @@ nav-enemy-default-event-handler (defstate nav-enemy-jump (muse) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior muse) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () ((-> (method-of-type nav-enemy nav-enemy-jump) enter)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags standing-jump)) (none) ) - :code - (-> (method-of-type nav-enemy nav-enemy-jump) code) + :code (-> (method-of-type nav-enemy nav-enemy-jump) code) ) (defstate nav-enemy-jump-land (muse) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior muse) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! muse-run-ja :num! (seek! max 0.8) :frame-num (ja-aframe 6.0 0)) @@ -349,114 +336,96 @@ nav-enemy-default-event-handler ) (defstate muse-caught (muse) - :event - (the-as (function process int symbol event-message-block object :behavior muse) #f) - :trans - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior muse) #f) + :trans (behavior () (spool-push *art-control* (-> self anim name) 0 self -1.0) (none) ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "money-pickup") (new-sound-id) 1024 0 0 1 #t) (close-specific-task! (game-task misty-muse) (task-status need-reminder)) (process-entity-status! self (entity-perm-status dead) #t) (suspend) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 1) - (set! (-> a1-3 message) 'clone-anim) - (set! (-> a1-3 param 0) (the-as uint self)) - (when (send-event-function *target* a1-3) - (set-blackout-frames (seconds 10)) - (let ((gp-1 (res-lump-struct (-> self entity) 'movie-pos vector))) - (cond - (gp-1 - (move-to-point! (-> self collide-info) gp-1) - (set-yaw-angle-clear-roll-pitch! (-> self collide-info) (-> gp-1 w)) - ) - (else - (move-to-point! (-> self collide-info) (-> *target* control trans)) - (quaternion-copy! (-> self collide-info quat) (-> *target* control quat)) - (move-to-ground (-> self collide-info) 40960.0 40960.0 #f (collide-kind background)) - ) - ) - ) - (send-event *target* 'trans 'save (-> self old-target-pos)) - (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) - (send-event *target* 'blend-shape #t) - (if (!= *kernel-boot-message* 'play) - (set! (-> self trans-hook) - (lambda :behavior muse () (spool-push *art-control* (-> self victory-anim name) 0 self -1.0) (none)) - ) - ) - (push-setting! *setting-control* self 'music-volume 'rel (-> *setting-control* current music-volume-movie) 0) - (push-setting! *setting-control* self 'sfx-volume 'rel (-> *setting-control* current sfx-volume-movie) 0) - (push-setting! - *setting-control* - self - 'ambient-volume - 'rel - (-> *setting-control* current ambient-volume-movie) - 0 - ) - (logclear! (-> self mask) (process-mask enemy)) - (let ((gp-2 (get-process *default-dead-pool* othercam #x4000))) - (when gp-2 - (let ((t9-19 (method-of-type othercam activate))) - (t9-19 (the-as othercam gp-2) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-2 othercam-init-by-other self 3 #f #t) - (-> gp-2 ppointer) - ) - ) - (auto-save-command 'auto-save 0 0 *default-pool*) - (ja-play-spooled-anim - (-> self anim) - (the-as art-joint-anim muse-idle-ja) - (the-as art-joint-anim muse-idle-ja) - (the-as (function process-drawable symbol) false-func) - ) - (clear-pending-settings-from-process *setting-control* self 'music-volume) - (clear-pending-settings-from-process *setting-control* self 'sfx-volume) - (clear-pending-settings-from-process *setting-control* self 'ambient-volume) - (send-event *target* 'blend-shape #f) + (when (send-event *target* 'clone-anim self) + (set-blackout-frames (seconds 10)) + (let ((gp-1 (res-lump-struct (-> self entity) 'movie-pos vector))) (cond - ((!= *kernel-boot-message* 'play) - (set-blackout-frames 0) - (ja-channel-set! 0) - (ja-post) - (clear-collide-with-as (-> self collide-info)) - (send-event *target* 'trans 'reset) - (let ((gp-4 (ppointer->handle (birth-pickup-at-point - (target-pos 0) - (pickup-type fuel-cell) - (the float (-> self entity extra perm task)) - #f - self - (the-as fact-info #f) - ) + (gp-1 + (move-to-point! (-> self collide-info) gp-1) + (set-yaw-angle-clear-roll-pitch! (-> self collide-info) (-> gp-1 w)) + ) + (else + (move-to-point! (-> self collide-info) (-> *target* control trans)) + (quaternion-copy! (-> self collide-info quat) (-> *target* control quat)) + (move-to-ground (-> self collide-info) 40960.0 40960.0 #f (collide-kind background)) + ) + ) + ) + (send-event *target* 'trans 'save (-> self old-target-pos)) + (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) + (send-event *target* 'blend-shape #t) + (if (!= *kernel-boot-message* 'play) + (set! (-> self trans-hook) + (lambda :behavior muse () (spool-push *art-control* (-> self victory-anim name) 0 self -1.0) (none)) + ) + ) + (push-setting! *setting-control* self 'music-volume 'rel (-> *setting-control* current music-volume-movie) 0) + (push-setting! *setting-control* self 'sfx-volume 'rel (-> *setting-control* current sfx-volume-movie) 0) + (push-setting! + *setting-control* + self + 'ambient-volume + 'rel + (-> *setting-control* current ambient-volume-movie) + 0 + ) + (logclear! (-> self mask) (process-mask enemy)) + (process-spawn othercam self 3 #f #t :to self) + (auto-save-command 'auto-save 0 0 *default-pool*) + (ja-play-spooled-anim + (-> self anim) + (the-as art-joint-anim muse-idle-ja) + (the-as art-joint-anim muse-idle-ja) + (the-as (function process-drawable symbol) false-func) + ) + (clear-pending-settings-from-process *setting-control* self 'music-volume) + (clear-pending-settings-from-process *setting-control* self 'sfx-volume) + (clear-pending-settings-from-process *setting-control* self 'ambient-volume) + (send-event *target* 'blend-shape #f) + (cond + ((!= *kernel-boot-message* 'play) + (set-blackout-frames 0) + (ja-channel-set! 0) + (ja-post) + (clear-collide-with-as (-> self collide-info)) + (send-event *target* 'trans 'reset) + (let ((gp-4 (ppointer->handle (birth-pickup-at-point + (target-pos 0) + (pickup-type fuel-cell) + (the float (-> self entity extra perm task)) + #f + self + (the-as fact-info #f) ) - ) - ) - (send-event (handle->process (the-as handle gp-4)) 'pickup) - (while (handle->process (the-as handle gp-4)) - (suspend) + ) + ) ) + (send-event (handle->process (the-as handle gp-4)) 'pickup) + (while (handle->process (the-as handle gp-4)) + (suspend) ) ) - (else - (send-event *target* 'trans 'restore (-> self old-target-pos)) - (set-blackout-frames 0) - (set-blackout-frames (seconds 0.1)) - ) + ) + (else + (send-event *target* 'trans 'restore (-> self old-target-pos)) + (set-blackout-frames 0) + (set-blackout-frames (seconds 0.1)) ) ) ) (none) ) - :post - (behavior () + :post (behavior () (dummy-51 self) (level-hint-surpress!) (kill-current-level-hint '() '() 'exit) @@ -562,8 +531,7 @@ nav-enemy-default-event-handler :name "muse-victory" :index 9 :parts 2 - :command-list - '((1 blackout 0) (219 blackout 60)) + :command-list '((1 blackout 0) (219 blackout 60)) ) ) (set! (-> obj victory-anim) (fuel-cell-pick-anim obj)) diff --git a/goal_src/levels/misty/quicksandlurker.gc b/goal_src/levels/misty/quicksandlurker.gc index e36cd0f46a..4556e2561c 100644 --- a/goal_src/levels/misty/quicksandlurker.gc +++ b/goal_src/levels/misty/quicksandlurker.gc @@ -6,13 +6,13 @@ ;; dgos: L1, MIS ;; DECOMP BEGINS + (import "goal_src/import/quicksandlurker-ag.gc") (defpartgroup group-quicksandlurker-missile :id 198 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 2481 :flags (launch-asap) :binding 2479) + :parts ((sp-item 2481 :flags (launch-asap) :binding 2479) (sp-item 2479 :flags (start-dead) :binding 2480) (sp-item 2480 :flags (start-dead launch-asap)) (sp-item 2480 :flags (start-dead launch-asap)) @@ -64,8 +64,7 @@ ) (defpart 2481 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.01)) (sp-copy-from-other spt-scale-y -4) @@ -77,8 +76,7 @@ ) (defpart 2479 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 1)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -103,13 +101,11 @@ ) (defpart 2482 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpart 2480 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 5.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -140,13 +136,11 @@ :id 199 :duration 5 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 2483)) + :parts ((sp-item 2483)) ) (defpart 2483 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -176,13 +170,11 @@ :id 200 :duration 10 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 2484) (sp-item 2485) (sp-item 2486)) + :parts ((sp-item 2484) (sp-item 2485) (sp-item 2486)) ) (defpart 2484 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 64.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -209,8 +201,7 @@ ) (defpart 2486 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -234,8 +225,7 @@ ) (defpart 2485 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -255,8 +245,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 124 :flags (is-3d) :period 900 :length 63) + :parts ((sp-item 124 :flags (is-3d) :period 900 :length 63) (sp-item 125 :period 900 :length 15) (sp-item 126 :flags (is-3d) :period 900 :length 15) (sp-item 127 :flags (is-3d) :period 900 :length 15) @@ -280,8 +269,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 124 :flags (is-3d) :period 900 :length 63) + :parts ((sp-item 124 :flags (is-3d) :period 900 :length 63) (sp-item 125 :period 900 :length 15) (sp-item 126 :flags (is-3d) :period 900 :length 15) (sp-item 127 :flags (is-3d) :period 900 :length 15) @@ -315,23 +303,12 @@ (defstate quicksandlurker-missile-idle (quicksandlurker-missile) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touched) (when (cond ((= (-> arg0 type) target) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((a2-1 (new 'static 'attack-info :mask #x20))) - (set! (-> a2-1 mode) 'explode) - (set! (-> a1-3 param 1) (the-as uint a2-1)) - ) - (send-event-function arg0 a1-3) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'explode)))) ) (else (let ((a1-4 (new 'stack-no-clear 'event-message-block))) @@ -355,13 +332,11 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior () + :code (behavior () (while (< (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 4)) (fill-cache-integrate-and-collide! (-> self root-override) @@ -390,16 +365,14 @@ (cleanup-for-death self) (none) ) - :post - (behavior () + :post (behavior () (update-transforms! (-> self root-override)) (none) ) ) (defstate quicksandlurker-missile-impact (quicksandlurker-missile) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "sack-land") (new-sound-id) @@ -409,23 +382,16 @@ 1 (the-as symbol (-> self root-override trans)) ) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 200) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 200) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) @@ -485,15 +451,7 @@ (let ((s5-0 (new 'stack-no-clear 'quicksandlurker-missile-init-data))) (set! (-> s5-0 position) arg1) (set! (-> s5-0 velocity) arg2) - (let ((s3-0 (get-process *default-dead-pool* quicksandlurker-missile #x4000))) - (when s3-0 - (let ((t9-1 (method-of-type quicksandlurker-missile activate))) - (t9-1 (the-as quicksandlurker-missile s3-0) arg0 'quicksandlurker-missile (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 quicksandlurker-missile-init-by-other s5-0 arg3) - (-> s3-0 ppointer) - ) - ) + (process-spawn quicksandlurker-missile s5-0 arg3 :to arg0) ) 0 (none) @@ -538,7 +496,6 @@ ) ;; ERROR: function has no type analysis. Cannot decompile. -;; get-height-over-navmesh, unused. (defun intersects-nav-mesh? ((arg0 nav-control) (arg1 vector)) (if (dummy-16 arg0 arg1) @@ -620,20 +577,16 @@ ) (defstate quicksandlurker-idle (quicksandlurker) - :event - (the-as (function process int symbol event-message-block object :behavior quicksandlurker) #f) - :enter - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior quicksandlurker) #f) + :enter (behavior () (logior! (-> self draw status) (draw-status hidden)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 163840.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) ) @@ -641,22 +594,18 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior quicksandlurker) ja-post) + :post (the-as (function none :behavior quicksandlurker) ja-post) ) (defstate quicksandlurker-wait (quicksandlurker) - :event - quicksandlurker-default-event-handler - :trans - (behavior () + :event quicksandlurker-default-event-handler + :trans (behavior () (cond ((and *target* (>= 81920.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) (set! (-> self y-offset) 1228.8) @@ -676,8 +625,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((gp-0 (the int (* 300.0 (rand-vu-float-range 1.5 2.0)))) (s5-0 5) @@ -710,15 +658,12 @@ ) (none) ) - :post - quicksandlurker-post + :post quicksandlurker-post ) (defstate quicksandlurker-yawn (quicksandlurker) - :event - quicksandlurker-default-event-handler - :code - (behavior () + :event quicksandlurker-default-event-handler + :code (behavior () (ja-no-eval :group! quicksandlurker-yawn-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -727,15 +672,12 @@ (go quicksandlurker-wait) (none) ) - :post - quicksandlurker-post + :post quicksandlurker-post ) (defstate quicksandlurker-track (quicksandlurker) - :event - quicksandlurker-default-event-handler - :trans - (behavior () + :event quicksandlurker-default-event-handler + :trans (behavior () (if (or (not *target*) (< 81920.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) ) @@ -744,8 +686,7 @@ (quicksandlurker-check-hide-transition) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((gp-0 (the int (* 300.0 (rand-vu-float-range 0.8 1.2)))) (s5-0 1) @@ -774,8 +715,7 @@ ) (none) ) - :post - quicksandlurker-post + :post quicksandlurker-post ) (defbehavior quicksandlurker-spit quicksandlurker () @@ -789,25 +729,24 @@ (vector-normalize! s5-0 49152.0) (spawn-quicksandlurker-missile self gp-0 s5-0 (-> self entity)) ) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 199) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 199) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) ) (defstate quicksandlurker-attack (quicksandlurker) - :event - quicksandlurker-default-event-handler - :trans - quicksandlurker-check-hide-transition - :code - (behavior () + :event quicksandlurker-default-event-handler + :trans quicksandlurker-check-hide-transition + :code (behavior () (let ((gp-0 #f) (f30-0 51.0) ) @@ -825,17 +764,13 @@ (go quicksandlurker-track) (none) ) - :post - quicksandlurker-post + :post quicksandlurker-post ) (defstate quicksandlurker-victory (quicksandlurker) - :event - quicksandlurker-default-event-handler - :trans - quicksandlurker-check-hide-transition - :code - (behavior () + :event quicksandlurker-default-event-handler + :trans quicksandlurker-check-hide-transition + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (cond ((rand-vu-percent? 0.5) @@ -856,25 +791,20 @@ (go quicksandlurker-track) (none) ) - :post - quicksandlurker-post + :post quicksandlurker-post ) (defstate quicksandlurker-hide (quicksandlurker) - :event - quicksandlurker-default-event-handler - :enter - (behavior () + :event quicksandlurker-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (restore-collide-with-as (-> self root-override)) (none) ) - :trans - (behavior () + :trans (behavior () (if (not *target*) (go quicksandlurker-wait) ) @@ -898,31 +828,23 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! quicksandlurker-hide-ja :num! (seek! max 0.75) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.75)) ) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 201) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 201) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (clear-collide-with-as (-> self root-override)) (loop @@ -931,32 +853,22 @@ ) (none) ) - :post - quicksandlurker-post + :post quicksandlurker-post ) (defstate quicksandlurker-popup (quicksandlurker) - :trans - quicksandlurker-check-hide-transition - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 202) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + :trans quicksandlurker-check-hide-transition + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 202) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (ja-no-eval :group! quicksandlurker-popup-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -967,18 +879,15 @@ (go quicksandlurker-track) (none) ) - :post - quicksandlurker-post + :post quicksandlurker-post ) (defstate quicksandlurker-die (quicksandlurker) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior quicksandlurker) process-drawable-death-event-handler ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! quicksandlurker-die-ja :num! (seek!) :frame-num 0.0) @@ -989,8 +898,7 @@ (cleanup-for-death self) (none) ) - :post - quicksandlurker-post + :post quicksandlurker-post ) (defmethod init-from-entity! quicksandlurker ((obj quicksandlurker) (arg0 entity-actor)) diff --git a/goal_src/levels/misty/sidekick-human.gc b/goal_src/levels/misty/sidekick-human.gc index 0009340099..3d9e46b1f0 100644 --- a/goal_src/levels/misty/sidekick-human.gc +++ b/goal_src/levels/misty/sidekick-human.gc @@ -6,10 +6,11 @@ ;; dgos: L1, MIS ;; DECOMP BEGINS + (import "goal_src/import/darkecocan-ag.gc") (import "goal_src/import/sidekick-human-ag.gc") -(import "goal_src/import/evilsis-ag.gc") (import "goal_src/import/evilbro-ag.gc") +(import "goal_src/import/evilsis-ag.gc") (deftype sequenceA (process-hidden) () @@ -23,8 +24,7 @@ :id 657 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2665 :period 300 :length 5 :binding 2663) + :parts ((sp-item 2665 :period 300 :length 5 :binding 2663) (sp-item 2663 :flags (start-dead launch-asap) :binding 2664) (sp-item 2663 :flags (start-dead launch-asap) :binding 2664) (sp-item 2664 :flags (start-dead)) @@ -36,8 +36,7 @@ ) (defpart 2665 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -2.5) (meters 5) 1.0) (sp-rnd-flt spt-y (meters -1.5) (meters 3) 1.0) @@ -53,8 +52,7 @@ ) (defpart 2663 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -77,8 +75,7 @@ ) (defpart 2664 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -97,8 +94,7 @@ ) (defpart 2667 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters -3.90625)) (sp-flt spt-scale-x (meters 15)) @@ -113,8 +109,7 @@ ) (defpart 2666 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.3) (sp-rnd-flt spt-x (meters -4) (meters 8) 1.0) (sp-rnd-flt spt-y (meters -3) (meters 6) 1.0) @@ -138,16 +133,14 @@ ) (defpart 2668 - :init-specs - ((sp-flt spt-fade-a 0.0) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 300 299 1) (sp-launcher-by-id spt-next-launcher 2669) ) ) (defpart 2669 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) (defpartgroup group-evilsib-appear @@ -155,8 +148,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2345 :period 1500 :length 20 :offset 1500) + :parts ((sp-item 2345 :period 1500 :length 20 :offset 1500) (sp-item 2346 :period 1500 :length 20 :offset 1500) (sp-item 2347 :period 1500 :length 5 :offset 1500) (sp-item 2348 :period 1500 :length 20 :offset 1500) @@ -417,8 +409,7 @@ ) (defpart 2349 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 0) (meters 0.1) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 4) 1.0) @@ -439,13 +430,11 @@ ) (defpart 2353 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) (defpart 2350 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 0) (meters 0.1) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 4) 1.0) @@ -469,8 +458,7 @@ ) (defpart 2351 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 0) (meters 0.3) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 2) 1.0) @@ -494,8 +482,7 @@ ) (defpart 2352 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 0) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -519,8 +506,7 @@ ) (defpart 2344 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -547,13 +533,11 @@ ) (defpart 2354 - :init-specs - ((sp-flt spt-fade-a -3.2)) + :init-specs ((sp-flt spt-fade-a -3.2)) ) (defpart 2345 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-y (meters 1) (meters 2) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) @@ -581,13 +565,11 @@ ) (defpart 2355 - :init-specs - ((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a 0.0)) + :init-specs ((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a 0.0)) ) (defpart 2346 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-y (meters 0) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.4) 1.0) @@ -615,8 +597,7 @@ ) (defpart 2347 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-rnd-flt spt-scale-x (meters 28) (meters 4) 1.0) @@ -633,8 +614,7 @@ ) (defpart 2348 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-y (meters 0.5) (meters 2) 1.0) (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.1) 1.0) @@ -657,8 +637,7 @@ :id 558 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2386 :binding 2385) + :parts ((sp-item 2386 :binding 2385) (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) @@ -741,8 +720,7 @@ ) (defpart 2386 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) @@ -756,8 +734,7 @@ ) (defpart 2385 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-flt spt-y (meters 0)) @@ -785,13 +762,11 @@ ) (defpart 2388 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 2389)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 2389)) ) (defpart 2389 - :init-specs - ((sp-flt spt-vel-z (meters -0.008333334)) + :init-specs ((sp-flt spt-vel-z (meters -0.008333334)) (sp-flt spt-scalevel-x (meters -0.00041666668)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -1.0666667) @@ -799,8 +774,7 @@ ) (defpart 2384 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -824,13 +798,11 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2298)) + :parts ((sp-item 2298)) ) (defpart 2298 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.25) (meters 0.5) 1.0) @@ -855,8 +827,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2785 :period 1800 :length 5) + :parts ((sp-item 2785 :period 1800 :length 5) (sp-item 2786 :period 1800 :length 40) (sp-item 2787 :period 1800 :length 20) (sp-item 2788 :period 1800 :length 20) @@ -929,8 +900,7 @@ ) (defpart 2830 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 2) 1.0) @@ -949,8 +919,7 @@ ) (defpart 2786 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-y (meters -1.5) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -975,13 +944,11 @@ ) (defpart 2789 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) (defpart 2788 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 12.0) (sp-flt spt-scale-x (meters 0.3)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) @@ -998,8 +965,7 @@ ) (defpart 2785 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 24)) (sp-copy-from-other spt-scale-y -4) @@ -1014,8 +980,7 @@ ) (defpart 2787 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters -1.5) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) @@ -1045,8 +1010,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 295 :fade-after (meters 100) :period 600 :length 5 :binding 296) + :parts ((sp-item 295 :fade-after (meters 100) :period 600 :length 5 :binding 296) (sp-item 296 :flags (start-dead launch-asap) :binding 297) (sp-item 297 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead)) (sp-item 296 :flags (start-dead launch-asap) :binding 297) @@ -1091,13 +1055,11 @@ :linger-duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2790)) + :parts ((sp-item 2790)) ) (defpart 2790 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1124,8 +1086,7 @@ ) (defpart 2822 - :init-specs - ((sp-flt spt-fade-a -0.1)) + :init-specs ((sp-flt spt-fade-a -0.1)) ) (deftype sequenceB (process-taskable) @@ -1192,67 +1153,55 @@ (define *lurker-army* - (the-as (array army-info) (new - 'static - 'boxed-array - :type army-info :length 9 :allocated-length 9 + (the-as (array army-info) (new 'static 'boxed-array :type army-info (new 'static 'army-info - :pos - (new 'static 'vector :x -920633.4 :y 83546.11 :z 4210409.5) + :pos (new 'static 'vector :x -920633.4 :y 83546.11 :z 4210409.5) :rot 28556.04 :skel 'babak ) (new 'static 'army-info - :pos - (new 'static 'vector :x -873488.4 :y 86441.984 :z 4225454.0) + :pos (new 'static 'vector :x -873488.4 :y 86441.984 :z 4225454.0) :rot 37861.24 :start-frame 5.0 :skel 'babak ) (new 'static 'army-info - :pos - (new 'static 'vector :x -905871.4 :y 83132.414 :z 4231934.0) + :pos (new 'static 'vector :x -905871.4 :y 83132.414 :z 4231934.0) :rot 32054.021 :start-frame 10.0 :skel 'babak ) (new 'static 'army-info - :pos - (new 'static 'vector :x -926765.06 :y 83496.96 :z 4236230.5) + :pos (new 'static 'vector :x -926765.06 :y 83496.96 :z 4236230.5) :rot 30001.652 :start-frame 15.0 :skel 'babak ) (new 'static 'army-info - :pos - (new 'static 'vector :x -893345.8 :y 83517.44 :z 4212961.5) + :pos (new 'static 'vector :x -893345.8 :y 83517.44 :z 4212961.5) :rot 32755.074 :start-frame 20.0 :skel 'babak ) (new 'static 'army-info - :pos - (new 'static 'vector :x -842797.06 :y 84041.73 :z 4218855.5) + :pos (new 'static 'vector :x -842797.06 :y 84041.73 :z 4218855.5) :rot 43916.402 :skel 'bonelurker ) (new 'static 'army-info - :pos - (new 'static 'vector :x -839274.5 :y 82644.99 :z 4248723.5) + :pos (new 'static 'vector :x -839274.5 :y 82644.99 :z 4248723.5) :rot 40510.715 :start-frame 6.0 :skel 'bonelurker ) (new 'static 'army-info - :pos - (new 'static 'vector :x -871485.44 :y 85909.51 :z 4243181.5) + :pos (new 'static 'vector :x -871485.44 :y 85909.51 :z 4243181.5) :rot 37046.043 :start-frame 12.0 :skel 'bonelurker ) (new 'static 'army-info - :pos - (new 'static 'vector :x -947523.56 :y 85835.77 :z 4219314.0) + :pos (new 'static 'vector :x -947523.56 :y 85835.77 :z 4219314.0) :rot 26980.078 :start-frame 18.0 :skel 'bonelurker @@ -1268,14 +1217,16 @@ (defbehavior evilsib-trans-hook-wait evilbro () (when (>= (ja-aframe-num 0) 425.0) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 part-tracker-init (-> *part-group-id-table* 557) -1 #f #f #f (-> self draw origin)) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 557) + -1 + #f + #f + #f + (-> self draw origin) + :to *entity-pool* ) (send-event self 'trans-hook evilsib-trans-hook-hover) ) @@ -1288,19 +1239,9 @@ (cond (arg0 (send-event *target* 'sidekick #f) - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj bonelurker) - (ppointer->handle - (when s5-0 - (let ((t9-2 (method-of-type manipy activate))) - (t9-2 (the-as manipy s5-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> obj root-override trans) (-> obj entity) *bonelurker-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> obj bonelurker) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *bonelurker-sg* #f :to obj)) + ) (send-event (handle->process (-> obj bonelurker)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj bonelurker)) 'center-joint 3) (set-setting! *setting-control* pp 'music-volume-movie 'abs (the-as float 0.0) 0) @@ -1310,18 +1251,9 @@ (let ((s4-0 (-> *lurker-army* s5-1))) (cond ((= (-> s4-0 skel) 'bonelurker) - (let ((s3-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj lurker-army s5-1) - (ppointer->handle (when s3-0 - (let ((t9-10 (method-of-type manipy activate))) - (t9-10 (the-as manipy s3-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 manipy-init (-> s4-0 pos) (-> obj entity) *bonelurker-sg* #f) - (-> s3-0 ppointer) - ) - ) - ) - ) + (set! (-> obj lurker-army s5-1) + (ppointer->handle (manipy-spawn (-> s4-0 pos) (-> obj entity) *bonelurker-sg* #f :to obj)) + ) (let ((s3-1 (handle->process (-> obj lurker-army s5-1)))) (when s3-1 (set! (-> (the-as babak s3-1) draw light-index) (the-as uint 1)) @@ -1330,18 +1262,9 @@ ) ) (else - (let ((s3-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj lurker-army s5-1) - (ppointer->handle (when s3-2 - (let ((t9-14 (method-of-type manipy activate))) - (t9-14 (the-as manipy s3-2) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s3-2 manipy-init (-> s4-0 pos) (-> obj entity) *babak-sg* #f) - (-> s3-2 ppointer) - ) - ) - ) - ) + (set! (-> obj lurker-army s5-1) + (ppointer->handle (manipy-spawn (-> s4-0 pos) (-> obj entity) *babak-sg* #f :to obj)) + ) (let ((s3-3 (handle->process (-> obj lurker-army s5-1)))) (when s3-3 (set! (-> (the-as babak s3-3) draw light-index) (the-as uint 1)) @@ -1363,8 +1286,7 @@ :name "sidekick-human-intro-sequence-b" :index 5 :parts 11 - :command-list - '((0 blackout 0) + :command-list '((0 blackout 0) (0 setting-reset ocean-off near) (0 want-levels misty intro) (0 display-level intro special) @@ -1470,8 +1392,7 @@ (defstate play-anim (sequenceB) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('offset-army) (dotimes (gp-0 9) @@ -1485,18 +1406,9 @@ (when (= (level-status *level* 'intro) 'active) (let ((gp-2 (entity-by-name "evilbro-2"))) (when gp-2 - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self evilbro) - (ppointer->handle (when s5-0 - (let ((t9-4 (method-of-type manipy activate))) - (t9-4 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> self root-override trans) gp-2 *evilbro-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> self evilbro) + (ppointer->handle (manipy-spawn (-> self root-override trans) gp-2 *evilbro-sg* #f :to self)) + ) (let ((gp-3 (handle->process (-> self evilbro)))) (when gp-3 (set! (-> (the-as evilbro gp-3) draw light-index) (the-as uint 1)) @@ -1521,18 +1433,9 @@ ) (let ((gp-4 (entity-by-name "evilsis-2"))) (when gp-4 - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self evilsis) - (ppointer->handle (when s5-1 - (let ((t9-15 (method-of-type manipy activate))) - (t9-15 (the-as manipy s5-1) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> self root-override trans) gp-4 *evilsis-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> self evilsis) + (ppointer->handle (manipy-spawn (-> self root-override trans) gp-4 *evilsis-sg* #f :to self)) + ) (let ((gp-5 (handle->process (-> self evilsis)))) (when gp-5 (set! (-> (the-as evilsis gp-5) draw light-index) (the-as uint 1)) @@ -1559,8 +1462,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (send-event *target* 'sidekick #t) (let ((a0-2 (handle->process (-> self bonelurker)))) (if a0-2 @@ -1598,8 +1500,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "sidekick-human-intro-sequence-c" 0 self (the-as float -1.0)) ((-> (method-of-type process-taskable play-anim) trans)) (none) @@ -1629,14 +1530,16 @@ (spawn (-> self part) gp-0) ) (when (>= (ja-aframe-num 0) 1590.0) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 561) -1 #f #f #f (-> self draw origin)) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 561) + -1 + #f + #f + #f + (-> self draw origin) + :to *entity-pool* ) (send-event self 'trans-hook nothing) ) @@ -1660,34 +1563,14 @@ (set-setting! *setting-control* pp 'music-volume-movie 'abs (the-as float 0.0) 0) (set-setting! *setting-control* pp 'sfx-volume-movie 'abs (the-as float 0.0) 0) (set-setting! *setting-control* pp 'ambient-volume-movie 'abs (the-as float 0.0) 0) - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj bonelurker) - (ppointer->handle - (when s5-0 - (let ((t9-4 (method-of-type manipy activate))) - (t9-4 (the-as manipy s5-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> obj root-override trans) (-> obj entity) *bonelurker-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> obj bonelurker) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *bonelurker-sg* #f :to obj)) + ) (send-event (handle->process (-> obj bonelurker)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj bonelurker)) 'center-joint 3) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj darkecocan) - (ppointer->handle - (when s5-1 - (let ((t9-9 (method-of-type manipy activate))) - (t9-9 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *darkecocan-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> obj darkecocan) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *darkecocan-sg* #f :to obj)) + ) (send-event (handle->process (-> obj darkecocan)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj darkecocan)) 'center-joint 3) (send-event (handle->process (-> obj darkecocan)) 'trans-hook sequenceC-can-trans-hook) @@ -1713,8 +1596,7 @@ :name "sidekick-human-intro-sequence-c" :index 6 :parts 22 - :command-list - '((0 blackout 0) + :command-list '((0 blackout 0) (0 kill "fuel-cell-11") (0 kill "fuel-cell-50") (0 kill "money-1561") @@ -1776,8 +1658,7 @@ (defstate play-anim (sequenceC) :virtual #t - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self bonelurker)))) (if a0-1 (deactivate a0-1) @@ -1792,8 +1673,7 @@ (start 'play (get-continue-by-name *game-info* "village1-intro")) (none) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "sage-intro-sequence-d1" 0 self (the-as float -1.0)) ((-> (method-of-type process-taskable play-anim) trans)) (none) @@ -1808,14 +1688,16 @@ (when (>= (ja-aframe-num 0) 1655.0) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 3)) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 562) -1 #f #f #f gp-0) - (-> s5-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 562) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (set! (-> self cur-trans-hook) nothing) diff --git a/goal_src/levels/ogre/flying-lurker.gc b/goal_src/levels/ogre/flying-lurker.gc index 3be28b2b0f..86217b9c58 100644 --- a/goal_src/levels/ogre/flying-lurker.gc +++ b/goal_src/levels/ogre/flying-lurker.gc @@ -8,9 +8,10 @@ (declare-type flying-lurker process-drawable) ;; DECOMP BEGINS + (import "goal_src/import/ogrecam-ag.gc") -(import "goal_src/import/flying-lurker-ag.gc") (import "goal_src/import/plunger-lurker-ag.gc") +(import "goal_src/import/flying-lurker-ag.gc") (defskelgroup *ogrecam-sg* ogrecam ogrecam-lod0-jg -1 ((ogrecam-lod0-mg (meters 999999))) @@ -43,8 +44,7 @@ ) (defstate plunger-lurker-plunge (plunger-lurker) - :code - (behavior () + :code (behavior () (set-setting! *setting-control* self 'allow-progress #f 0.0 0) (logclear! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #t) @@ -54,19 +54,10 @@ (while (not (process-grab? *target*)) (suspend) ) - (let* ((gp-0 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 - (ppointer->handle - (when gp-0 - (let ((t9-4 (method-of-type manipy activate))) - (t9-4 (the-as manipy gp-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 manipy-init (-> self entity extra trans) (-> self entity) *ogrecam-sg* #f) - (-> gp-0 ppointer) - ) - ) - ) - ) + (let ((gp-1 + (ppointer->handle (manipy-spawn (-> self entity extra trans) (-> self entity) *ogrecam-sg* #f :to self)) + ) + ) (let ((s5-0 (the-as othercam (get-process *default-dead-pool* othercam #x4000)))) (ppointer->handle (when s5-0 (let ((t9-7 (method-of-type othercam activate))) @@ -109,8 +100,7 @@ :name "plunger-lurker-blowup" :index 7 :parts 4 - :command-list - '((200 alive "tntbarrel-223") + :command-list '((200 alive "tntbarrel-223") (200 alive "tntbarrel-222") (200 alive "tntbarrel-221") (200 alive "tntbarrel-220") @@ -164,17 +154,7 @@ (process-release? *target*) (suspend) 0 - (let ((a1-15 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-15 from) self) - (set! (-> a1-15 num-params) 2) - (set! (-> a1-15 message) 'attack-invinc) - (set! (-> a1-15 param 0) (the-as uint #f)) - (let ((a0-37 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-37 mode) 'instant-death) - (set! (-> a1-15 param 1) (the-as uint a0-37)) - ) - (send-event-function *target* a1-15) - ) + (send-event *target* 'attack-invinc #f (static-attack-info ((mode 'instant-death)))) (cleanup-for-death self) (deactivate self) (loop @@ -182,13 +162,11 @@ ) (none) ) - :post - (the-as (function none :behavior plunger-lurker) ja-post) + :post (the-as (function none :behavior plunger-lurker) ja-post) ) (defstate plunger-lurker-flee (plunger-lurker) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'attack) (let ((v0-0 #t)) @@ -199,8 +177,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (-> self got-hit) (close-specific-task! (game-task plunger-lurker-hit) (task-status need-hint)) (process-entity-status! self (entity-perm-status complete) #t) @@ -211,22 +188,23 @@ *entity-pool* (game-task none) ) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 part-tracker-init (-> *part-group-id-table* 474) -1 #f #f #f (-> self root trans)) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 474) + -1 + #f + #f + #f + (-> self root trans) + :to *entity-pool* ) (cleanup-for-death self) (deactivate self) ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! plunger-lurker-notice-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -242,13 +220,11 @@ ) (none) ) - :post - (the-as (function none :behavior plunger-lurker) ja-post) + :post (the-as (function none :behavior plunger-lurker) ja-post) ) (defstate plunger-lurker-idle (plunger-lurker) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('plunge) (logclear! (-> self mask) (process-mask actor-pause)) @@ -256,8 +232,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "plunger-lurker-blowup" 0 self -99.0) (when (and *target* (< (vector-vector-distance-squared (-> self root trans) (target-pos 0)) 6710886400.0)) (logclear! (-> self mask) (process-mask actor-pause)) @@ -265,8 +240,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! plunger-lurker-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -276,13 +250,11 @@ ) (none) ) - :post - (the-as (function none :behavior plunger-lurker) ja-post) + :post (the-as (function none :behavior plunger-lurker) ja-post) ) (defstate plunger-lurker-die (plunger-lurker) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (deactivate self) (suspend) @@ -459,8 +431,7 @@ ) (defstate flying-lurker-die (flying-lurker) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (deactivate self) (none) @@ -468,8 +439,7 @@ ) (defstate flying-lurker-sleep (flying-lurker) - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status bit-3) #f) (logior! (-> self draw status) (draw-status hidden)) (loop @@ -607,8 +577,7 @@ ) (defstate flying-lurker-fly (flying-lurker) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'clone-and-kill-links) @@ -709,14 +678,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (process-entity-status! self (entity-perm-status bit-3) #t) (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (dummy-20 self) (when (not (movie?)) (flying-lurker-calc-speed (meters 15.0) (meters 30.0) (meters 0.11666667) (meters 0.083333336)) @@ -748,8 +715,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (ja-group? flying-lurker-fly-ja)) (ja-channel-push! 1 (seconds 0.2)) @@ -777,8 +743,7 @@ ) (none) ) - :post - (the-as (function none :behavior flying-lurker) ja-post) + :post (the-as (function none :behavior flying-lurker) ja-post) ) (defbehavior flying-lurker-handler flying-lurker ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) @@ -890,19 +855,10 @@ (suspend) (kill-current-level-hint '() '() 'die) (suspend) - (let* ((gp-0 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 - (ppointer->handle - (when gp-0 - (let ((t9-5 (method-of-type manipy activate))) - (t9-5 (the-as manipy gp-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 manipy-init (-> self entity extra trans) (-> self entity) *ogrecam-sg* #f) - (-> gp-0 ppointer) - ) - ) - ) - ) + (let ((gp-1 + (ppointer->handle (manipy-spawn (-> self entity extra trans) (-> self entity) *ogrecam-sg* #f :to self)) + ) + ) (let ((s5-0 (the-as othercam (get-process *default-dead-pool* othercam #x4000)))) (ppointer->handle (when s5-0 (let ((t9-8 (method-of-type othercam activate))) @@ -952,44 +908,36 @@ ) ) (process-release? *target*) - (let ((gp-2 (get-process *default-dead-pool* process #x4000))) - (when gp-2 - (let ((t9-18 (method-of-type process activate))) - (t9-18 gp-2 self 'process (the-as pointer #x70004000)) + (process-spawn-function + process + (lambda :behavior process + () + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 0.1)) + (suspend) + ) ) - (run-next-time-in-process gp-2 (lambda :behavior process - () - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 0.1)) - (suspend) - ) - ) - (level-hint-spawn - (game-text-id assistant-voicebox-intro-ogre-race) - "asstvb24" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (none) - ) - ) - (-> gp-2 ppointer) + (level-hint-spawn + (game-text-id assistant-voicebox-intro-ogre-race) + "asstvb24" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (none) ) + :to self ) (none) ) (defstate flying-lurker-start (flying-lurker) - :event - flying-lurker-handler - :exit - (behavior () + :event flying-lurker-handler + :exit (behavior () (clear-pending-settings-from-process *setting-control* self 'allow-progress) (none) ) - :code - (behavior () + :code (behavior () (when (play-movie?) (set-setting! *setting-control* self 'allow-progress #f 0.0 0) (flying-lurker-play-intro) @@ -1024,13 +972,11 @@ ) (none) ) - :post - (the-as (function none :behavior flying-lurker) ja-post) + :post (the-as (function none :behavior flying-lurker) ja-post) ) (defstate flying-lurker-clone (flying-lurker) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'die) @@ -1116,21 +1062,18 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (ja-channel-set! 0) (none) ) - :code - (behavior ((arg0 handle) (arg1 string)) + :code (behavior ((arg0 handle) (arg1 string)) (clone-anim arg0 3 #t arg1) (none) ) ) (defstate flying-lurker-idle (flying-lurker) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('saw-player) (set! (-> self take-off) #t) @@ -1195,21 +1138,18 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "flying-lurker-intro" 0 self -99.0) (if (and (-> self take-off) (first?)) (go flying-lurker-start) ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (gp-0 int) (f30-0 float)) 1.0 0 @@ -1263,8 +1203,7 @@ ) (none) ) - :post - (the-as (function none :behavior flying-lurker) ja-post) + :post (the-as (function none :behavior flying-lurker) ja-post) ) (defmethod init-from-entity! flying-lurker ((obj flying-lurker) (arg0 entity-actor)) diff --git a/goal_src/levels/ogre/ogre-obs.gc b/goal_src/levels/ogre/ogre-obs.gc index 589db0a839..14933b247e 100644 --- a/goal_src/levels/ogre/ogre-obs.gc +++ b/goal_src/levels/ogre/ogre-obs.gc @@ -25,13 +25,14 @@ ;; DECOMP BEGINS -(import "goal_src/import/ogre-bridgeend-ag.gc") -(import "goal_src/import/shortcut-boulder-ag.gc") + (import "goal_src/import/ogre-step-ag.gc") -(import "goal_src/import/ogre-isle-ag.gc") -(import "goal_src/import/ogre-bridge-ag.gc") -(import "goal_src/import/medres-snow-ag.gc") (import "goal_src/import/tntbarrel-ag.gc") +(import "goal_src/import/ogre-bridge-ag.gc") +(import "goal_src/import/shortcut-boulder-ag.gc") +(import "goal_src/import/medres-snow-ag.gc") +(import "goal_src/import/ogre-bridgeend-ag.gc") +(import "goal_src/import/ogre-isle-ag.gc") (defskelgroup *med-res-snow-sg* medres-snow medres-snow-lod0-jg medres-snow-idle-ja ((medres-snow-lod0-mg (meters 999999))) @@ -42,8 +43,7 @@ :id 473 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2234 :period 3000 :length 5) + :parts ((sp-item 2234 :period 3000 :length 5) (sp-item 2235 :period 3000 :length 5) (sp-item 2236 :period 3000 :length 40) (sp-item 2237 :period 3000 :length 40) @@ -52,8 +52,7 @@ ) (defpart 2236 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.8) 1.0) @@ -80,13 +79,11 @@ ) (defpart 2239 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) ) (defpart 2238 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-flt spt-scale-x (meters 0.5)) @@ -106,8 +103,7 @@ ) (defpart 2234 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 128)) @@ -122,8 +118,7 @@ ) (defpart 2235 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 32)) @@ -138,8 +133,7 @@ ) (defpart 2237 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 48.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 16) (meters 10) 1.0) @@ -167,8 +161,7 @@ ) (defpart 2240 - :init-specs - ((sp-flt spt-fade-r -0.26666668) + :init-specs ((sp-flt spt-fade-r -0.26666668) (sp-flt spt-fade-g -0.26666668) (sp-flt spt-fade-b -0.52916664) (sp-int spt-next-time 240) @@ -177,8 +170,7 @@ ) (defpart 2241 - :init-specs - ((sp-flt spt-fade-r -0.24380952) + :init-specs ((sp-flt spt-fade-r -0.24380952) (sp-flt spt-fade-g -0.12190476) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.09142857) @@ -188,8 +180,7 @@ ) (defpart 2242 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpartgroup group-tntbarrel-explosion @@ -197,8 +188,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2079 :period 600 :length 5) + :parts ((sp-item 2079 :period 600 :length 5) (sp-item 2080 :period 600 :length 40) (sp-item 2081 :period 600 :length 20) (sp-item 2082 :period 600 :length 20) @@ -206,8 +196,7 @@ ) (defpart 2080 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -234,13 +223,11 @@ ) (defpart 2083 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) ) (defpart 2082 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-flt spt-scale-x (meters 0.3)) @@ -260,8 +247,7 @@ ) (defpart 2079 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 24)) @@ -277,8 +263,7 @@ ) (defpart 2081 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) @@ -306,8 +291,7 @@ ) (defpart 2084 - :init-specs - ((sp-flt spt-fade-r -1.0666667) + :init-specs ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g -1.0666667) (sp-flt spt-fade-b -2.1166666) (sp-int spt-next-time 60) @@ -316,8 +300,7 @@ ) (defpart 2085 - :init-specs - ((sp-flt spt-fade-r -0.5688889) + :init-specs ((sp-flt spt-fade-r -0.5688889) (sp-flt spt-fade-g -0.28444445) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334) @@ -327,8 +310,7 @@ ) (defpart 2086 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defskelgroup *tntbarrel-sg* tntbarrel tntbarrel-lod0-jg tntbarrel-idle-ja @@ -352,54 +334,35 @@ (defstate die (tntbarrel) :virtual #t - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) (ja-post) (sound-play-by-name (static-sound-name "dcrate-break") (new-sound-id) 1024 0 0 1 #t) - (cond - (arg0 - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 473) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (if arg0 + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 473) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* + ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 474) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) ) - (else - (let ((gp-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-2 - (let ((t9-9 (method-of-type part-tracker activate))) - (t9-9 (the-as part-tracker gp-2) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-2 - part-tracker-init - (-> *part-group-id-table* 474) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-2 ppointer) - ) - ) - ) - ) (suspend) (cleanup-for-death self) (deactivate self) @@ -409,8 +372,7 @@ (defstate idle (tntbarrel) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('die-big) (go-virtual die #t) @@ -419,23 +381,12 @@ (go-virtual die #f) ) (('attack 'touch) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'attack-invinc) - (set! (-> a1-7 param 0) (-> arg3 param 0)) - (let ((a2-2 (new 'static 'attack-info :mask #x20))) - (set! (-> a2-2 mode) 'death) - (set! (-> a1-7 param 1) (the-as uint a2-2)) - ) - (send-event-function arg0 a1-7) - ) + (send-event arg0 'attack-invinc (-> arg3 param 0) (static-attack-info ((mode 'death)))) (go-virtual die #f) ) ) ) - :code - (behavior () + :code (behavior () (transform-post) (logior! (-> self mask) (process-mask sleep)) (suspend) @@ -525,8 +476,7 @@ (defstate rigid-body-platform-idle (ogre-plat) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'trigger) (set! (-> self triggered) (the-as entity-actor #t)) @@ -539,8 +489,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (cond ((-> self active) (when (and *target* (>= (-> self info idle-distance) @@ -561,27 +510,23 @@ ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior ogre-plat) ja-post) + :post (the-as (function none :behavior ogre-plat) ja-post) ) (defstate rigid-body-platform-float (ogre-plat) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior ogre-plat) rigid-body-platform-event-handler ) - :trans - (behavior () + :trans (behavior () (cond ((or (not *target*) (< (-> self info idle-distance) (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) @@ -600,16 +545,14 @@ ) (none) ) - :code - (behavior () + :code (behavior () (logclear! (-> self draw status) (draw-status hidden)) (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior ogre-plat) rigid-body-platform-post) + :post (the-as (function none :behavior ogre-plat) rigid-body-platform-post) ) (defmethod TODO-RENAME-30 ogre-plat ((obj ogre-plat)) @@ -939,25 +882,22 @@ ) (defstate ogre-bridge-idle (ogre-bridge) - :exit - (behavior () + :exit (behavior () (ogre-bridge-update-joints) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (and *target* (>= 286720.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) ) - (send-event *target* 'query 'powerup 3) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) (go ogre-bridge-activate) ) 0 (none) ) - :code - (behavior () + :code (behavior () (ja-post) (loop (suspend) @@ -967,23 +907,17 @@ ) (defstate ogre-bridge-activate (ogre-bridge) - :code - (behavior () + :code (behavior () (let ((v1-0 (entity-actor-lookup (-> self entity) 'alt-actor 0))) - (when (when v1-0 - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) 'next-stage) - (not (send-event-function + (when (if v1-0 + (not (send-event (if v1-0 (-> v1-0 extra process) ) - a1-1 + 'next-stage ) ) ) - ) (suspend) 0 ) @@ -999,13 +933,11 @@ (go ogre-bridge-activated) (none) ) - :post - (the-as (function none :behavior ogre-bridge) rider-post) + :post (the-as (function none :behavior ogre-bridge) rider-post) ) (defstate ogre-bridge-activated (ogre-bridge) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('break) (+! (-> self dead-joint-count) 4) @@ -1020,8 +952,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 3) :num! max) (transform-post) (loop @@ -1029,40 +960,37 @@ ) (none) ) - :post - (the-as (function none :behavior ogre-bridge) ja-post) + :post (the-as (function none :behavior ogre-bridge) ja-post) ) (defstate ogre-bridge-break (ogre-bridge) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as - object - (when (= v1-0 'effect) - (when (= (-> arg3 param 0) 'splash) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (let ((a1-1 (-> arg3 param 2))) - (set! (-> gp-0 quad) (-> self node-list data a1-1 bone transform vector 3 quad)) - ) - (set! (-> gp-0 y) 118784.0) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 466) -1 #f #f #f gp-0) - (-> s5-0 ppointer) - ) - ) + (the-as object (when (= v1-0 'effect) + (when (= (-> arg3 param 0) 'splash) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (let ((a1-1 (-> arg3 param 2))) + (set! (-> gp-0 quad) (-> self node-list data a1-1 bone transform vector 3 quad)) + ) + (set! (-> gp-0 y) 118784.0) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 466) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* + ) + ) + ) + ) ) - ) - ) - ) ) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -1071,14 +999,11 @@ (go ogre-bridge-idle) (none) ) - :post - (the-as (function none :behavior ogre-bridge) rider-post) + :post (the-as (function none :behavior ogre-bridge) rider-post) ) (define *ogre-bridge-joint-array* - (the-as (array uint8) - (new 'static 'boxed-array :type uint8 :length 8 :allocated-length 8 #x4 #x9 #xc #x11 #x7 #xa #xf #x12) - ) + (the-as (array uint8) (new 'static 'boxed-array :type uint8 #x4 #x9 #xc #x11 #x7 #xa #xf #x12)) ) (defmethod init-from-entity! ogre-bridge ((obj ogre-bridge) (arg0 entity-actor)) @@ -1298,8 +1223,7 @@ (defstate ogre-bridgeend-idle (ogre-bridgeend) - :code - (behavior () + :code (behavior () (transform-post) (anim-loop) (none) @@ -1340,8 +1264,7 @@ (defstate water-vol-idle (ogre-lava) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('submerge1) (set! (-> self anim) 3) @@ -1368,8 +1291,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 2 (seconds 0.1)) (ja :chan 1 :group! (-> self draw art-group data (-> self idle-anim)) :num! min) (ja-no-eval :group! (-> self draw art-group data (-> self anim)) :num! (seek! max 0.5) :frame-num 0.0) @@ -1386,14 +1308,12 @@ ) (none) ) - :post - (the-as (function none :behavior ogre-lava) #f) + :post (the-as (function none :behavior ogre-lava) #f) ) (defstate water-vol-startup (ogre-lava) :virtual #t - :code - (behavior () + :code (behavior () (set! (-> self idle-anim) 2) (set! (-> self anim) (-> self idle-anim)) (go-virtual water-vol-idle) @@ -1404,8 +1324,7 @@ (define ripple-for-ogre-lava (new 'static 'ripple-wave-set :count 2 :converted #f - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 2 :speed 3.0) (new 'static 'ripple-wave :scale 40.0 :xdiv -2 :zdiv 2 :speed 1.8) (new 'static 'ripple-wave) @@ -1459,16 +1378,14 @@ :duration 300 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2149 :period 1500 :length 5) + :parts ((sp-item 2149 :period 1500 :length 5) (sp-item 2150 :period 1500 :length 5) (sp-item 2151 :period 1500 :length 15) ) ) (defpart 2150 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 15)) (sp-copy-from-other spt-scale-y -4) @@ -1483,8 +1400,7 @@ ) (defpart 2149 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 16.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1507,8 +1423,7 @@ ) (defpart 2151 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) @@ -1532,32 +1447,23 @@ ) (defpart 2152 - :init-specs - ((sp-flt spt-fade-a -0.2)) + :init-specs ((sp-flt spt-fade-a -0.2)) ) (defstate shortcut-boulder-break (shortcut-boulder) - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (lods-assign! (-> self draw) (-> self broken-look)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 475) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 475) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1568,13 +1474,11 @@ (deactivate self) (none) ) - :post - (the-as (function none :behavior shortcut-boulder) ja-post) + :post (the-as (function none :behavior shortcut-boulder) ja-post) ) (defstate shortcut-boulder-idle (shortcut-boulder) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (if (and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) @@ -1583,8 +1487,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (transform-post) (loop (logior! (-> self mask) (process-mask sleep)) diff --git a/goal_src/levels/ogre/ogre-part.gc b/goal_src/levels/ogre/ogre-part.gc index 840678012f..9142e1b87e 100644 --- a/goal_src/levels/ogre/ogre-part.gc +++ b/goal_src/levels/ogre/ogre-part.gc @@ -13,8 +13,7 @@ :linger-duration 3000 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2193 :period 1500 :length 5) + :parts ((sp-item 2193 :period 1500 :length 5) (sp-item 2194 :period 1500 :length 40) (sp-item 2195 :period 1500 :length 20) (sp-item 2196 :period 1500 :length 20) @@ -22,8 +21,7 @@ ) (defpart 2194 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters -5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.2) 1.0) @@ -50,13 +48,11 @@ ) (defpart 2197 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) ) (defpart 2196 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-y (meters -5) (meters 1) 1.0) (sp-flt spt-scale-x (meters 0.6)) @@ -76,8 +72,7 @@ ) (defpart 2193 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -4)) (sp-flt spt-scale-x (meters 44)) @@ -93,8 +88,7 @@ ) (defpart 2195 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 24.0) (sp-rnd-flt spt-y (meters -5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 5) (meters 2.5) 1.0) @@ -122,8 +116,7 @@ ) (defpart 2198 - :init-specs - ((sp-flt spt-fade-r -0.21333334) + :init-specs ((sp-flt spt-fade-r -0.21333334) (sp-flt spt-fade-g -0.21333334) (sp-flt spt-fade-b 0.0) (sp-int spt-next-time 150) @@ -132,8 +125,7 @@ ) (defpart 2199 - :init-specs - ((sp-flt spt-fade-r -0.021333333) + :init-specs ((sp-flt spt-fade-r -0.021333333) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.08533333) @@ -143,8 +135,7 @@ ) (defpart 2200 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpartgroup group-ogreboss-lava-splash @@ -153,13 +144,11 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2023)) + :parts ((sp-item 2023)) ) (defpart 2023 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0) @@ -183,13 +172,11 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2108) (sp-item 2109) (sp-item 2110) (sp-item 2111)) + :parts ((sp-item 2108) (sp-item 2109) (sp-item 2110) (sp-item 2111)) ) (defpart 2111 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 4.0 4.0 1.0) (sp-flt spt-y (meters -3)) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.75) 1.0) @@ -210,8 +197,7 @@ ) (defpart 2108 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters 0) (meters 2) 1.0) (sp-flt spt-y (meters -3)) @@ -237,8 +223,7 @@ ) (defpart 2109 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters 3) (meters 4) 1.0) (sp-flt spt-y (meters -3)) @@ -264,8 +249,7 @@ ) (defpart 2110 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters 0) (meters 3) 1.0) (sp-rnd-flt spt-y (meters -3) (meters 1) 1.0) @@ -296,8 +280,7 @@ ) (defpart 2112 - :init-specs - ((sp-flt spt-fade-a -0.08)) + :init-specs ((sp-flt spt-fade-a -0.08)) ) (defpartgroup group-ogreboss-boulder-grow @@ -306,13 +289,11 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2201) (sp-item 2202) (sp-item 2203) (sp-item 2204)) + :parts ((sp-item 2201) (sp-item 2202) (sp-item 2203) (sp-item 2204)) ) (defpart 2203 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) @@ -339,8 +320,7 @@ ) (defpart 2205 - :init-specs - ((sp-flt spt-fade-r -0.85333335) + :init-specs ((sp-flt spt-fade-r -0.85333335) (sp-flt spt-fade-g -0.42666668) (sp-flt spt-fade-b -0.42666668) (sp-flt spt-fade-a -0.85333335) @@ -348,8 +328,7 @@ ) (defpart 2204 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) @@ -368,8 +347,7 @@ ) (defpart 2201 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-rnd-flt spt-scale-x (meters 28) (meters 4) 1.0) @@ -385,8 +363,7 @@ ) (defpart 2202 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-rnd-flt spt-scale-x (meters 16) (meters 4) 1.0) @@ -405,13 +382,11 @@ (defpartgroup group-ogreboss-missile :id 469 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 1933) (sp-item 1934)) + :parts ((sp-item 1933) (sp-item 1934)) ) (defpart 1934 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.3 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 2) 1.0) @@ -438,8 +413,7 @@ ) (defpart 1933 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.3 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 2) 1.0) @@ -468,8 +442,7 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 2079 :period 600 :length 5) + :parts ((sp-item 2079 :period 600 :length 5) (sp-item 2206 :period 600 :length 40) (sp-item 2206 :period 600 :length 40) (sp-item 2206 :period 600 :length 30) @@ -481,8 +454,7 @@ ) (defpart 2206 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -514,8 +486,7 @@ :duration 300 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 2079 :period 600 :length 5) + :parts ((sp-item 2079 :period 600 :length 5) (sp-item 2080 :period 600 :length 40) (sp-item 2148 :period 600 :length 20) (sp-item 2082 :period 600 :length 20) @@ -525,8 +496,7 @@ (defpartgroup group-ogre-lava-lava-20x20 :id 472 :bounds (static-bspherem 0 0 0 14) - :parts - ((sp-item 2030 :fade-after (meters 40) :falloff-to (meters 40)) + :parts ((sp-item 2030 :fade-after (meters 40) :falloff-to (meters 40)) (sp-item 2031 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 2032 :fade-after (meters 80) :falloff-to (meters 80) :binding 2028) (sp-item 2028 :flags (start-dead)) @@ -545,8 +515,7 @@ ) (defpart 2031 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0.5)) @@ -572,8 +541,7 @@ ) (defpart 2033 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0)) @@ -593,8 +561,7 @@ ) (defpart 2032 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.02 0.02 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0)) @@ -616,8 +583,7 @@ ) (defpart 2030 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -10) (meters 20) 1.0) @@ -638,18 +604,15 @@ ) (defpart 2035 - :init-specs - ((sp-flt spt-fade-b 16.384)) + :init-specs ((sp-flt spt-fade-b 16.384)) ) (defpart 2034 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 2036)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 2036)) ) (defpart 2036 - :init-specs - ((sp-flt spt-fade-r -0.85333335) + :init-specs ((sp-flt spt-fade-r -0.85333335) (sp-flt spt-fade-g -0.42666668) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 2037) @@ -657,13 +620,11 @@ ) (defpart 2037 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a -0.10666667)) ) (defpart 2028 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.7) (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.25) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -680,8 +641,7 @@ ) (defpart 2029 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) diff --git a/goal_src/levels/ogre/ogreboss.gc b/goal_src/levels/ogre/ogreboss.gc index d4311fbd88..64f2c3db1a 100644 --- a/goal_src/levels/ogre/ogreboss.gc +++ b/goal_src/levels/ogre/ogreboss.gc @@ -9,6 +9,7 @@ (define-extern *ogreboss* ogreboss) ;; DECOMP BEGINS + (import "goal_src/import/ogreboss-ag.gc") (defskelgroup *ogreboss-sg* ogreboss ogreboss-lod0-jg ogreboss-idle-ja @@ -49,28 +50,20 @@ (define *ogreboss-missile-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #xe)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 614400.0) - :bot-plane - (new 'static 'plane :y 1.0 :w -102400.0) - :top-plane - (new 'static 'plane :y 1.0 :w -143360.0) + :center (new 'static 'vector :w (the-as float #xe)) + :shadow-dir (new 'static 'vector :y -1.0 :w 614400.0) + :bot-plane (new 'static 'plane :y 1.0 :w -102400.0) + :top-plane (new 'static 'plane :y 1.0 :w -143360.0) ) ) ) (define *ogreboss-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #xc)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 614400.0) - :bot-plane - (new 'static 'plane :y 1.0 :w -102400.0) - :top-plane - (new 'static 'plane :y 1.0 :w -143360.0) + :center (new 'static 'vector :w (the-as float #xc)) + :shadow-dir (new 'static 'vector :y -1.0 :w 614400.0) + :bot-plane (new 'static 'plane :y 1.0 :w -102400.0) + :top-plane (new 'static 'plane :y 1.0 :w -143360.0) :fade-dist 819200.0 ) ) @@ -100,13 +93,11 @@ (defstate ogreboss-missile-idle (ogreboss-missile) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'collide-tri-result)) @@ -147,13 +138,11 @@ (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior ogreboss-missile) transform-post) + :post (the-as (function none :behavior ogreboss-missile) transform-post) ) (defstate ogreboss-missile-seek (ogreboss-missile) - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'collide-tri-result)) @@ -197,8 +186,7 @@ (cleanup-for-death self) (none) ) - :post - (behavior () + :post (behavior () (quaternion*! (-> self root-override quat) (-> self root-override quat) (-> self tumble-quat)) (transform-post) (none) @@ -208,26 +196,19 @@ (defun ogreboss-rock-explosion-effect ((arg0 basic)) (with-pp (sound-play-by-name (static-sound-name "ogre-explode") (new-sound-id) 1024 0 0 1 (the-as symbol arg0)) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 471) -1 #f #f #f arg0) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 471) + -1 + #f + #f + #f + arg0 + :to *entity-pool* ) (activate! *camera-smush-control* (the-as float 819.2) 37 600 (the-as float 1.0) (the-as float 0.995)) - (let* ((s4-1 (get-process *default-dead-pool* manipy #x4000)) - (gp-2 (when s4-1 - (let ((t9-7 (method-of-type manipy activate))) - (t9-7 (the-as manipy s4-1) pp 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 manipy-init arg0 (-> pp entity) *ogreboss-shoot-boulder-break-sg* #f) - (-> s4-1 ppointer) - ) - ) - ) + (let ((gp-2 (manipy-spawn arg0 (-> pp entity) *ogreboss-shoot-boulder-break-sg* #f :to pp))) (quaternion-axis-angle! (-> (the-as manipy (-> gp-2 0)) root quat) (the-as float 0.0) @@ -253,25 +234,14 @@ ) (defstate ogreboss-missile-impact (ogreboss-missile) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touched) (cond (#f (cond ((= (-> arg0 type) target) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'attack) - (set! (-> a1-1 param 0) (-> arg3 param 0)) - (let ((a0-3 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-3 mode) 'explode) - (set! (-> a1-1 param 1) (the-as uint a0-3)) - ) - (send-event-function arg0 a1-1) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'explode)))) ) (else (let ((a1-2 (new 'stack-no-clear 'event-message-block))) @@ -332,17 +302,7 @@ (the-as rgba (new 'static 'rgba :g #xff :a #x80)) ) (when (>= f30-0 0.0) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'attack) - (set! (-> a1-7 param 0) (-> arg3 param 0)) - (let ((a0-16 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-16 mode) 'damage) - (set! (-> a1-7 param 1) (the-as uint a0-16)) - ) - (send-event-function arg0 a1-7) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'damage)))) (send-event (ppointer->process (-> self parent-override)) 'victory) ) ) @@ -361,8 +321,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask enemy projectile)) (ogreboss-rock-explosion-effect (the-as basic (-> self root-override trans))) (when (nonzero? (-> self pickup-type)) @@ -398,8 +357,7 @@ (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior ogreboss-missile) ja-post) + :post (the-as (function none :behavior ogreboss-missile) ja-post) ) (deftype ogreboss-missile-init-data (structure) @@ -520,17 +478,7 @@ (the-as uint 1) ) ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (let ((a0-4 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-4 mode) 'ogreboss-super-boulder) - (set! (-> a1-2 param 1) (the-as uint a0-4)) - ) - (send-event-function arg0 a1-2) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'ogreboss-super-boulder)))) (go ogreboss-super-boulder-killed-player) ) ) @@ -562,8 +510,7 @@ ) (defstate ogreboss-super-boulder-idle (ogreboss-super-boulder) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('speedup) (let ((f0-1 (* 1.3 (-> self speed)))) @@ -588,13 +535,11 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self sound-id)) (none) ) - :code - (behavior () + :code (behavior () (ja :group! ogreboss-super-boulder-idle-ja :num! min) (set! (-> self joint enable) #t) (set! (-> self joint blend) 1.0) @@ -634,8 +579,7 @@ ) (none) ) - :post - (the-as (function none :behavior ogreboss-super-boulder) transform-post) + :post (the-as (function none :behavior ogreboss-super-boulder) transform-post) ) (defbehavior ogreboss-super-boulder-impact-effect ogreboss-super-boulder () @@ -649,14 +593,16 @@ (the-as symbol (-> self draw origin)) ) (activate! *camera-smush-control* (the-as float 819.2) 37 600 (the-as float 1.0) (the-as float 0.995)) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 471) -1 #f #f #f (-> self draw origin)) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 471) + -1 + #f + #f + #f + (-> self draw origin) + :to *entity-pool* ) 0 (none) @@ -682,10 +628,8 @@ ) (defstate ogreboss-super-boulder-throw (ogreboss-super-boulder) - :event - ogreboss-super-boulder-event-handler - :code - (behavior () + :event ogreboss-super-boulder-event-handler + :code (behavior () (set! (-> self hit-boss) #f) (set! (-> self src-pos quad) (-> self root-override trans quad)) (ja-no-eval :group! ogreboss-super-boulder-throw-ja :num! (seek!) :frame-num 0.0) @@ -706,29 +650,23 @@ (go ogreboss-super-boulder-land) (none) ) - :post - (the-as (function none :behavior ogreboss-super-boulder) transform-post) + :post (the-as (function none :behavior ogreboss-super-boulder) transform-post) ) (defstate ogreboss-super-boulder-hit (ogreboss-super-boulder) - :event - ogreboss-super-boulder-event-handler - :code - (behavior () + :event ogreboss-super-boulder-event-handler + :code (behavior () (set! (-> self hit-boss) #t) (ogreboss-super-boulder-play-hit-anim) (go ogreboss-super-boulder-land) (none) ) - :post - (the-as (function none :behavior ogreboss-super-boulder) transform-post) + :post (the-as (function none :behavior ogreboss-super-boulder) transform-post) ) (defstate ogreboss-super-boulder-die (ogreboss-super-boulder) - :event - ogreboss-super-boulder-event-handler - :code - (behavior () + :event ogreboss-super-boulder-event-handler + :code (behavior () (ogreboss-super-boulder-play-hit-anim) (ogreboss-rock-explosion-effect (the-as basic (-> self draw origin))) (ogreboss-rock-explosion-effect (the-as basic (-> self draw origin))) @@ -739,15 +677,12 @@ (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior ogreboss-super-boulder) transform-post) + :post (the-as (function none :behavior ogreboss-super-boulder) transform-post) ) (defstate ogreboss-super-boulder-land (ogreboss-super-boulder) - :event - ogreboss-super-boulder-event-handler - :code - (behavior () + :event ogreboss-super-boulder-event-handler + :code (behavior () (set! (-> self root-override trans quad) (-> self orig-pos quad)) (ogreboss-super-boulder-impact-effect) (set! (-> self joint enable) #f) @@ -768,8 +703,7 @@ (go ogreboss-super-boulder-roll) (none) ) - :post - (behavior () + :post (behavior () (transform-post) 0 (none) @@ -777,10 +711,8 @@ ) (defstate ogreboss-super-boulder-roll (ogreboss-super-boulder) - :event - ogreboss-super-boulder-event-handler - :code - (behavior () + :event ogreboss-super-boulder-event-handler + :code (behavior () (ogreboss-super-boulder-impact-effect) (ja-no-eval :group! ogreboss-super-boulder-roll-ja :num! (seek! (ja-aframe (the-as float 162.0) 0)) @@ -844,8 +776,7 @@ (cleanup-for-death self) (none) ) - :post - (behavior () + :post (behavior () (transform-post) 0 (none) @@ -866,8 +797,7 @@ ) (defstate ogreboss-super-boulder-killed-player (ogreboss-super-boulder) - :code - (behavior () + :code (behavior () (clear-collide-with-as (-> self root-override)) (ja-post) (loop @@ -962,10 +892,8 @@ ) (defstate ogreboss-bounce-boulder-idle (ogreboss-bounce-boulder) - :event - ogreboss-bounce-boulder-event-handler - :code - (behavior () + :event ogreboss-bounce-boulder-event-handler + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((f30-0 2.0)) (ja-no-eval :group! ogreboss-bounce-boulder-idle-ja @@ -994,8 +922,7 @@ (cleanup-for-death self) (none) ) - :post - (behavior () + :post (behavior () (vector+*! (-> self root-override trans) (-> self src-pos) (-> self side-dir) (-> self side-pos)) (transform-post) (find-ground-and-draw-shadow @@ -1204,20 +1131,9 @@ ) (defstate ogreboss-idle (ogreboss) - :enter - (behavior () + :enter (behavior () (when (zero? (-> self try-count)) - (let* ((s5-0 (get-process *default-dead-pool* manipy #x4000)) - (gp-0 - (when s5-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> self root-override trans) (-> self entity) *ogreboss-column-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) + (let ((gp-0 (manipy-spawn (-> self root-override trans) (-> self entity) *ogreboss-column-sg* #f :to self))) (set! (-> self column) (ppointer->handle gp-0)) (send-event (ppointer->process gp-0) 'anim-mode 'loop) (send-event (ppointer->process gp-0) 'art-joint-anim "ogreboss-column-idle" 0) @@ -1226,8 +1142,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (try-preload-stream *art-control* "$GAMCAM23" 0 self (the-as float -99.0)) (when *target* (let ((gp-0 (-> *target* control trans))) @@ -1241,19 +1156,16 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ogreboss-reset-camera) (ogreboss-idle-loop) (none) ) - :post - (the-as (function none :behavior ogreboss) ja-post) + :post (the-as (function none :behavior ogreboss) ja-post) ) (defstate ogreboss-intro (ogreboss) - :code - (behavior () + :code (behavior () (when (zero? (-> self try-count)) (process-drawable-delay-player (seconds 1)) (let ((gp-0 (get-process *default-dead-pool* pov-camera #x4000))) @@ -1291,13 +1203,11 @@ (go ogreboss-wait-for-player) (none) ) - :post - (the-as (function none :behavior ogreboss) ja-post) + :post (the-as (function none :behavior ogreboss) ja-post) ) (defstate ogreboss-wait-for-player (ogreboss) - :trans - (behavior () + :trans (behavior () (when *target* (if (ogreboss-player-inside-range? (the-as float 614400.0)) (go ogreboss-stage1) @@ -1308,13 +1218,11 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ogreboss-idle-loop) (none) ) - :post - (the-as (function none :behavior ogreboss) ja-post) + :post (the-as (function none :behavior ogreboss) ja-post) ) (defun ogreboss-debug-adjust-difficulty () @@ -1398,24 +1306,18 @@ 1 (the-as symbol (-> self root-override trans)) ) - (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-2 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-2) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 part-tracker-init (-> *part-group-id-table* 470) -1 #f #f #f (-> gp-0 src)) - (-> s5-2 ppointer) - ) - ) - (let ((s5-3 (get-process *default-dead-pool* ogreboss-missile #x4000))) - (when s5-3 - (let ((t9-8 (method-of-type ogreboss-missile activate))) - (t9-8 (the-as ogreboss-missile s5-3) self 'ogreboss-missile (the-as pointer #x70004000)) - ) - (run-now-in-process s5-3 ogreboss-missile-init-by-other gp-0 (-> self entity)) - (-> s5-3 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 470) + -1 + #f + #f + #f + (-> gp-0 src) + :to *entity-pool* ) + (process-spawn ogreboss-missile gp-0 (-> self entity) :to self) ) 0 (none) @@ -1572,8 +1474,7 @@ ) (defstate ogreboss-stage1 (ogreboss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('next-stage) (set! (-> self bridge-assembled) #t) @@ -1581,13 +1482,11 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (-> self bridge-assembled) (ogreboss-player-inside-range? (the-as float 524288.0)) (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) @@ -1596,8 +1495,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self mask) (logior (process-mask enemy) (-> self mask))) (ogreboss-set-stage1-camera) (ogreboss-move-near (seconds 3) (the-as float 1.0)) @@ -1685,8 +1583,7 @@ (go ogreboss-stage1) (none) ) - :post - ogreboss-post + :post ogreboss-post ) (defbehavior ogreboss-roll-boulder ogreboss () @@ -1706,37 +1603,13 @@ (let ((v1-7 (-> self roll-boulder))) (cond ((zero? v1-7) - (let ((gp-2 (get-process *default-dead-pool* ogreboss-bounce-boulder #x4000))) - (when gp-2 - (let ((t9-4 (method-of-type ogreboss-bounce-boulder activate))) - (t9-4 (the-as ogreboss-bounce-boulder gp-2) self 'ogreboss-bounce-boulder (the-as pointer #x70004000)) - ) - (run-now-in-process gp-2 ogreboss-bounce-boulder-init-by-other 2 (-> self entity)) - (-> gp-2 ppointer) - ) - ) + (process-spawn ogreboss-bounce-boulder 2 (-> self entity) :to self) ) ((= v1-7 1) - (let ((gp-3 (get-process *default-dead-pool* ogreboss-bounce-boulder #x4000))) - (when gp-3 - (let ((t9-7 (method-of-type ogreboss-bounce-boulder activate))) - (t9-7 (the-as ogreboss-bounce-boulder gp-3) self 'ogreboss-bounce-boulder (the-as pointer #x70004000)) - ) - (run-now-in-process gp-3 ogreboss-bounce-boulder-init-by-other 1 (-> self entity)) - (-> gp-3 ppointer) - ) - ) + (process-spawn ogreboss-bounce-boulder 1 (-> self entity) :to self) ) (else - (let ((gp-4 (get-process *default-dead-pool* ogreboss-bounce-boulder #x4000))) - (when gp-4 - (let ((t9-10 (method-of-type ogreboss-bounce-boulder activate))) - (t9-10 (the-as ogreboss-bounce-boulder gp-4) self 'ogreboss-bounce-boulder (the-as pointer #x70004000)) - ) - (run-now-in-process gp-4 ogreboss-bounce-boulder-init-by-other 0 (-> self entity)) - (-> gp-4 ppointer) - ) - ) + (process-spawn ogreboss-bounce-boulder 0 (-> self entity) :to self) ) ) ) @@ -1854,20 +1727,16 @@ ) (defstate ogreboss-stage2 (ogreboss) - :event - ogreboss-attack-event-handler - :enter - (behavior () + :event ogreboss-attack-event-handler + :enter (behavior () (set! (-> self boulder) (the-as handle #f)) (none) ) - :trans - (behavior () + :trans (behavior () 0 (none) ) - :code - (behavior () + :code (behavior () (ogreboss-set-stage2-camera) (ogreboss-move-far (seconds 0.1) (the-as float 2.0)) (let ((f30-0 (* 0.75 (-> self difficulty)))) @@ -1907,39 +1776,22 @@ (go ogreboss-stage3-shuffle) (none) ) - :post - ogreboss-post + :post ogreboss-post ) (defbehavior ogreboss-spawn-super-boulder ogreboss () - (let ((gp-0 (get-process *default-dead-pool* ogreboss-super-boulder #x4000))) - (set! (-> self boulder) - (ppointer->handle - (when gp-0 - (let ((t9-1 (method-of-type ogreboss-super-boulder activate))) - (t9-1 (the-as ogreboss-super-boulder gp-0) self 'ogreboss-super-boulder (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - ogreboss-super-boulder-init-by-other - (-> self far-pos) - (-> self grow-time) - (-> self entity) - ) - (-> gp-0 ppointer) - ) - ) + (set! (-> self boulder) + (ppointer->handle + (process-spawn ogreboss-super-boulder (-> self far-pos) (-> self grow-time) (-> self entity) :to self) ) - ) + ) 0 (none) ) (defstate ogreboss-stage3-shuffle (ogreboss) - :event - ogreboss-attack-event-handler - :enter - (behavior () + :event ogreboss-attack-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self hit-count) 0) (set! (-> self max-hit-count) (the int (* 6.0 (-> self difficulty)))) @@ -1947,14 +1799,12 @@ (set! (-> self boulder) (the-as handle #f)) (none) ) - :exit - (behavior () + :exit (behavior () (send-event *camera* 'point-of-interest #f) (set! (-> self vulnerable) #f) (none) ) - :trans - (behavior () + :trans (behavior () (let ((v1-1 (handle->process (-> self boulder)))) (if (and v1-1 (>= (-> (the-as ogreboss-super-boulder v1-1) size) 1.0)) (go ogreboss-stage3-throw) @@ -1969,8 +1819,7 @@ 0 (none) ) - :code - (behavior () + :code (behavior () (set! (-> self shuffle-pos) 0.0) (let ((f30-0 (+ 1.0 (* 0.25 (-> self difficulty) (-> self level)))) (gp-0 (if (rand-vu-percent? (the-as float 0.5)) @@ -2057,8 +1906,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (vector+*! (-> self root-override trans) (-> self far-pos) (-> self side-dir) (-> self shuffle-pos)) (ogreboss-post) (none) @@ -2066,8 +1914,7 @@ ) (defstate ogreboss-stage3-throw (ogreboss) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (send-event (handle->process (-> self boulder)) 'go-throw) (ja-no-eval :group! ogreboss-attack3-throw-ja :num! (seek!) :frame-num 0.0) @@ -2089,13 +1936,11 @@ (go ogreboss-stage1) (none) ) - :post - (the-as (function none :behavior ogreboss) transform-post) + :post (the-as (function none :behavior ogreboss) transform-post) ) (defstate ogreboss-stage3-hit (ogreboss) - :code - (behavior () + :code (behavior () (set! (-> self level) (+ 1.0 (-> self level))) (if (< 2.0 (-> self level)) (go ogreboss-die) @@ -2115,8 +1960,7 @@ (go ogreboss-stage1) (none) ) - :post - (the-as (function none :behavior ogreboss) transform-post) + :post (the-as (function none :behavior ogreboss) transform-post) ) (defbehavior ogreboss-trigger-steps ogreboss () @@ -2146,8 +1990,7 @@ ) (defstate ogreboss-die (ogreboss) - :code - (behavior () + :code (behavior () (ogreboss-reset-camera) (send-event (handle->process (-> self boulder)) 'go-die) (ja-channel-push! 1 (seconds 0.2)) @@ -2164,13 +2007,11 @@ ) (defstate ogreboss-dead (ogreboss) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior ogreboss) process-drawable-fuel-cell-handler ) - :code - (behavior () + :code (behavior () (clear-pending-settings-from-process *setting-control* self 'music) (ogreboss-reset-camera) (let ((gp-0 (new 'stack-no-clear 'event-message-block))) diff --git a/goal_src/levels/racer_common/racer-part.gc b/goal_src/levels/racer_common/racer-part.gc index ddae382680..3735fa77ea 100644 --- a/goal_src/levels/racer_common/racer-part.gc +++ b/goal_src/levels/racer_common/racer-part.gc @@ -53,29 +53,25 @@ :id 108 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 740 :flags (launch-asap))) + :parts ((sp-item 740 :flags (launch-asap))) ) (defpartgroup group-part-hud-racer-speed :id 109 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 741 :flags (launch-asap))) + :parts ((sp-item 741 :flags (launch-asap))) ) (defpartgroup group-part-hud-racer-speed-front :id 110 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 1999 :flags (launch-asap))) + :parts ((sp-item 1999 :flags (launch-asap))) ) (defpart 741 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x45f)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x45f)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3)) (sp-int spt-rot-x 4) @@ -90,8 +86,7 @@ ) (defpart 740 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x45f)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x45f)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-int spt-rot-x 4) @@ -108,8 +103,7 @@ ) (defpart 1999 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x45f)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x45f)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.8)) (sp-int spt-rot-x 4) @@ -202,37 +196,32 @@ :id 111 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 737 :flags (launch-asap))) + :parts ((sp-item 737 :flags (launch-asap))) ) (defpartgroup group-part-hud-racer-heat-dial :id 112 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 738 :flags (launch-asap))) + :parts ((sp-item 738 :flags (launch-asap))) ) (defpartgroup group-part-hud-racer-heat :id 113 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 739 :flags (launch-asap))) + :parts ((sp-item 739 :flags (launch-asap))) ) (defpartgroup group-part-hud-racer-heat-slice :id 114 :flags (use-local-clock screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 2010 :flags (launch-asap)) (sp-item 2011 :flags (launch-asap)) (sp-item 2012 :flags (launch-asap))) + :parts ((sp-item 2010 :flags (launch-asap)) (sp-item 2011 :flags (launch-asap)) (sp-item 2012 :flags (launch-asap))) ) (defpart 739 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x45f)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x45f)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3)) (sp-int spt-rot-x 4) @@ -247,8 +236,7 @@ ) (defpart 737 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x45f)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x45f)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3.5)) (sp-int spt-rot-x 4) @@ -263,8 +251,7 @@ ) (defpart 738 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x45f)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x45f)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.9)) (sp-int spt-rot-x 4) @@ -280,8 +267,7 @@ ) (defpart 2010 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2)) (sp-copy-from-other spt-scale-y -4) @@ -296,8 +282,7 @@ ) (defpart 2011 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2)) (sp-copy-from-other spt-scale-y -4) @@ -312,8 +297,7 @@ ) (defpart 2012 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2)) (sp-copy-from-other spt-scale-y -4) @@ -515,16 +499,14 @@ (defpartgroup group-racer-trans-pad :id 115 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 742 :fade-after (meters 160)) + :parts ((sp-item 742 :fade-after (meters 160)) (sp-item 743 :fade-after (meters 160)) (sp-item 744 :fade-after (meters 60) :falloff-to (meters 60) :flags (is-3d)) ) ) (defpart 742 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 7)) (sp-rnd-flt spt-scale-x (meters 14) (meters 1) 1.0) @@ -539,8 +521,7 @@ ) (defpart 743 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 4)) (sp-rnd-flt spt-scale-x (meters 7) (meters 1) 1.0) @@ -556,8 +537,7 @@ ) (defpart 744 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0.75) (meters 0.1) 1.0) (sp-flt spt-scale-x (meters 0)) @@ -580,8 +560,7 @@ ) (defpart 2211 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -603,8 +582,7 @@ ) (defpart 2207 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -628,8 +606,7 @@ ) (defpart 2221 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 0.5 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.35) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -651,8 +628,7 @@ ) (defpart 2208 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -676,8 +652,7 @@ ) (defpart 2218 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -700,8 +675,7 @@ ) (defpart 2215 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -725,8 +699,7 @@ ) (defpart 2216 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -750,8 +723,7 @@ ) (defpart 2831 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -775,8 +747,7 @@ ) (defpart 2214 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -800,8 +771,7 @@ ) (defpart 2220 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.025) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -824,8 +794,7 @@ ) (defpart 2213 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -849,8 +818,7 @@ ) (defpart 2275 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) (sp-flt spt-num 0.06) (sp-flt spt-x (meters 10)) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 3) 1.0) @@ -874,8 +842,7 @@ ) (defpart 2276 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-rnd-flt spt-num 0.04 0.03 1.0) (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) (sp-rnd-flt spt-z (meters -0.2) (meters 0.4) 1.0) @@ -897,8 +864,7 @@ ) (defpart 2212 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-func spt-birth-func 'birth-func-vector-orient) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 4) (meters -0.5) 1.0) @@ -917,8 +883,7 @@ ) (defpart 2225 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) (sp-rnd-flt spt-num 4.0 16.0 1.0) (sp-flt spt-x (meters 0.9)) (sp-flt spt-y (meters 0.05)) @@ -947,8 +912,7 @@ ) (defpart 2226 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) (sp-rnd-flt spt-num 4.0 16.0 1.0) (sp-flt spt-x (meters 0.9)) (sp-flt spt-y (meters 0.05)) @@ -977,8 +941,7 @@ ) (defpart 2227 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1001,8 +964,7 @@ ) (defpart 2277 - :init-specs - ((sp-flt spt-fade-r -5.0) + :init-specs ((sp-flt spt-fade-r -5.0) (sp-flt spt-fade-g -1.6) (sp-flt spt-fade-b 1.6) (sp-flt spt-fade-a 0.0) @@ -1012,8 +974,7 @@ ) (defpart 2278 - :init-specs - ((sp-flt spt-fade-r -0.2) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-r -0.2) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334)) ) (defpartgroup group-racer-explode @@ -1022,8 +983,7 @@ :linger-duration 3000 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2279 :period 600 :length 5) + :parts ((sp-item 2279 :period 600 :length 5) (sp-item 2280 :period 600 :length 40) (sp-item 2281 :period 600 :length 20) (sp-item 2282 :period 600 :length 20) @@ -1031,8 +991,7 @@ ) (defpart 2280 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -1059,13 +1018,11 @@ ) (defpart 2283 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) ) (defpart 2282 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-flt spt-scale-x (meters 0.3)) @@ -1085,8 +1042,7 @@ ) (defpart 2279 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 24)) @@ -1102,8 +1058,7 @@ ) (defpart 2281 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) @@ -1131,8 +1086,7 @@ ) (defpart 2284 - :init-specs - ((sp-flt spt-fade-r -1.0666667) + :init-specs ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g -1.0666667) (sp-flt spt-fade-b -2.1166666) (sp-int spt-next-time 60) @@ -1141,8 +1095,7 @@ ) (defpart 2285 - :init-specs - ((sp-flt spt-fade-r -0.5688889) + :init-specs ((sp-flt spt-fade-r -0.5688889) (sp-flt spt-fade-g -0.28444445) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334) @@ -1152,13 +1105,11 @@ ) (defpart 2286 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpart 2229 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) (sp-copy-from-other spt-scale-y -4) diff --git a/goal_src/levels/racer_common/racer-states.gc b/goal_src/levels/racer_common/racer-states.gc index 83225bdc11..93219a0093 100644 --- a/goal_src/levels/racer_common/racer-states.gc +++ b/goal_src/levels/racer_common/racer-states.gc @@ -10,8 +10,7 @@ ;; DECOMP BEGINS (defstate target-racing-start (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) 'racer @@ -36,7 +35,8 @@ ) (('attack 'attack-or-shove 'attack-invinc) (let ((v1-27 (the-as attack-info (-> arg3 param 1)))) - (if (not (and (logtest? (-> v1-27 mask) 32) (or (= (-> v1-27 mode) 'burn) (= (-> v1-27 mode) 'burnup)))) + (if (not (and (logtest? (-> v1-27 mask) (attack-mask mode)) (or (= (-> v1-27 mode) 'burn) (= (-> v1-27 mode) 'burnup))) + ) (target-attacked arg2 (the-as attack-info (-> arg3 param 1)) @@ -94,8 +94,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (when (not (or (= (-> self next-state name) 'target-racing) (= (-> self next-state name) 'target-racing-jump) (= (-> self next-state name) 'target-racing-bounce) @@ -153,8 +152,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (target-exit) (set! *display-profile* #f) (set! *display-entity-errors* #f) @@ -244,20 +242,9 @@ (set! (-> self racer surface-y) (-> self control trans y)) (let ((s5-0 (-> self entity))) (set! (-> self entity) (-> self racer entity)) - (let ((s4-0 (get-process *8k-dead-pool* manipy #x4000))) - (set! (-> self manipy) - (the-as - (pointer manipy) - (when s4-0 - (let ((t9-9 (method-of-type manipy activate))) - (t9-9 (the-as manipy s4-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 manipy-init (-> self control trans) (-> self entity) *racer-sg* #f) - (-> s4-0 ppointer) - ) - ) - ) - ) + (set! (-> self manipy) + (manipy-spawn (-> self control trans) (-> self entity) *racer-sg* #f :from *8k-dead-pool* :to self) + ) (set! (-> self entity) s5-0) ) (when (-> self manipy) @@ -319,8 +306,7 @@ (go target-racing-get-on arg0) (none) ) - :post - target-post + :post target-post ) (defbehavior target-racing-smack-check target () @@ -345,21 +331,17 @@ ) (defstate target-racing (target) - :event - (-> target-racing-start event) - :enter - (behavior () + :event (-> target-racing-start event) + :enter (behavior () (set! (-> self control unknown-surface00) *racer-mods*) (none) ) - :exit - (behavior () + :exit (behavior () (target-racing-center-anim) ((-> target-racing-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (logtest? (logior (logior (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) ) @@ -403,8 +385,7 @@ (racer-buzz (+ 0.45 (* 1.7 (fabs (-> self racer slide-shift-x))))) (none) ) - :code - (behavior () + :code (behavior () (cond ((ja-group? (-> self draw art-group data 138)) (ja-no-eval :num! (seek!)) @@ -525,8 +506,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (if (= (-> self next-state name) 'target-racing) (set! (-> self racer racing-time) (-> *display* base-frame-counter)) ) @@ -536,10 +516,8 @@ ) (defstate target-racing-jump (target) - :event - (-> target-racing-start event) - :enter - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + :event (-> target-racing-start event) + :enter (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (set! (-> self racer shock-offsetv) 0.0) (sound-play-by-name (static-sound-name "zoomer-jump") (new-sound-id) 1024 0 0 1 #t) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -572,15 +550,13 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self control root-prim prim-core action) (collide-action ca-15)) (set! (-> self racer hop?) #f) ((-> target-racing-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self control unknown-float123) (fmax (-> self control unknown-float123) @@ -649,8 +625,7 @@ (racer-buzz 0.4) (none) ) - :code - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (let ((a0-1 (if (< 0.1 (-> self racer hill-value)) 'jump ) @@ -660,15 +635,12 @@ ) (none) ) - :post - (-> target-racing post) + :post (-> target-racing post) ) (defstate target-racing-bounce (target) - :event - (-> target-racing-start event) - :enter - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + :event (-> target-racing-start event) + :enter (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (logior! (-> self control root-prim prim-core action) (collide-action ca-15)) (sound-play-by-name (static-sound-name "zoomer-jump") (new-sound-id) 1024 0 0 1 #t) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -680,14 +652,12 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self control root-prim prim-core action) (collide-action ca-15)) ((-> target-racing-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self control unknown-float123) (fmax (-> self control unknown-float123) @@ -722,8 +692,7 @@ (racer-buzz 0.4) (none) ) - :code - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (target-racing-land-anim arg2) (when (not (ja-group? (-> self draw art-group data 123))) (ja-channel-push! 4 (seconds 0.1)) @@ -738,15 +707,12 @@ ) (none) ) - :post - (-> target-racing post) + :post (-> target-racing post) ) (defstate target-racing-smack (target) - :event - (-> target-racing-start event) - :enter - (behavior ((arg0 float) (arg1 symbol)) + :event (-> target-racing-start event) + :enter (behavior ((arg0 float) (arg1 symbol)) (sound-play-by-name (static-sound-name "smack-surface") (new-sound-id) 1024 0 0 1 #t) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.5)) (set! (-> self racer heavy) arg1) @@ -765,19 +731,16 @@ 0 (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self racer heavy) #f) ((-> target-racing-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self racer turn-anim-targ) 0.0) (none) ) - :code - (behavior ((arg0 float) (arg1 symbol)) + :code (behavior ((arg0 float) (arg1 symbol)) (sound-play-by-name (static-sound-name "zoomer-crash-2") (new-sound-id) 1024 0 0 1 #t) (ja-channel-push! 2 (seconds 0.05)) (ja-no-eval :group! (-> self draw art-group data 136) :num! (seek!)) @@ -793,27 +756,22 @@ (go target-racing) (none) ) - :post - (-> target-racing post) + :post (-> target-racing post) ) (defstate target-racing-falling (target) - :event - (-> target-racing-start event) - :enter - (behavior () + :event (-> target-racing-start event) + :enter (behavior () (set! (-> self control unknown-surface00) *racer-air-mods*) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self control root-prim prim-core action) (collide-action ca-15)) ((-> target-racing-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (if (logtest? (-> self control status) (cshape-moving-flags onsurf)) (go target-racing) ) @@ -824,20 +782,16 @@ ) (none) ) - :code - (behavior () + :code (behavior () (target-racing-jump-anim #f (seconds 0.1)) (none) ) - :post - (-> target-racing post) + :post (-> target-racing post) ) (defstate target-racing-hit (target) - :event - target-generic-event-handler - :enter - (behavior ((arg0 handle) (arg1 attack-info)) + :event target-generic-event-handler + :enter (behavior ((arg0 handle) (arg1 attack-info)) (let ((v1-0 (-> self attack-info))) (set! (-> v1-0 attacker) arg0) (set! (-> v1-0 mode) 'generic) @@ -862,16 +816,14 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (if (!= (-> self next-state name) 'target-racing-death) (logclear! (-> self state-flags) (state-flags sf03 sf15)) ) ((-> target-racing-start exit)) (none) ) - :code - (behavior ((arg0 handle) (arg1 attack-info)) + :code (behavior ((arg0 handle) (arg1 attack-info)) (target-timed-invulnerable (-> *TARGET-bank* hit-invulnerable-timeout) self) (when (!= (-> self attack-info mode) 'endlessfall) (dummy-10 (-> self skel effect) 'group-target-hit -1.0 -1) @@ -930,15 +882,12 @@ (go target-racing) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) (defstate target-racing-death (target) - :event - (-> target-death event) - :exit - (behavior () + :event (-> target-death event) + :exit (behavior () (logclear! (-> self state-flags) (state-flags sf15)) (send-event (ppointer->process (-> self manipy)) 'draw #t) (send-event (ppointer->process (-> self manipy)) 'anim-mode 'clone-anim) @@ -950,8 +899,7 @@ (set! (-> self racer stick-off) #f) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (local-vars (v1-154 symbol)) (set! (-> self racer stick-off) #t) (set! (-> self neck flex-blend) 0.0) @@ -963,14 +911,16 @@ (send-event (ppointer->process (-> self manipy)) 'anim-mode 'loop) (send-event (ppointer->process (-> self manipy)) 'draw #f) (sound-play-by-name (static-sound-name "zoomer-explode") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 116) -1 #f #f #f (-> self control trans)) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 116) + -1 + #f + #f + #f + (-> self control trans) + :to *entity-pool* ) (send-event (ppointer->process (-> self manipy)) @@ -992,44 +942,32 @@ (vector-normalize! (-> gp-0 fountain-rand-transv-lo) (* 12288.0 f30-0)) ) (vector+! (-> gp-0 fountain-rand-transv-lo) (-> gp-0 fountain-rand-transv-lo) (-> s5-0 0 control trans)) - (let ((s5-1 (get-process *default-dead-pool* joint-exploder #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type joint-exploder activate))) - (t9-5 (the-as joint-exploder s5-1) self 'joint-exploder (the-as pointer #x70004000)) + (process-spawn + joint-exploder + *racer-explode-sg* + 24 + gp-0 + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 3 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) ) - (run-now-in-process - s5-1 - joint-exploder-init-by-other - *racer-explode-sg* - 24 - gp-0 - (new 'static 'joint-exploder-static-params - :joints - (new - 'static - 'boxed-array - :type joint-exploder-static-joint-params :length 16 :allocated-length 16 - (new 'static 'joint-exploder-static-joint-params :joint-index 3 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) - ) - ) - ) - (-> s5-1 ppointer) ) + :to self ) ) ) @@ -1065,14 +1003,16 @@ ) (('melt) (sound-play-by-name (static-sound-name "zoomer-melt") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-5 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-5 - (let ((t9-29 (method-of-type part-tracker activate))) - (t9-29 (the-as part-tracker gp-5) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-5 part-tracker-init (-> *part-group-id-table* 32) -1 #f #f #f (-> self control trans)) - (-> gp-5 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 32) + -1 + #f + #f + #f + (-> self control trans) + :to *entity-pool* ) (clear-collide-with-as (-> self control)) (set! (-> self post-hook) target-no-ja-move-post) @@ -1149,17 +1089,13 @@ (go target-stance) (none) ) - :post - target-racing-post + :post target-racing-post ) (defstate target-racing-get-on (target) - :event - target-generic-event-handler - :exit - (-> target-racing-start exit) - :code - (behavior ((arg0 handle)) + :event target-generic-event-handler + :exit (-> target-racing-start exit) + :code (behavior ((arg0 handle)) (set! (-> self control transv quad) (the-as uint128 0)) (set! (-> self alt-cam-pos quad) (-> (&-> (-> self control) unknown-qword00) 0)) (logior! (-> self state-flags) (state-flags sf10)) @@ -1237,38 +1173,12 @@ (= (-> *target* current-level name) 'firecanyon) (= (-> *target* current-level name) 'citadel) ) - (let ((gp-3 (get-process *default-dead-pool* hud-bike-heat #x4000))) - (set! (-> *hud-parts* bike-heat) - (the-as - (pointer hud-bike-heat) - (when gp-3 - (let ((t9-23 (method-of-type hud-bike-heat activate))) - (t9-23 (the-as hud-bike-heat gp-3) self 'hud-bike-heat (the-as pointer #x70004000)) - ) - (run-now-in-process gp-3 hud-init-by-other 0) - (-> gp-3 ppointer) - ) - ) - ) - ) + (set! (-> *hud-parts* bike-heat) (process-spawn hud-bike-heat :init hud-init-by-other 0 :to self)) (set! (-> *hud-parts* buzzers 0 next-y-offset) -120) (set! (-> *hud-parts* buzzers 0 y-sgn) 0) 0 ) - (let ((gp-4 (get-process *default-dead-pool* hud-bike-speed #x4000))) - (set! (-> *hud-parts* bike-speed) - (the-as - (pointer hud-bike-speed) - (when gp-4 - (let ((t9-26 (method-of-type hud-bike-speed activate))) - (t9-26 (the-as hud-bike-speed gp-4) self 'hud-bike-speed (the-as pointer #x70004000)) - ) - (run-now-in-process gp-4 hud-init-by-other 0) - (-> gp-4 ppointer) - ) - ) - ) - ) + (set! (-> *hud-parts* bike-speed) (process-spawn hud-bike-speed :init hud-init-by-other 0 :to self)) (set! (-> *hud-parts* power 0 next-y-offset) -120) (set! (-> *hud-parts* power 0 y-sgn) 0) 0 @@ -1276,8 +1186,7 @@ (go target-racing) (none) ) - :post - (behavior () + :post (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (f30-0 (fmin 1.0 (* 0.0044444446 (the float (- (-> *display* base-frame-counter) (-> self state-time)))))) ) @@ -1327,12 +1236,9 @@ ) (defstate target-racing-get-off (target) - :event - target-generic-event-handler - :exit - (-> target-racing-start exit) - :code - (behavior ((arg0 handle)) + :event target-generic-event-handler + :exit (-> target-racing-start exit) + :code (behavior ((arg0 handle)) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *racer-mods*) (let ((a0-2 (-> *hud-parts* bike-speed))) @@ -1366,17 +1272,13 @@ (go target-racing-get-off-jump arg0) (none) ) - :post - target-racing-post + :post target-racing-post ) (defstate target-racing-get-off-jump (target) - :event - target-generic-event-handler - :exit - (-> target-racing-start exit) - :code - (behavior ((arg0 handle)) + :event target-generic-event-handler + :exit (-> target-racing-start exit) + :code (behavior ((arg0 handle)) (sound-play-by-name (static-sound-name "zoomer-stop") (new-sound-id) 1024 0 0 1 #t) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control transv quad) (the-as uint128 0)) @@ -1428,8 +1330,7 @@ (go target-racing-get-off-hit-ground #f) (none) ) - :post - (behavior () + :post (behavior () (let* ((f0-2 (deg-diff (-> self racer front-rot) (-> *RACER-bank* default-front-blade))) (f0-5 (if (< 0.0 f0-2) (fmax 5461.3335 (* 4.0 f0-2)) @@ -1506,18 +1407,14 @@ ) (defstate target-racing-get-off-hit-ground (target) - :event - target-standard-event-handler - :enter - (-> target-hit-ground enter) - :trans - (behavior () + :event target-standard-event-handler + :enter (-> target-hit-ground enter) + :trans (behavior () (logior! (-> self control status) (cshape-moving-flags onsurf onground tsurf)) ((-> target-hit-ground trans)) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-channel-set! 1) (ja-no-eval :group! (-> self draw art-group data 35) :num! (seek!) :frame-num (ja-aframe 42.0 0)) (until (ja-done? 0) @@ -1527,8 +1424,7 @@ (go target-stance) (none) ) - :post - (behavior () + :post (behavior () (hide-hud) (target-post) (none) @@ -1536,8 +1432,7 @@ ) (defstate target-racing-grab (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) (-> self state name) @@ -1557,24 +1452,21 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self control unknown-surface00) *grab-mods*) (set! (-> self neck flex-blend) 0.0) (logior! (-> self state-flags) (state-flags sf04 sf08)) (set! (-> self racer stick-off) #t) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self racer stick-off) #f) (logclear! (-> self state-flags) (state-flags sf04 sf08)) (logclear! (-> self water flags) (water-flags wt16)) ((-> target-racing-start exit)) (none) ) - :code - (behavior () + :code (behavior () (when (not (ja-group? (-> self draw art-group data 123))) (ja-channel-push! 4 (seconds 0.1)) (ja :group! (-> self draw art-group data 123) :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) @@ -1589,22 +1481,18 @@ ) (none) ) - :post - target-racing-post + :post target-racing-post ) (defstate target-racing-clone-anim (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (= arg2 'trans) (= (-> arg3 param 0) 'restore)) (set! (-> self control unknown-uint20) (the-as uint #f)) ) ((-> target-racing-grab event) arg0 arg1 arg2 arg3) ) - :enter - (-> target-clone-anim enter) - :exit - (behavior () + :enter (-> target-clone-anim enter) + :exit (behavior () (set! (-> self control unknown-vector11 y) (the-as float (-> self control unknown-uint20))) (set! (-> self control unknown-vector12 y) (-> self control unknown-vector11 y)) (send-event (ppointer->process (-> self sidekick)) 'matrix #f) @@ -1613,8 +1501,7 @@ (vector-reset! (-> self control transv)) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (set! (-> self control unknown-uint20) (the-as uint (-> self control unknown-vector11 y))) (set! (-> self control unknown-vector11 y) 0.0) (send-event (ppointer->process (-> self sidekick)) 'matrix 'play-anim) @@ -1622,8 +1509,7 @@ (go target-racing) (none) ) - :post - (behavior () + :post (behavior () (racer-sounds) (seek! (-> self racer heat) 0.0 (* (-> *RACER-bank* surface-heat-inc) (-> *display* seconds-per-frame))) (vector+! (-> self racer bike-trans) (-> self control trans) (-> self control unknown-vector12)) diff --git a/goal_src/levels/racer_common/racer.gc b/goal_src/levels/racer_common/racer.gc index a24bf1860c..652bc72508 100644 --- a/goal_src/levels/racer_common/racer.gc +++ b/goal_src/levels/racer_common/racer.gc @@ -9,6 +9,7 @@ (define-extern blocking-plane-spawn (function curve-control none)) ;; DECOMP BEGINS + (import "goal_src/import/racer-ag.gc") (if (not (nmember "racerp" *kernel-packages*)) @@ -63,10 +64,8 @@ (define *racer-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #xa)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 614400.0) + :center (new 'static 'vector :w (the-as float #xa)) + :shadow-dir (new 'static 'vector :y -1.0 :w 614400.0) :bot-plane (new 'static 'plane :y 1.0 :w 81920.0) :top-plane (new 'static 'plane :y 1.0 :w 2048.0) ) @@ -84,8 +83,7 @@ (defstate wait-for-start (racer) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-1 structure)) (let ((v1-0 arg2)) (the-as @@ -116,15 +114,13 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (set! (-> self root-override root-prim prim-core action) (collide-action)) (set! (-> self root-override root-prim prim-core offense) (collide-offense no-offense)) 0 (none) ) - :code - (behavior () + :code (behavior () (label cfg-0) (case (-> self condition) ((2) @@ -214,18 +210,14 @@ (defstate idle (racer) :virtual #t - :event - (-> (method-of-type racer wait-for-start) event) - :enter - (behavior () + :event (-> (method-of-type racer wait-for-start) event) + :enter (behavior () (blocking-plane-destroy) (blocking-plane-spawn (-> self path-target)) (none) ) - :exit - (-> (method-of-type racer wait-for-start) exit) - :code - (behavior () + :exit (-> (method-of-type racer wait-for-start) exit) + :code (behavior () (ja-channel-set! 1) (ja :group! (-> self draw art-group data 3)) (set! (-> self root-override root-prim prim-core action) (collide-action solid ca-11)) @@ -272,14 +264,12 @@ ) (none) ) - :post - (the-as (function none :behavior racer) ja-post) + :post (the-as (function none :behavior racer) ja-post) ) (defstate pickup (racer) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('draw) (ja-channel-set! 1) @@ -310,13 +300,11 @@ ) ) ) - :enter - (behavior ((arg0 (state collectable))) + :enter (behavior ((arg0 (state collectable))) ((the-as (function none :behavior racer) (-> arg0 enter))) (none) ) - :code - (behavior ((arg0 (state collectable))) + :code (behavior ((arg0 (state collectable))) (ja-channel-set! 0) (ja-post) (while (zero? (ja-group-size)) @@ -359,8 +347,7 @@ (defstate wait-for-return (racer) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (or (= arg2 'touch) (= arg2 'attack)) (and (!= (-> self condition) 4) (send-event *target* 'end-mode))) (go-virtual pickup (the-as (state collectable) (method-of-object self idle))) ) @@ -387,14 +374,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (blocking-plane-destroy) (blocking-plane-spawn (the-as curve-control (-> self path-racer))) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (ja-post) (loop diff --git a/goal_src/levels/racer_common/target-racer-h.gc b/goal_src/levels/racer_common/target-racer-h.gc index ae35d770f4..ac26e85fcb 100644 --- a/goal_src/levels/racer_common/target-racer-h.gc +++ b/goal_src/levels/racer_common/target-racer-h.gc @@ -16,6 +16,7 @@ (define-extern *racer-air-mods* surface) ;; DECOMP BEGINS + (import "goal_src/import/balloon-ag.gc") (deftype racer-info (basic) diff --git a/goal_src/levels/racer_common/target-racer.gc b/goal_src/levels/racer_common/target-racer.gc index 33d2e89db4..c35a5e9e4d 100644 --- a/goal_src/levels/racer_common/target-racer.gc +++ b/goal_src/levels/racer_common/target-racer.gc @@ -435,14 +435,16 @@ ((< (-> self racer shock-offset) -8192.0) (set! (-> self racer shock-offset) -8192.0) (set! (-> self racer shock-offsetv) 0.0) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker s5-0) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 13) -1 #f #f #f (-> self control trans)) - (-> s5-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 13) + -1 + #f + #f + #f + (-> self control trans) + :to self ) (dummy-10 (-> self skel effect) 'effect-land -1.0 -1) ) @@ -609,17 +611,7 @@ ) ) ((>= (- (-> *display* base-frame-counter) (-> self racer unstuck-time)) (seconds 5)) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'attack) - (set! (-> a1-6 param 0) (the-as uint #f)) - (let ((a0-12 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-12 mode) 'heat) - (set! (-> a1-6 param 1) (the-as uint a0-12)) - ) - (send-event-function self a1-6) - ) + (send-event self 'attack #f (static-attack-info ((mode 'heat)))) ) ((and (>= (- (-> *display* base-frame-counter) (-> self racer unstuck-time)) (seconds 3)) (>= (- (-> *display* base-frame-counter) (-> self racer heat-sound-time)) (seconds 1)) @@ -827,25 +819,18 @@ (set! (-> gp-6 y) 0.0) (vector-normalize! gp-6 (-> *RACER-bank* yellow-projectile-speed)) (vector+! gp-6 gp-6 (-> self control transv)) - (let ((s4-3 (get-process *default-dead-pool* projectile-yellow #x4000))) - (when s4-3 - (let ((t9-22 (method-of-type projectile-yellow activate))) - (t9-22 (the-as projectile-yellow s4-3) self 'projectile-yellow (the-as pointer #x70004000)) + (process-spawn + projectile-yellow + :init projectile-init-by-other + (-> self entity) + s5-4 + gp-6 + (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) + 152 + 136 ) - (run-now-in-process - s4-3 - projectile-init-by-other - (-> self entity) - s5-4 - gp-6 - (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) - 152 - 136 - ) - #f - ) - (-> s4-3 ppointer) - ) + #f + :to self ) ) (set! (-> self control unknown-dword82) (-> *display* base-frame-counter)) @@ -892,19 +877,9 @@ ) ) ) - (when (and (>= (-> self racer heat) (-> *RACER-bank* heat-max)) (= (-> self game mode) 'play)) - (let ((a1-43 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-43 from) self) - (set! (-> a1-43 num-params) 2) - (set! (-> a1-43 message) 'attack) - (set! (-> a1-43 param 0) (the-as uint #f)) - (let ((a0-68 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-68 mode) 'heat) - (set! (-> a1-43 param 1) (the-as uint a0-68)) - ) - (send-event-function self a1-43) + (if (and (>= (-> self racer heat) (-> *RACER-bank* heat-max)) (= (-> self game mode) 'play)) + (send-event self 'attack #f (static-attack-info ((mode 'heat)))) ) - ) (if (and *cheat-mode* *debug-segment* (cpad-pressed? 0 l2)) (send-event self 'boost 1.0) ) @@ -1153,8 +1128,7 @@ ) (ja :chan 3 :num! (chan 0) - :frame-interp - (* (-> self racer slide-interp) (+ 0.5 (* 0.025 (-> self racer tail-anim-frame)))) + :frame-interp (* (-> self racer slide-interp) (+ 0.5 (* 0.025 (-> self racer tail-anim-frame)))) ) 0 (none) diff --git a/goal_src/levels/robocave/cave-trap.gc b/goal_src/levels/robocave/cave-trap.gc index a585e1cc39..8dfa5f593b 100644 --- a/goal_src/levels/robocave/cave-trap.gc +++ b/goal_src/levels/robocave/cave-trap.gc @@ -46,8 +46,7 @@ (defstate spider-vent-idle (spider-vent) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) (case arg2 (('can-spawn?) @@ -61,8 +60,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 @@ -116,68 +114,61 @@ (defmethod TODO-RENAME-20 cave-trap ((obj cave-trap)) - (with-pp - (set! (-> obj last-spawn-time) (-> *display* base-frame-counter)) - (set! (-> obj spawn-delay) (rand-vu-int-range (seconds 0.1) (seconds 0.5))) - (let ((s5-0 (new 'stack-no-clear 'spawn-baby-spider-work))) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (dotimes (v1-2 4) - (set! (-> s5-0 best v1-2 index) -1) - ) - (set! (-> s4-0 quad) (-> (matrix-local->world #f #f) vector 2 quad)) - (set! (-> s4-0 y) 0.0) - (vector-normalize! s4-0 102400.0) - (vector+! s4-0 s4-0 (camera-pos)) - (set! (-> s4-0 y) (-> (target-pos 0) y)) - (dotimes (s3-2 (-> obj alt-actors length)) - (let* ((v1-10 (-> obj alt-actors s3-2)) - (s1-0 (if v1-10 - (-> v1-10 extra process) - ) - ) - (s2-2 (if (and (nonzero? s1-0) (type-type? (-> s1-0 type) process-drawable)) - s1-0 - ) - ) - ) - (when s2-2 - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) pp) - (set! (-> a1-6 num-params) 0) - (set! (-> a1-6 message) 'can-spawn?) - (when (send-event-function s2-2 a1-6) - (let ((f30-0 (vector-vector-distance s4-0 (-> (the-as process-drawable s2-2) root trans))) - (a0-12 (new 'stack-no-clear 'sphere)) - ) - (let ((v1-16 (-> s5-0 best 3))) - (when (or (< (-> v1-16 index) 0) (< f30-0 (-> v1-16 dist))) - (set! (-> v1-16 index) s3-2) - (set! (-> v1-16 dist) f30-0) + (set! (-> obj last-spawn-time) (-> *display* base-frame-counter)) + (set! (-> obj spawn-delay) (rand-vu-int-range (seconds 0.1) (seconds 0.5))) + (let ((s5-0 (new 'stack-no-clear 'spawn-baby-spider-work))) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (dotimes (v1-2 4) + (set! (-> s5-0 best v1-2 index) -1) + ) + (set! (-> s4-0 quad) (-> (matrix-local->world #f #f) vector 2 quad)) + (set! (-> s4-0 y) 0.0) + (vector-normalize! s4-0 102400.0) + (vector+! s4-0 s4-0 (camera-pos)) + (set! (-> s4-0 y) (-> (target-pos 0) y)) + (dotimes (s3-2 (-> obj alt-actors length)) + (let* ((v1-10 (-> obj alt-actors s3-2)) + (s1-0 (if v1-10 + (-> v1-10 extra process) + ) + ) + (s2-2 (if (and (nonzero? s1-0) (type-type? (-> s1-0 type) process-drawable)) + s1-0 + ) + ) + ) + (when s2-2 + (when (send-event s2-2 'can-spawn?) + (let ((f30-0 (vector-vector-distance s4-0 (-> (the-as process-drawable s2-2) root trans))) + (a0-12 (new 'stack-no-clear 'sphere)) + ) + (let ((v1-16 (-> s5-0 best 3))) + (when (or (< (-> v1-16 index) 0) (< f30-0 (-> v1-16 dist))) + (set! (-> v1-16 index) s3-2) + (set! (-> v1-16 dist) f30-0) + ) + ) + (set! (-> a0-12 quad) (-> (the-as process-drawable s2-2) root trans quad)) + (set! (-> a0-12 w) 4096.0) + (when (sphere-in-view-frustum? a0-12) + (let ((v1-18 (-> s5-0 best 2))) + (when (or (< (-> v1-18 index) 0) (< f30-0 (-> v1-18 dist))) + (set! (-> v1-18 index) s3-2) + (set! (-> v1-18 dist) f30-0) + ) + ) + (when (>= 40960.0 f30-0) + (let ((v1-19 (-> s5-0 best 1))) + (when (or (< (-> v1-19 index) 0) (< f30-0 (-> v1-19 dist))) + (set! (-> v1-19 index) s3-2) + (set! (-> v1-19 dist) f30-0) ) ) - (set! (-> a0-12 quad) (-> (the-as process-drawable s2-2) root trans quad)) - (set! (-> a0-12 w) 4096.0) - (when (sphere-in-view-frustum? a0-12) - (let ((v1-18 (-> s5-0 best 2))) - (when (or (< (-> v1-18 index) 0) (< f30-0 (-> v1-18 dist))) - (set! (-> v1-18 index) s3-2) - (set! (-> v1-18 dist) f30-0) - ) - ) - (when (>= 40960.0 f30-0) - (let ((v1-19 (-> s5-0 best 1))) - (when (or (< (-> v1-19 index) 0) (< f30-0 (-> v1-19 dist))) - (set! (-> v1-19 index) s3-2) - (set! (-> v1-19 dist) f30-0) - ) - ) - (when (= (-> s2-2 type) spider-egg) - (let ((v1-21 (-> s5-0 best))) - (when (or (< (-> v1-21 0 index) 0) (< f30-0 (-> v1-21 0 dist))) - (set! (-> v1-21 0 index) s3-2) - (set! (-> v1-21 0 dist) f30-0) - ) - ) + (when (= (-> s2-2 type) spider-egg) + (let ((v1-21 (-> s5-0 best))) + (when (or (< (-> v1-21 0 index) 0) (< f30-0 (-> v1-21 0 dist))) + (set! (-> v1-21 0 index) s3-2) + (set! (-> v1-21 0 dist) f30-0) ) ) ) @@ -188,62 +179,44 @@ ) ) ) - (dotimes (s4-1 4) - (let ((v1-29 (-> s5-0 best s4-1 index))) - (when (>= v1-29 0) - (let* ((v1-32 (-> obj alt-actors v1-29)) - (s2-3 (if v1-32 - (-> v1-32 extra process) - ) - ) - (s3-3 (if (and (nonzero? s2-3) (type-type? (-> s2-3 type) process-drawable)) - s2-3 - ) - ) - (s2-4 (new 'stack-no-clear 'vector)) - (s1-1 (new 'stack-no-clear 'baby-spider-spawn-params)) - ) - (vector-! s2-4 (target-pos 0) (-> (the-as process-drawable s3-3) root trans)) - (vector-normalize! s2-4 1.0) - (init! s1-1 (= (-> s3-3 type) spider-egg) #t #t #t 7 1 'untrigger) - (let* ((s0-2 (get-process *default-dead-pool* baby-spider #x4000)) - (v1-40 (when s0-2 - (let ((t9-14 (method-of-type baby-spider activate))) - (t9-14 (the-as baby-spider s0-2) obj 'baby-spider (the-as pointer #x70004000)) - ) - (run-now-in-process - s0-2 - baby-spider-init-by-other - obj - (-> (the-as process-drawable s3-3) root trans) - s2-4 - s1-1 - ) - (-> s0-2 ppointer) - ) - ) - ) - (when v1-40 - (set! (-> (the-as baby-spider (-> v1-40 0)) die-if-not-visible?) #t) - (+! (-> obj spider-count) 1) - (send-event s3-3 'notify-spawned) - (return #f) - ) + ) + (dotimes (s4-1 4) + (let ((v1-29 (-> s5-0 best s4-1 index))) + (when (>= v1-29 0) + (let* ((v1-32 (-> obj alt-actors v1-29)) + (s2-3 (if v1-32 + (-> v1-32 extra process) + ) + ) + (s3-3 (if (and (nonzero? s2-3) (type-type? (-> s2-3 type) process-drawable)) + s2-3 + ) + ) + (s2-4 (new 'stack-no-clear 'vector)) + (s1-1 (new 'stack-no-clear 'baby-spider-spawn-params)) + ) + (vector-! s2-4 (target-pos 0) (-> (the-as process-drawable s3-3) root trans)) + (vector-normalize! s2-4 1.0) + (init! s1-1 (= (-> s3-3 type) spider-egg) #t #t #t 7 1 'untrigger) + (let ((v1-40 (process-spawn baby-spider obj (-> (the-as process-drawable s3-3) root trans) s2-4 s1-1 :to obj))) + (when v1-40 + (set! (-> (the-as baby-spider (-> v1-40 0)) die-if-not-visible?) #t) + (+! (-> obj spider-count) 1) + (send-event s3-3 'notify-spawned) + (return #f) ) ) ) ) ) ) - #f ) + #f ) (defstate cave-trap-idle (cave-trap) - :event - cave-trap-default-event-handler - :trans - (behavior () + :event cave-trap-default-event-handler + :trans (behavior () (when *target* (let* ((gp-0 (target-pos 0)) (f0-0 (vector-vector-xz-distance (-> self root-override trans) (target-pos 0))) @@ -251,7 +224,7 @@ ) (when (and (>= 61440.0 f1-1) (>= f1-1 -16384.0)) (when (>= 274432.0 f0-0) - (when (or (>= 188416.0 f0-0) (send-event *target* 'query 'powerup 1)) + (when (or (>= 188416.0 f0-0) (send-event *target* 'query 'powerup (pickup-type eco-yellow))) (level-hint-spawn (game-text-id cave-trap-nest-hint) "sksp0341" @@ -268,8 +241,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 @@ -278,15 +250,12 @@ ) (defstate cave-trap-active (cave-trap) - :event - cave-trap-default-event-handler - :enter - (behavior () + :event cave-trap-default-event-handler + :enter (behavior () (set! (-> self spawn-delay) (seconds 0.5)) (none) ) - :trans - (behavior () + :trans (behavior () (cond (*target* (let* ((gp-0 (target-pos 0)) @@ -310,8 +279,7 @@ 0 (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 @@ -320,10 +288,8 @@ ) (defstate cave-trap-give-up (cave-trap) - :event - cave-trap-default-event-handler - :code - (behavior () + :event cave-trap-default-event-handler + :code (behavior () (suspend) (go cave-trap-idle) (none) diff --git a/goal_src/levels/robocave/robocave-part.gc b/goal_src/levels/robocave/robocave-part.gc index 6f13d26afa..49bff9d304 100644 --- a/goal_src/levels/robocave/robocave-part.gc +++ b/goal_src/levels/robocave/robocave-part.gc @@ -19,8 +19,7 @@ (defpartgroup group-part-robocave-torch :id 506 :bounds (static-bspherem 0 3 0 4) - :parts - ((sp-item 729 :fade-after (meters 150) :falloff-to (meters 180)) + :parts ((sp-item 729 :fade-after (meters 150) :falloff-to (meters 180)) (sp-item 730 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 731 :fade-after (meters 40) :falloff-to (meters 40) :period 600 :length 90) (sp-item 732 :fade-after (meters 40) :falloff-to (meters 40) :period 369 :length 69) @@ -30,8 +29,7 @@ ) (defpart 734 - :init-specs - ((sp-flt spt-num 0.3) + :init-specs ((sp-flt spt-num 0.3) (sp-flt spt-x (meters 0.2)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) (sp-int spt-rot-x 5) @@ -49,13 +47,11 @@ ) (defpart 735 - :init-specs - ((sp-flt spt-fade-b -6.826667)) + :init-specs ((sp-flt spt-fade-b -6.826667)) ) (defpart 729 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1068708659 1 0.5) (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) (sp-rnd-flt spt-z (meters -0.35) (meters 0.7) 1.0) @@ -77,13 +73,11 @@ ) (defpart 736 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) (defpart 731 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-flt spt-y (meters 1)) @@ -106,8 +100,7 @@ ) (defpart 732 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) (sp-flt spt-y (meters 0.5)) @@ -130,8 +123,7 @@ ) (defpart 733 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0) (sp-flt spt-y (meters 0.6)) @@ -154,8 +146,7 @@ ) (defpart 730 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.3)) diff --git a/goal_src/levels/robocave/spider-egg.gc b/goal_src/levels/robocave/spider-egg.gc index 63c58572f1..0757431b25 100644 --- a/goal_src/levels/robocave/spider-egg.gc +++ b/goal_src/levels/robocave/spider-egg.gc @@ -12,6 +12,7 @@ ;; DECOMP BEGINS + (import "goal_src/import/spider-egg-ag.gc") (deftype spider-egg (process-drawable) @@ -48,8 +49,7 @@ ) (defstate spider-egg-idle (spider-egg) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 none)) (let ((v1-0 arg2)) (the-as object (cond @@ -77,21 +77,18 @@ ) ) ) - :enter - (behavior ((arg0 symbol)) + :enter (behavior ((arg0 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) (cond (arg0 (ja-channel-set! 1) (ja-no-eval :group! spider-egg-idle-ja :num! (seek! max f30-0) - :frame-num - (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1))) + :frame-num (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1))) ) (until (ja-done? 0) (suspend) @@ -123,13 +120,11 @@ ) (none) ) - :post - (the-as (function none :behavior spider-egg) ja-post) + :post (the-as (function none :behavior spider-egg) ja-post) ) (defstate spider-egg-hatch (spider-egg) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 symbol)) (case arg2 (('can-spawn?) @@ -138,28 +133,20 @@ ) ) ) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (logclear! (-> self mask) (process-mask actor-pause)) (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 324) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 324) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (lods-assign! (-> self draw) (-> self broken-look)) (ja-channel-push! 1 (seconds 0.2)) @@ -174,13 +161,11 @@ ) (none) ) - :post - (the-as (function none :behavior spider-egg) ja-post) + :post (the-as (function none :behavior spider-egg) ja-post) ) (defstate spider-egg-die (spider-egg) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 symbol)) (case arg2 (('can-spawn?) @@ -189,8 +174,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (logclear! (-> self mask) (process-mask actor-pause)) (when (-> self notify-actor) @@ -211,23 +195,16 @@ ) ) ) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 325) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 325) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (lods-assign! (-> self draw) (-> self broken-look)) (ja-channel-push! 1 (seconds 0.1)) @@ -243,8 +220,7 @@ ) (none) ) - :post - (the-as (function none :behavior spider-egg) ja-post) + :post (the-as (function none :behavior spider-egg) ja-post) ) (defmethod init-from-entity! spider-egg ((obj spider-egg) (arg0 entity-actor)) diff --git a/goal_src/levels/rolling/rolling-lightning-mole.gc b/goal_src/levels/rolling/rolling-lightning-mole.gc index 723b4a44fe..6545e54661 100644 --- a/goal_src/levels/rolling/rolling-lightning-mole.gc +++ b/goal_src/levels/rolling/rolling-lightning-mole.gc @@ -6,6 +6,7 @@ ;; dgos: L1, ROL ;; DECOMP BEGINS + (import "goal_src/import/lightning-mole-ag.gc") (defun find-adjacent-bounds-one ((arg0 nav-mesh) (arg1 nav-poly) (arg2 int) (arg3 (array int8)) (arg4 (array int8)) (arg5 vector)) @@ -379,37 +380,28 @@ (defstate nav-enemy-patrol (fleeing-nav-enemy) :virtual #t - :enter - (-> (method-of-type nav-enemy nav-enemy-patrol) enter) - :exit - (-> (method-of-type nav-enemy nav-enemy-patrol) exit) - :trans - (behavior () + :enter (-> (method-of-type nav-enemy nav-enemy-patrol) enter) + :exit (-> (method-of-type nav-enemy nav-enemy-patrol) exit) + :trans (behavior () ((-> (method-of-type nav-enemy nav-enemy-patrol) trans)) (fleeing-nav-enemy-adjust-nav-info) (none) ) - :code - (-> (method-of-type nav-enemy nav-enemy-patrol) code) - :post - (-> (method-of-type nav-enemy nav-enemy-patrol) post) + :code (-> (method-of-type nav-enemy nav-enemy-patrol) code) + :post (-> (method-of-type nav-enemy nav-enemy-patrol) post) ) (defstate nav-enemy-notice (fleeing-nav-enemy) :virtual #t - :enter - (-> (method-of-type nav-enemy nav-enemy-notice) enter) - :trans - (behavior () + :enter (-> (method-of-type nav-enemy nav-enemy-notice) enter) + :trans (behavior () (fleeing-nav-enemy-adjust-nav-info) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 1.0 1.2))) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info notice-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -433,56 +425,44 @@ (go-virtual nav-enemy-chase) (none) ) - :post - (-> (method-of-type nav-enemy nav-enemy-notice) post) + :post (-> (method-of-type nav-enemy nav-enemy-notice) post) ) (defstate nav-enemy-chase (fleeing-nav-enemy) :virtual #t - :enter - (behavior () + :enter (behavior () (logior! (-> self nav flags) (nav-control-flags navcf12)) ((-> (method-of-type nav-enemy nav-enemy-chase) enter)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self nav flags) (nav-control-flags navcf12)) (none) ) - :trans - (behavior () + :trans (behavior () ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) (fleeing-nav-enemy-adjust-nav-info) (none) ) - :code - (-> (method-of-type nav-enemy nav-enemy-chase) code) - :post - (-> (method-of-type nav-enemy nav-enemy-chase) post) + :code (-> (method-of-type nav-enemy nav-enemy-chase) code) + :post (-> (method-of-type nav-enemy nav-enemy-chase) post) ) (defstate nav-enemy-stop-chase (fleeing-nav-enemy) :virtual #t - :enter - (-> (method-of-type nav-enemy nav-enemy-stop-chase) enter) - :trans - (behavior () + :enter (-> (method-of-type nav-enemy nav-enemy-stop-chase) enter) + :trans (behavior () ((-> (method-of-type nav-enemy nav-enemy-stop-chase) trans)) (fleeing-nav-enemy-adjust-nav-info) (none) ) - :code - (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) - :post - (-> (method-of-type nav-enemy nav-enemy-stop-chase) post) + :code (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) + :post (-> (method-of-type nav-enemy nav-enemy-stop-chase) post) ) (defstate fleeing-nav-enemy-debug (fleeing-nav-enemy) - :enter - (-> (method-of-type nav-enemy nav-enemy-chase) enter) - :code - (behavior () + :enter (-> (method-of-type nav-enemy nav-enemy-chase) enter) + :code (behavior () (let ((gp-0 (new-stack-vector0)) (s5-0 (new-stack-vector0)) ) @@ -523,8 +503,7 @@ ) (none) ) - :post - (the-as (function none :behavior fleeing-nav-enemy) nav-enemy-travel-post) + :post (the-as (function none :behavior fleeing-nav-enemy) nav-enemy-travel-post) ) (define *lightning-mole-hole* (new 'static 'vector :x -241664.0 :y 106496.0 :z -6393856.0)) @@ -567,31 +546,26 @@ (cond (sv-16 (close-specific-task! (-> self entity extra perm task) (task-status need-reminder)) - (let ((gp-0 (get-process *default-dead-pool* process #x4000))) - (when gp-0 - (let ((t9-4 (method-of-type process activate))) - (t9-4 gp-0 self 'process (the-as pointer #x70004000)) + (process-spawn-function + process + (lambda :behavior lightning-mole + () + (while (or (-> *setting-control* current ambient) + (-> *setting-control* current movie) + (-> *setting-control* current hint) + ) + (suspend) ) - (run-next-time-in-process gp-0 (lambda :behavior lightning-mole - () - (while (or (-> *setting-control* current ambient) - (-> *setting-control* current movie) - (-> *setting-control* current hint) - ) - (suspend) - ) - (level-hint-spawn - (game-text-id rolling-lightning-moles-completion) - "sksp0112" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (none) - ) - ) - (-> gp-0 ppointer) + (level-hint-spawn + (game-text-id rolling-lightning-moles-completion) + "sksp0112" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (none) ) + :to self ) (format #t "lightning-mole task is complete~%") ) @@ -622,8 +596,7 @@ ) (defstate lightning-mole-debug-blend (lightning-mole) - :trans - (behavior () + :trans (behavior () (let ((gp-0 (new-stack-vector0))) (let ((a1-0 (new-stack-vector0))) (clmf-input gp-0 a1-0 1) @@ -633,23 +606,19 @@ (set! (-> self speed-adjust) 1.0) (none) ) - :code - lightning-mole-run-code - :post - (the-as (function none :behavior lightning-mole) ja-post) + :code lightning-mole-run-code + :post (the-as (function none :behavior lightning-mole) ja-post) ) (defstate lightning-mole-debug-run (lightning-mole) - :enter - (behavior () + :enter (behavior () (set! (-> self speed-adjust) 1.0) (set-vector! (-> self debug-vector) 0.0 0.0 1.0 1.0) (set! (-> self saved-travel quad) (-> self debug-vector quad)) ((-> (method-of-type nav-enemy nav-enemy-chase) enter)) (none) ) - :trans - (behavior () + :trans (behavior () (when (cpad-pressed? 1 r3) (logclear! (-> *cpad-list* cpads 1 button0-abs 0) (pad-buttons r3)) (logclear! (-> *cpad-list* cpads 1 button0-rel 0) (pad-buttons r3)) @@ -657,10 +626,8 @@ ) (none) ) - :code - lightning-mole-run-code - :post - (behavior () + :code lightning-mole-run-code + :post (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) (let ((s4-0 (new-stack-vector0)) (a1-0 (new-stack-vector0)) @@ -702,8 +669,7 @@ ) (defstate lightning-mole-gone (lightning-mole) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (ja-channel-set! 0) (ja-post) @@ -716,14 +682,12 @@ ) (defstate lightning-mole-hiding (lightning-mole) - :enter - (behavior () + :enter (behavior () (ja-channel-set! 0) (clear-collide-with-as (-> self collide-info)) (none) ) - :trans - (behavior () + :trans (behavior () (when (task-closed? (-> self entity extra perm task) (task-status need-introduction)) (ja-channel-set! 1) (ja :group! (-> self draw art-group data 5)) @@ -732,8 +696,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) @@ -742,8 +705,7 @@ ) (defstate lightning-mole-dive (lightning-mole) - :trans - (behavior () + :trans (behavior () (when (< (vector-vector-xz-distance *lightning-mole-hole* (-> self collide-info trans)) 61440.0) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-1 from) self) @@ -763,8 +725,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -797,18 +758,15 @@ (go lightning-mole-gone) (none) ) - :post - lightning-mole-hole-post + :post lightning-mole-hole-post ) (defstate lightning-mole-head-for-hole (lightning-mole) - :enter - (behavior () + :enter (behavior () (clear-collide-with-as (-> self collide-info)) (none) ) - :trans - (behavior () + :trans (behavior () (when (< (vector-vector-xz-distance *lightning-mole-hole* (-> self collide-info trans)) 61440.0) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-1 from) self) @@ -831,28 +789,22 @@ ) (none) ) - :code - (-> (method-of-type fleeing-nav-enemy nav-enemy-chase) code) - :post - lightning-mole-hole-post + :code (-> (method-of-type fleeing-nav-enemy nav-enemy-chase) code) + :post lightning-mole-hole-post ) (defstate lightning-mole-yelp (lightning-mole) - :enter - (behavior () + :enter (behavior () (clear-collide-with-as (-> self collide-info)) ((-> (method-of-type fleeing-nav-enemy nav-enemy-chase) enter)) (none) ) - :exit - (behavior () + :exit (behavior () (restore-collide-with-as (-> self collide-info)) (none) ) - :trans - (-> (method-of-type fleeing-nav-enemy nav-enemy-chase) trans) - :code - (behavior () + :trans (-> (method-of-type fleeing-nav-enemy nav-enemy-chase) trans) + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! max f30-0) :frame-num 0.0) @@ -864,30 +816,25 @@ (go-virtual nav-enemy-chase) (none) ) - :post - (the-as (function none :behavior lightning-mole) nav-enemy-simple-post) + :post (the-as (function none :behavior lightning-mole) nav-enemy-simple-post) ) (defstate nav-enemy-stop-chase (lightning-mole) :virtual #t - :code - lightning-mole-run-code - :post - (the-as (function none :behavior lightning-mole) fleeing-nav-enemy-chase-post) + :code lightning-mole-run-code + :post (the-as (function none :behavior lightning-mole) fleeing-nav-enemy-chase-post) ) (defstate nav-enemy-chase (lightning-mole) :virtual #t - :enter - (behavior () + :enter (behavior () (set! (-> self speed-adjust) 1.0) (set! (-> self run-blend-interp) 0.0) (vector-! (-> self saved-travel) (-> self collide-info trans) (target-pos 0)) ((-> (method-of-type fleeing-nav-enemy nav-enemy-chase) enter)) (none) ) - :trans - (behavior () + :trans (behavior () (let ((s3-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) @@ -943,10 +890,8 @@ ((-> (method-of-type fleeing-nav-enemy nav-enemy-chase) trans)) (none) ) - :code - lightning-mole-run-code - :post - (the-as (function none :behavior lightning-mole) fleeing-nav-enemy-chase-post) + :code lightning-mole-run-code + :post (the-as (function none :behavior lightning-mole) fleeing-nav-enemy-chase-post) ) (defmethod dummy-43 lightning-mole ((obj lightning-mole) (arg0 process) (arg1 event-message-block)) @@ -1084,13 +1029,11 @@ :id 456 :duration 5 :bounds (static-bspherem 0 0 0 15) - :parts - ((sp-item 1768) (sp-item 1769 :period 120 :length 30) (sp-item 1770 :period 120 :length 60)) + :parts ((sp-item 1768) (sp-item 1769 :period 120 :length 30) (sp-item 1770 :period 120 :length 60)) ) (defpart 1768 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.25) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters -2)) @@ -1115,8 +1058,7 @@ ) (defpart 1769 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters -2)) @@ -1140,8 +1082,7 @@ ) (defpart 1770 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0)) @@ -1167,8 +1108,7 @@ ) (defpart 1771 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.05) 1.0) @@ -1192,8 +1132,7 @@ ) (defpart 1772 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.05) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1235,13 +1174,9 @@ (when (< (-> arg2 y) (-> arg1 user-float)) (let ((gp-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.05) - (sound-play-by-name (static-sound-name "land-grass") (new-sound-id) 1024 0 0 1 #t) - ) - ) + (if (< (rand-float-gen) 0.05) + (sound-play-by-name (static-sound-name "land-grass") (new-sound-id) 1024 0 0 1 #t) + ) (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) (sp-launch-particles-var *sp-particle-system-2d* @@ -1272,8 +1207,7 @@ (defstate peeper-wait (peeper) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'hide) (let ((v0-0 (-> *display* base-frame-counter))) @@ -1284,16 +1218,14 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) (not (and *target* (>= 81920.0 (vector-vector-xz-distance (-> self root trans) (-> *target* control trans))))) ) @@ -1301,21 +1233,18 @@ ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior peeper) ja-post) + :post (the-as (function none :behavior peeper) ja-post) ) (defstate peeper-hide (peeper) - :code - (behavior () + :code (behavior () (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) @@ -1328,28 +1257,24 @@ (go peeper-wait) (none) ) - :post - (the-as (function none :behavior peeper) ja-post) + :post (the-as (function none :behavior peeper) ja-post) ) (defstate peeper-down (peeper) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hide) (go peeper-wait) ) ) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 61440.0 (vector-vector-xz-distance (-> self root trans) (-> *target* control trans)))) (go peeper-wait) ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) @@ -1380,36 +1305,31 @@ (go peeper-up) (none) ) - :post - (the-as (function none :behavior peeper) ja-post) + :post (the-as (function none :behavior peeper) ja-post) ) (defstate peeper-up (peeper) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hide) (go peeper-hide) ) ) ) - :enter - (behavior () + :enter (behavior () (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 61440.0 (vector-vector-xz-distance (-> self root trans) (-> *target* control trans)))) (go peeper-hide) ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 13) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1420,8 +1340,7 @@ ) (none) ) - :post - (the-as (function none :behavior peeper) ja-post) + :post (the-as (function none :behavior peeper) ja-post) ) (defmethod init-from-entity! peeper ((obj peeper) (arg0 entity-actor)) diff --git a/goal_src/levels/rolling/rolling-obs.gc b/goal_src/levels/rolling/rolling-obs.gc index d4c1657c53..0f4049929d 100644 --- a/goal_src/levels/rolling/rolling-obs.gc +++ b/goal_src/levels/rolling/rolling-obs.gc @@ -6,10 +6,11 @@ ;; dgos: L1, ROL ;; DECOMP BEGINS -(import "goal_src/import/dark-plant-ag.gc") + +(import "goal_src/import/rollingcam-ag.gc") (import "goal_src/import/pusher-ag.gc") (import "goal_src/import/happy-plant-ag.gc") -(import "goal_src/import/rollingcam-ag.gc") +(import "goal_src/import/dark-plant-ag.gc") (import "goal_src/import/rolling-start-ag.gc") (deftype rolling-part (part-spawner) @@ -111,10 +112,8 @@ ) (defstate pusher-idle (pusher) - :trans - (the-as (function none :behavior pusher) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior pusher) rider-trans) + :code (behavior () (loop (let ((f0-0 -1.0)) (when (and *target* *camera*) @@ -132,8 +131,7 @@ ) (none) ) - :post - (the-as (function none :behavior pusher) rider-post) + :post (the-as (function none :behavior pusher) rider-post) ) (defmethod init-from-entity! pusher ((obj pusher) (arg0 entity-actor)) @@ -152,10 +150,8 @@ ) (defstate gorge-pusher-idle (gorge-pusher) - :trans - (the-as (function none :behavior gorge-pusher) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior gorge-pusher) rider-trans) + :code (behavior () (loop (if (task-closed? (game-task rolling-race) (task-status need-introduction)) (ja :num! (seek! (-> self min-frame))) @@ -165,8 +161,7 @@ ) (none) ) - :post - (the-as (function none :behavior gorge-pusher) rider-post) + :post (the-as (function none :behavior gorge-pusher) rider-post) ) (defmethod init-from-entity! gorge-pusher ((obj gorge-pusher) (arg0 entity-actor)) @@ -220,7 +215,7 @@ (defun dark-plant-check-target ((arg0 dark-plant)) (the-as symbol (and *target* (and (< (vector-vector-distance (-> arg0 root trans) (target-pos 0)) 16384.0) - (send-event *target* 'query 'powerup 4) + (send-event *target* 'query 'powerup (pickup-type eco-green)) ) ) ) @@ -274,10 +269,8 @@ ) (defstate dark-plant-sprout (dark-plant) - :trans - dark-plant-trans - :code - (behavior () + :trans dark-plant-trans + :code (behavior () (dark-plant-randomize self) (logclear! (-> self draw status) (draw-status hidden)) (sound-play-by-name (static-sound-name "darkvine-grow") (new-sound-id) 1024 0 0 1 #t) @@ -289,13 +282,11 @@ (go dark-plant-idle) (none) ) - :post - (the-as (function none :behavior dark-plant) ja-post) + :post (the-as (function none :behavior dark-plant) ja-post) ) (defstate dark-plant-gone (dark-plant) - :code - (behavior () + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (let* ((f30-0 1500.0) (v1-4 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) @@ -326,13 +317,11 @@ ) (none) ) - :post - (the-as (function none :behavior dark-plant) ja-post) + :post (the-as (function none :behavior dark-plant) ja-post) ) (defstate dark-plant-death (dark-plant) - :code - (behavior () + :code (behavior () (spawn (-> self part) (-> self root trans)) (ja-channel-push! 1 (seconds 0.2)) (sound-play-by-name (static-sound-name "darkvine-kill") (new-sound-id) 1024 0 0 1 #t) @@ -344,15 +333,12 @@ (go dark-plant-gone) (none) ) - :post - (the-as (function none :behavior dark-plant) ja-post) + :post (the-as (function none :behavior dark-plant) ja-post) ) (defstate dark-plant-idle (dark-plant) - :trans - dark-plant-trans - :code - (behavior () + :trans dark-plant-trans + :code (behavior () (loop (when (and (logtest? (-> self draw status) (draw-status was-drawn)) *target* @@ -369,22 +355,15 @@ *entity-pool* (game-task none) ) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'query) - (set! (-> a1-4 param 0) (the-as uint 'powerup)) - (set! (-> a1-4 param 1) (the-as uint 4)) - (if (not (send-event-function *target* a1-4)) - (level-hint-spawn - (game-text-id rolling-dark-plants-hint) - "sksp0114" - (the-as entity #f) - *entity-pool* - (game-task none) - ) + (if (not (send-event *target* 'query 'powerup (pickup-type eco-green))) + (level-hint-spawn + (game-text-id rolling-dark-plants-hint) + "sksp0114" + (the-as entity #f) + *entity-pool* + (game-task none) ) - ) + ) ) ) (let ((gp-1 (-> self skel root-channel 0))) @@ -392,12 +371,10 @@ (set! (-> gp-1 param 0) (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) ) - (let* ((f30-1 0.9) - (f28-0 0.25) - (v1-32 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-33 (the-as number (logior #x3f800000 v1-32))) - ) - (set! (-> gp-1 param 1) (+ f30-1 (* f28-0 (+ -1.0 (the-as float v1-33))))) + (let ((f30-1 0.9) + (f28-0 0.25) + ) + (set! (-> gp-1 param 1) (+ f30-1 (* f28-0 (rand-float-gen)))) ) (set! (-> gp-1 frame-num) 0.0) (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) @@ -406,12 +383,10 @@ (suspend) (let ((gp-2 (-> self skel root-channel 0))) (set! (-> gp-2 param 0) (the float (+ (-> gp-2 frame-group data 0 length) -1))) - (let* ((f30-2 0.9) - (f28-1 0.25) - (v1-45 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-46 (the-as number (logior #x3f800000 v1-45))) - ) - (set! (-> gp-2 param 1) (+ f30-2 (* f28-1 (+ -1.0 (the-as float v1-46))))) + (let ((f30-2 0.9) + (f28-1 0.25) + ) + (set! (-> gp-2 param 1) (+ f30-2 (* f28-1 (rand-float-gen)))) ) (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) ) @@ -419,26 +394,19 @@ ) (none) ) - :post - (the-as (function none :behavior dark-plant) ja-post) + :post (the-as (function none :behavior dark-plant) ja-post) ) (defstate dark-plant-startup (dark-plant) - :trans - dark-plant-trans - :code - (behavior () + :trans dark-plant-trans + :code (behavior () (let ((gp-0 (-> self skel root-channel 0))) (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) (set! (-> gp-0 param 0) (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) ) (set! (-> gp-0 param 1) 1.0) - (let* ((v1-12 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-13 (the-as number (logior #x3f800000 v1-12))) - ) - (set! (-> gp-0 frame-num) (* (+ -1.0 (the-as float v1-13)) (the float (ja-num-frames 0)))) - ) + (set! (-> gp-0 frame-num) (* (rand-float-gen) (the float (ja-num-frames 0)))) (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) ) (until (ja-done? 0) @@ -448,8 +416,7 @@ (go dark-plant-idle) (none) ) - :post - (the-as (function none :behavior dark-plant) ja-post) + :post (the-as (function none :behavior dark-plant) ja-post) ) (defpartgroup group-dark-plant @@ -457,13 +424,11 @@ :duration 42 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 15) - :parts - ((sp-item 1764) (sp-item 2356)) + :parts ((sp-item 1764) (sp-item 2356)) ) (defpart 2356 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 12)) @@ -481,8 +446,7 @@ ) (defpart 1764 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 128.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -551,8 +515,7 @@ ) (defstate happy-plant-opened (happy-plant) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -562,13 +525,11 @@ ) (none) ) - :post - (the-as (function none :behavior happy-plant) ja-post) + :post (the-as (function none :behavior happy-plant) ja-post) ) (defstate happy-plant-opening (happy-plant) - :exit - (behavior () + :exit (behavior () (when *target* (logclear! (-> *target* mask) (process-mask sleep)) (process-entity-status! self (entity-perm-status bit-3) #f) @@ -576,27 +537,17 @@ ) (none) ) - :code - (behavior () + :code (behavior () (close-specific-task! (game-task rolling-plants) (task-status need-reminder)) (process-entity-status! self (entity-perm-status bit-3) #t) (logclear! (-> self mask) (process-mask actor-pause)) (while (and *target* (< (vector-vector-distance (-> self root-override trans) (target-pos 0)) 24576.0)) (suspend) ) - (let* ((gp-1 (get-process *default-dead-pool* manipy #x4000)) - (gp-2 - (ppointer->handle - (when gp-1 - (let ((t9-5 (method-of-type manipy activate))) - (t9-5 (the-as manipy gp-1) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 manipy-init (-> self entity extra trans) (-> self entity) *rollingcam-sg* #f) - (-> gp-1 ppointer) - ) - ) - ) - ) + (let ((gp-2 + (ppointer->handle (manipy-spawn (-> self entity extra trans) (-> self entity) *rollingcam-sg* #f :to self)) + ) + ) (let ((s5-1 (get-process *default-dead-pool* othercam #x4000))) (ppointer->handle (when s5-1 (let ((t9-8 (method-of-type othercam activate))) @@ -607,17 +558,10 @@ ) ) ) - (let* ((s5-2 (get-process *default-dead-pool* fuel-cell #x4000)) - (s5-3 (ppointer->handle (when s5-2 - (let ((t9-11 (method-of-type fuel-cell activate))) - (t9-11 (the-as fuel-cell s5-2) self 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 fuel-cell-init-as-clone (process->handle self) 55) - (-> s5-2 ppointer) - ) - ) - ) - ) + (let ((s5-3 + (ppointer->handle (process-spawn fuel-cell :init fuel-cell-init-as-clone (process->handle self) 55 :to self)) + ) + ) (if *target* (logior! (-> *target* mask) (process-mask sleep)) ) @@ -627,8 +571,7 @@ :name "happy-plant-open" :index 5 :parts 2 - :command-list - '((0 send-event target draw #f) (10000 send-event target draw #t)) + :command-list '((0 send-event target draw #f) (10000 send-event target draw #t)) ) (the-as art-joint-anim #f) (the-as art-joint-anim (-> self draw art-group data 4)) @@ -654,13 +597,11 @@ (go happy-plant-opened) (none) ) - :post - (the-as (function none :behavior happy-plant) transform-post) + :post (the-as (function none :behavior happy-plant) transform-post) ) (defstate happy-plant-init (happy-plant) - :trans - (behavior () + :trans (behavior () (when (-> self alt-actor) (spool-push *art-control* "happy-plant-open" 0 self -99.0) (let* ((gp-0 (-> self alt-actor extra process)) @@ -678,8 +619,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (clear-collide-with-as (-> self root-override)) (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) @@ -690,8 +630,7 @@ ) (none) ) - :post - (the-as (function none :behavior happy-plant) ja-post) + :post (the-as (function none :behavior happy-plant) ja-post) ) (defmethod init-from-entity! happy-plant ((obj happy-plant) (arg0 entity-actor)) @@ -852,16 +791,14 @@ (defstate rolling-start-break (rolling-start) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('unbreak) (go rolling-start-whole) ) ) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -885,13 +822,11 @@ ) (none) ) - :post - (the-as (function none :behavior rolling-start) ja-post) + :post (the-as (function none :behavior rolling-start) ja-post) ) (defstate rolling-start-whole (rolling-start) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('break) (sound-play-by-name (static-sound-name "cool-rolling-st") (new-sound-id) 1024 0 0 1 #t) @@ -902,8 +837,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (lods-assign! (-> self draw) (-> self whole-look)) (loop (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) @@ -914,8 +848,7 @@ ) (none) ) - :post - (the-as (function none :behavior rolling-start) ja-post) + :post (the-as (function none :behavior rolling-start) ja-post) ) (defbehavior rolling-start-init-by-other rolling-start ((arg0 vector) (arg1 float)) @@ -1042,10 +975,8 @@ ) (defstate gorge-abort-idle (gorge-abort) - :trans - (the-as (function none :behavior gorge-abort) gorge-trans) - :code - (behavior () + :trans (the-as (function none :behavior gorge-abort) gorge-trans) + :code (behavior () (loop (suspend) (if (gorge-behind self) @@ -1065,10 +996,8 @@ ) (defstate gorge-finish-idle (gorge-finish) - :trans - (the-as (function none :behavior gorge-finish) gorge-trans) - :code - (behavior () + :trans (the-as (function none :behavior gorge-finish) gorge-trans) + :code (behavior () (loop (suspend) (if (gorge-in-front self) @@ -1221,41 +1150,26 @@ ) (defbehavior gorge-start-launch-start-banner gorge-start () - (the-as - handle - (when (task-closed? (game-task rolling-race) (task-status need-introduction)) - (when (not (handle->process (-> self start-banner))) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override trans quad)) - (let* ((s5-0 (get-process *default-dead-pool* rolling-start #x4000)) - (v0-1 - (ppointer->handle (when s5-0 - (let ((t9-2 (method-of-type rolling-start activate))) - (t9-2 (the-as rolling-start s5-0) self 'rolling-start (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 rolling-start-init-by-other gp-0 0.0) - (-> s5-0 ppointer) - ) - ) + (the-as handle (when (task-closed? (game-task rolling-race) (task-status need-introduction)) + (when (not (handle->process (-> self start-banner))) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self root-override trans quad)) + (let ((v0-1 (ppointer->handle (process-spawn rolling-start gp-0 0.0 :to self)))) + (set! (-> self start-banner) (the-as handle v0-1)) + v0-1 + ) + ) + ) ) - ) - (set! (-> self start-banner) (the-as handle v0-1)) - v0-1 - ) ) - ) - ) - ) ) (defstate gorge-start-race-finished (gorge-start) - :trans - (behavior () + :trans (behavior () (gorge-trans) (none) ) - :code - (behavior () + :code (behavior () (gorge-start-draw-time #t #t) (suspend) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -1277,13 +1191,11 @@ ) (defstate gorge-start-race-aborted (gorge-start) - :trans - (behavior () + :trans (behavior () (gorge-trans) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) (seekl! (-> self timer-pos-offset) 100 (the int (* 5.0 (-> *display* time-adjust-ratio)))) @@ -1334,8 +1246,7 @@ ) (defstate gorge-start-racing (gorge-start) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('finished) (go gorge-start-race-finished) @@ -1345,112 +1256,58 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (send-event (handle->process (-> self start-banner)) 'break) (send-event (ppointer->process (-> *hud-parts* fuel-cell)) 'disable) (send-event (ppointer->process (-> *hud-parts* fuel-cell)) 'hide) (send-event (ppointer->process (-> *hud-parts* money)) 'disable) (send-event (ppointer->process (-> *hud-parts* money)) 'hide) (race-time-read (-> self record-time) 1 (-> self tasks) (seconds 45)) - (let ((gp-0 (get-process *default-dead-pool* rolling-start #x4000))) - (set! (-> self end-banner) - (ppointer->handle (when gp-0 - (let ((t9-7 (method-of-type rolling-start activate))) - (t9-7 (the-as rolling-start gp-0) self 'rolling-start (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - rolling-start-init-by-other - (new 'static 'vector :x -86016.0 :y 112640.0 :z -6309888.0) - 16384.0 - ) - (-> gp-0 ppointer) - ) - ) + (set! (-> self end-banner) + (ppointer->handle + (process-spawn rolling-start (new 'static 'vector :x -86016.0 :y 112640.0 :z -6309888.0) 16384.0 :to self) ) + ) + (process-spawn + gorge-finish + (new 'static 'vector :x -86016.0 :y 114688.0 :z -6303744.0) + (new 'static 'vector :x -1.0) + 57344.0 + :to self ) - (let ((gp-1 (get-process *default-dead-pool* gorge-finish #x4000))) - (when gp-1 - (let ((t9-10 (method-of-type gorge-finish activate))) - (t9-10 (the-as gorge-finish gp-1) self 'gorge-finish (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - gorge-finish-init-by-other - (new 'static 'vector :x -86016.0 :y 114688.0 :z -6303744.0) - (new 'static 'vector :x -1.0) - 57344.0 - ) - (-> gp-1 ppointer) - ) + (process-spawn + gorge-abort + (new 'static 'vector :x -696320.0 :y 122880.0 :z -6828032.0) + (new 'static 'vector :x -0.707 :y 0.707) + 163840.0 + :to self ) - (let ((gp-2 (get-process *default-dead-pool* gorge-abort #x4000))) - (when gp-2 - (let ((t9-13 (method-of-type gorge-abort activate))) - (t9-13 (the-as gorge-abort gp-2) self 'gorge-abort (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-2 - gorge-abort-init-by-other - (new 'static 'vector :x -696320.0 :y 122880.0 :z -6828032.0) - (new 'static 'vector :x -0.707 :y 0.707) - 163840.0 - ) - (-> gp-2 ppointer) - ) + (process-spawn + gorge-abort + (new 'static 'vector :x -847872.0 :y 143360.0 :z -6828032.0) + (new 'static 'vector :x 0.707 :y 0.707) + 163840.0 + :to self ) - (let ((gp-3 (get-process *default-dead-pool* gorge-abort #x4000))) - (when gp-3 - (let ((t9-16 (method-of-type gorge-abort activate))) - (t9-16 (the-as gorge-abort gp-3) self 'gorge-abort (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-3 - gorge-abort-init-by-other - (new 'static 'vector :x -847872.0 :y 143360.0 :z -6828032.0) - (new 'static 'vector :x 0.707 :y 0.707) - 163840.0 - ) - (-> gp-3 ppointer) - ) + (process-spawn + gorge-abort + (new 'static 'vector :x -417792.0 :y 143360.0 :z -6004736.0) + (new 'static 'vector :x -0.5 :y 0.707 :z 0.3) + 266240.0 + :to self ) - (let ((gp-4 (get-process *default-dead-pool* gorge-abort #x4000))) - (when gp-4 - (let ((t9-19 (method-of-type gorge-abort activate))) - (t9-19 (the-as gorge-abort gp-4) self 'gorge-abort (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-4 - gorge-abort-init-by-other - (new 'static 'vector :x -417792.0 :y 143360.0 :z -6004736.0) - (new 'static 'vector :x -0.5 :y 0.707 :z 0.3) - 266240.0 - ) - (-> gp-4 ppointer) - ) - ) - (let ((gp-5 (get-process *default-dead-pool* gorge-abort #x4000))) - (when gp-5 - (let ((t9-22 (method-of-type gorge-abort activate))) - (t9-22 (the-as gorge-abort gp-5) self 'gorge-abort (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-5 - gorge-abort-init-by-other - (new 'static 'vector :x -647168.0 :y 143360.0 :z -6025216.0) - (new 'static 'vector :x 0.5 :y 0.707 :z -0.3) - 163840.0 - ) - (-> gp-5 ppointer) - ) + (process-spawn + gorge-abort + (new 'static 'vector :x -647168.0 :y 143360.0 :z -6025216.0) + (new 'static 'vector :x 0.5 :y 0.707 :z -0.3) + 163840.0 + :to self ) (sleep (-> self ticker) (seconds 6000)) (set-setting! *setting-control* self 'sound-flava #f 40.0 42) (none) ) - :exit - (behavior () + :exit (behavior () (let* ((v1-0 (-> self child)) (gp-0 (-> v1-0 0 brother)) ) @@ -1467,10 +1324,8 @@ (clear-pending-settings-from-process *setting-control* self 'sound-flava) (none) ) - :trans - (the-as (function none :behavior gorge-start) gorge-trans) - :code - (behavior () + :trans (the-as (function none :behavior gorge-start) gorge-trans) + :code (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (loop (seconds->race-time (-> self this-time) (- (-> *display* game-frame-counter) (-> self state-time))) @@ -1487,10 +1342,8 @@ ) (defstate gorge-start-ready (gorge-start) - :trans - (the-as (function none :behavior gorge-start) gorge-trans) - :code - (behavior () + :trans (the-as (function none :behavior gorge-start) gorge-trans) + :code (behavior () (loop (suspend) (seekl! (-> self timer-pos-offset) 100 (the int (* 5.0 (-> *display* time-adjust-ratio)))) @@ -1515,26 +1368,22 @@ ) (defstate gorge-start-idle (gorge-start) - :enter - (behavior () + :enter (behavior () (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #t) (none) ) - :trans - (behavior () + :trans (behavior () (gorge-start-launch-start-banner) (gorge-trans) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (seekl! (-> self timer-pos-offset) 100 (the int (* 5.0 (-> *display* time-adjust-ratio)))) @@ -1580,8 +1429,7 @@ :count 3 :converted #f :normal-scale 1.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 40.0 :xdiv -1 :zdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) diff --git a/goal_src/levels/rolling/rolling-race-ring.gc b/goal_src/levels/rolling/rolling-race-ring.gc index 0bbbe1fb16..1de8c2c864 100644 --- a/goal_src/levels/rolling/rolling-race-ring.gc +++ b/goal_src/levels/rolling/rolling-race-ring.gc @@ -6,6 +6,7 @@ ;; dgos: L1, ROL ;; DECOMP BEGINS + (import "goal_src/import/race-ring-ag.gc") (deftype race-ring (process-drawable) @@ -35,8 +36,7 @@ :id 457 :linger-duration 0 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1773 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 1773 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1774 :fade-after (meters 80)) (sp-item 1775 :flags (is-3d)) (sp-item 1776 :flags (is-3d)) @@ -44,8 +44,7 @@ ) (defpart 1773 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 2.0 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -65,8 +64,7 @@ ) (defpart 1774 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -86,8 +84,7 @@ ) (defpart 1775 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 10)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -105,8 +102,7 @@ ) (defpart 1776 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 12)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -127,16 +123,14 @@ :duration 5 :linger-duration 141 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1777 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 1777 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1778 :flags (is-3d)) (sp-item 1779 :flags (is-3d)) ) ) (defpart 1777 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -158,8 +152,7 @@ ) (defpart 1780 - :init-specs - ((sp-rnd-int spt-r 1115684864 1 64.0) + :init-specs ((sp-rnd-int spt-r 1115684864 1 64.0) (sp-flt spt-g 0.0) (sp-rnd-int spt-b 1115684864 1 64.0) (sp-rnd-int spt-a 0 63 1.0) @@ -169,8 +162,7 @@ ) (defpart 1778 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -191,8 +183,7 @@ ) (defpart 1781 - :init-specs - ((sp-rnd-int spt-r 1124073472 1 127.0) + :init-specs ((sp-rnd-int spt-r 1124073472 1 127.0) (sp-flt spt-g 0.0) (sp-rnd-int spt-b 1124073472 1 127.0) (sp-rnd-flt spt-a 32.0 32.0 1.0) @@ -202,8 +193,7 @@ ) (defpart 1779 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -224,8 +214,7 @@ ) (defpart 1782 - :init-specs - ((sp-rnd-int spt-r 1124073472 1 127.0) + :init-specs ((sp-rnd-int spt-r 1124073472 1 127.0) (sp-flt spt-g 0.0) (sp-rnd-int spt-b 1124073472 1 127.0) (sp-rnd-flt spt-a 32.0 32.0 1.0) @@ -239,13 +228,11 @@ :duration 5 :linger-duration 150 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1783 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1784 :flags (is-3d))) + :parts ((sp-item 1783 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1784 :flags (is-3d))) ) (defpart 1783 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 64.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -267,8 +254,7 @@ ) (defpart 1784 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 10)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -307,8 +293,7 @@ :id 460 :linger-duration 0 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1785 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 1785 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1786 :fade-after (meters 80)) (sp-item 1787 :flags (is-3d)) (sp-item 1788 :flags (is-3d)) @@ -316,8 +301,7 @@ ) (defpart 1785 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 2.0 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -337,8 +321,7 @@ ) (defpart 1786 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -358,8 +341,7 @@ ) (defpart 1787 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 10)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -377,8 +359,7 @@ ) (defpart 1788 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 12)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -399,16 +380,14 @@ :duration 5 :linger-duration 141 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1789 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 1789 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1790 :flags (is-3d)) (sp-item 1791 :flags (is-3d)) ) ) (defpart 1789 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -430,8 +409,7 @@ ) (defpart 1792 - :init-specs - ((sp-flt spt-r 0.0) + :init-specs ((sp-flt spt-r 0.0) (sp-rnd-int spt-g 1115684864 1 64.0) (sp-rnd-int spt-b 1115684864 1 64.0) (sp-rnd-int spt-a 0 63 1.0) @@ -441,8 +419,7 @@ ) (defpart 1790 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -463,8 +440,7 @@ ) (defpart 1793 - :init-specs - ((sp-flt spt-r 0.0) + :init-specs ((sp-flt spt-r 0.0) (sp-rnd-int spt-g 1124073472 1 127.0) (sp-rnd-int spt-b 1124073472 1 127.0) (sp-rnd-flt spt-a 32.0 32.0 1.0) @@ -474,8 +450,7 @@ ) (defpart 1791 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -496,8 +471,7 @@ ) (defpart 1794 - :init-specs - ((sp-flt spt-r 0.0) + :init-specs ((sp-flt spt-r 0.0) (sp-rnd-int spt-g 1124073472 1 127.0) (sp-rnd-int spt-b 1124073472 1 127.0) (sp-rnd-flt spt-a 32.0 32.0 1.0) @@ -511,13 +485,11 @@ :duration 5 :linger-duration 150 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1795 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1796 :flags (is-3d))) + :parts ((sp-item 1795 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1796 :flags (is-3d))) ) (defpart 1795 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 64.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -539,8 +511,7 @@ ) (defpart 1796 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 10)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -589,8 +560,7 @@ ) (defstate race-ring-active (race-ring) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 symbol)) (let ((v1-0 arg2)) (the-as @@ -599,52 +569,36 @@ (when (and (= (-> arg3 param 0) 'die) (= arg0 (-> self part-track process 0))) (cond ((= (-> self entity extra perm task) (game-task rolling-ring-chase-2)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 460) - -1 - race-ring-blue-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root trans) - ) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 460) + -1 + race-ring-blue-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root trans) + :to self + ) + ) + ) (set! v0-0 #t) (set! (-> self keep-part-track-alive) v0-0) ) (else - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 457) - -1 - race-ring-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root trans) - ) - (-> gp-1 ppointer) - ) - ) - ) - ) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 457) + -1 + race-ring-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root trans) + :to self + ) + ) + ) (set! v0-0 #t) (set! (-> self keep-part-track-alive) v0-0) ) @@ -655,8 +609,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (cond ((first-ring? self) (logior! (-> self mask) (process-mask actor-pause)) @@ -668,115 +621,74 @@ ) ) (set! (-> self keep-part-track-alive) #f) - (cond - ((= (-> self entity extra perm task) (game-task rolling-ring-chase-2)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-0 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-0) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 461) - -1 - race-ring-blue-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root trans) - ) - (-> gp-0 ppointer) - ) - ) - ) - ) - ) - (else - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker gp-1) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 458) - -1 - race-ring-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root trans) - ) - (-> gp-1 ppointer) - ) - ) - ) - ) + (if (= (-> self entity extra perm task) (game-task rolling-ring-chase-2)) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 461) + -1 + race-ring-blue-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root trans) + :to self + ) + ) + ) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 458) + -1 + race-ring-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root trans) + :to self + ) + ) + ) ) - ) (set! (-> self old-hips quad) (-> (target-pos 26) quad)) (set! (-> self old-hips x) (+ 1.0 (-> self old-hips x))) (set! (-> self state-time) (-> *display* game-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (sound-play-by-name (static-sound-name "close-racering") (new-sound-id) 1024 0 0 1 #t) (let ((a0-3 (handle->process (-> self part-track)))) (if a0-3 (deactivate a0-3) ) ) - (cond - ((= (-> self entity extra perm task) (game-task rolling-ring-chase-2)) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 462) - -1 - race-ring-blue-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root trans) - ) - (-> gp-1 ppointer) - ) - ) - ) - ) - ) - (else - (let ((gp-2 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-2 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker gp-2) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-2 - part-tracker-init - (-> *part-group-id-table* 459) - -1 - race-ring-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root trans) - ) - (-> gp-2 ppointer) - ) - ) - ) - ) + (if (= (-> self entity extra perm task) (game-task rolling-ring-chase-2)) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 462) + -1 + race-ring-blue-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root trans) + :to self + ) + ) + ) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 459) + -1 + race-ring-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root trans) + :to self + ) + ) + ) ) - ) (cond ((first-ring? self) (logclear! (-> self mask) (process-mask actor-pause)) @@ -789,8 +701,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (nonzero? (-> self sound)) (update! (-> self sound)) ) @@ -801,51 +712,35 @@ ) ) ((= (-> self entity extra perm task) (game-task rolling-ring-chase-2)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 (the-as part-tracker gp-0) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 460) - -1 - race-ring-blue-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root trans) - ) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 460) + -1 + race-ring-blue-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root trans) + :to self + ) + ) + ) (set! (-> self keep-part-track-alive) #t) ) (else - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker gp-1) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 457) - -1 - race-ring-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root trans) - ) - (-> gp-1 ppointer) - ) - ) - ) - ) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 457) + -1 + race-ring-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root trans) + :to self + ) + ) + ) (set! (-> self keep-part-track-alive) #t) ) ) @@ -861,8 +756,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (cond @@ -938,29 +832,17 @@ ) ) ((last-ring? self) - (let* ((gp-1 (get-process *default-dead-pool* othercam #x4000)) - (gp-2 (ppointer->handle (when gp-1 - (let ((t9-15 (method-of-type othercam activate))) - (t9-15 (the-as othercam gp-1) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 othercam-init-by-other self 4 #f #t) - (-> gp-1 ppointer) - ) - ) - ) - (s5-1 (get-process *default-dead-pool* fuel-cell #x4000)) - (s5-2 - (ppointer->handle - (when s5-1 - (let ((t9-18 (method-of-type fuel-cell activate))) - (t9-18 (the-as fuel-cell s5-1) self 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 fuel-cell-init-as-clone (process->handle self) (-> self entity extra perm task)) - (-> s5-1 ppointer) - ) - ) - ) - ) + (let ((gp-2 (ppointer->handle (process-spawn othercam self 4 #f #t :to self))) + (s5-2 (ppointer->handle (process-spawn + fuel-cell + :init fuel-cell-init-as-clone + (process->handle self) + (-> self entity extra perm task) + :to self + ) + ) + ) + ) (if *target* (logior! (-> *target* mask) (process-mask sleep)) ) @@ -1026,13 +908,11 @@ ) (none) ) - :post - (the-as (function none :behavior race-ring) ja-post) + :post (the-as (function none :behavior race-ring) ja-post) ) (defstate race-ring-wait (race-ring) - :code - (behavior () + :code (behavior () (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) @@ -1049,8 +929,7 @@ ) (defstate race-ring-idle (race-ring) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('activate) (logclear! (-> self mask) (process-mask actor-pause)) @@ -1058,8 +937,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) diff --git a/goal_src/levels/rolling/rolling-robber.gc b/goal_src/levels/rolling/rolling-robber.gc index 2c153c4d1d..d3fa46c4d5 100644 --- a/goal_src/levels/rolling/rolling-robber.gc +++ b/goal_src/levels/rolling/rolling-robber.gc @@ -6,13 +6,12 @@ ;; dgos: L1, ROL ;; DECOMP BEGINS + (import "goal_src/import/robber-ag.gc") (defstate fuel-cell-spline-slider (fuel-cell) - :trans - (the-as (function none :behavior fuel-cell) hide-hud-quick) - :code - (behavior ((arg0 handle) (arg1 float) (arg2 float)) + :trans (the-as (function none :behavior fuel-cell) hide-hud-quick) + :code (behavior ((arg0 handle) (arg1 float) (arg2 float)) (logclear! (-> self mask) (process-mask actor-pause)) (ja :group! (-> self draw art-group data 2)) (if *target* @@ -293,8 +292,7 @@ ) (defstate robber-debug (robber) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -323,13 +321,11 @@ ) (none) ) - :post - (the-as (function none :behavior robber) ja-post) + :post (the-as (function none :behavior robber) ja-post) ) (defstate robber-dead (robber) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (deactivate self) (none) @@ -337,13 +333,11 @@ ) (defstate robber-die (robber) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior robber) process-drawable-death-event-handler ) - :code - (behavior () + :code (behavior () (let ((gp-0 #t)) (when (robber-task-complete?) (let ((v1-3 (-> self entity extra perm))) @@ -357,21 +351,15 @@ -163840.0 ) ) - (s5-0 (get-process *default-dead-pool* fuel-cell #x4000)) ) - (when s5-0 - (let ((t9-2 (method-of-type fuel-cell activate))) - (t9-2 (the-as fuel-cell s5-0) self 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - fuel-cell-init-as-spline-slider - (process->handle self) - (-> self curve-position) - f30-0 - (-> self entity extra perm task) - ) - (-> s5-0 ppointer) + (process-spawn + fuel-cell + :init fuel-cell-init-as-spline-slider + (process->handle self) + (-> self curve-position) + f30-0 + (-> self entity extra perm task) + :to self ) ) ) @@ -411,15 +399,12 @@ (go robber-dead) (none) ) - :post - (the-as (function none :behavior robber) transform-post) + :post (the-as (function none :behavior robber) transform-post) ) (defstate robber-got-away (robber) - :event - robber-event-handler - :trans - (behavior () + :event robber-event-handler + :trans (behavior () (if (and (not (and *target* (>= 204800.0 (vector-vector-xz-distance (-> self root-override trans) (-> *target* control trans))) ) @@ -435,8 +420,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (when (not (ja-group? (-> self draw art-group data 7))) (ja-channel-push! 1 (seconds 0.2)) (ja :group! (-> self draw art-group data 7)) @@ -452,25 +436,20 @@ ) (none) ) - :post - (the-as (function none :behavior robber) transform-post) + :post (the-as (function none :behavior robber) transform-post) ) (defstate robber-tired (robber) - :event - robber-event-handler - :enter - (behavior () + :event robber-event-handler + :enter (behavior () (set! (-> self y-offset-desired) -12288.0) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self y-offset-desired) 0.0) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (and *target* (>= 163840.0 (vector-vector-xz-distance (-> self root-override trans) (-> *target* control trans))) ) @@ -479,8 +458,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (ja-group? (-> self draw art-group data 7))) (ja-channel-push! 1 (seconds 0.2)) @@ -516,22 +494,18 @@ ) (none) ) - :post - (the-as (function none :behavior robber) transform-post) + :post (the-as (function none :behavior robber) transform-post) ) (defstate robber-flee (robber) - :event - robber-event-handler - :enter - (behavior () + :event robber-event-handler + :enter (behavior () (set! (-> self near-timer) 3000) (set! (-> self far-time) (-> *display* base-frame-counter)) (set! (-> self y-offset-desired) 0.0) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (and *target* (>= 163840.0 (vector-vector-xz-distance (-> self root-override trans) (-> *target* control trans))) ) @@ -555,8 +529,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (ja-group? (-> self draw art-group data 7))) (ja-channel-push! 1 (seconds 0.2)) @@ -592,20 +565,16 @@ ) (none) ) - :post - (the-as (function none :behavior robber) transform-post) + :post (the-as (function none :behavior robber) transform-post) ) (defstate robber-idle (robber) - :event - robber-event-handler - :enter - (behavior () + :event robber-event-handler + :enter (behavior () (set! (-> self speed) 0.0) (none) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 122880.0 (vector-vector-xz-distance (-> self root-override trans) (-> *target* control trans))) ) @@ -615,8 +584,7 @@ (robber-move) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (loop (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) @@ -627,15 +595,12 @@ ) (none) ) - :post - (the-as (function none :behavior robber) transform-post) + :post (the-as (function none :behavior robber) transform-post) ) (defstate robber-initial-notice (robber) - :event - robber-event-handler - :trans - (behavior () + :event robber-event-handler + :trans (behavior () (when (logtest? (-> self draw status) (draw-status was-drawn)) (if (and *target* (>= 163840.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) @@ -656,8 +621,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (TODO-RENAME-14 (-> self path) (-> self tangent) (-> self curve-position)) (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root-override trans) (target-pos 0))) (f0-1 6.826667) @@ -681,20 +645,16 @@ ) (none) ) - :post - (the-as (function none :behavior robber) transform-post) + :post (the-as (function none :behavior robber) transform-post) ) (defstate robber-initial (robber) - :event - robber-event-handler - :enter - (behavior () + :event robber-event-handler + :enter (behavior () (set! (-> self speed) 0.0) (none) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 122880.0 (vector-vector-xz-distance (-> self root-override trans) (-> *target* control trans))) ) @@ -703,8 +663,7 @@ (robber-move) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (loop (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) @@ -715,8 +674,7 @@ ) (none) ) - :post - (the-as (function none :behavior robber) transform-post) + :post (the-as (function none :behavior robber) transform-post) ) (defmethod init-from-entity! robber ((obj robber) (arg0 entity-actor)) diff --git a/goal_src/levels/snow/ice-cube.gc b/goal_src/levels/snow/ice-cube.gc index 1d91a1acfb..7ca2a2a878 100644 --- a/goal_src/levels/snow/ice-cube.gc +++ b/goal_src/levels/snow/ice-cube.gc @@ -6,6 +6,7 @@ ;; dgos: L1, SNO ;; DECOMP BEGINS + (import "goal_src/import/ice-cube-ag.gc") (import "goal_src/import/ice-cube-break-ag.gc") @@ -120,15 +121,13 @@ :id 507 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 1887 :fade-after (meters 70) :falloff-to (meters 70)) + :parts ((sp-item 1887 :fade-after (meters 70) :falloff-to (meters 70)) (sp-item 1888 :fade-after (meters 70) :falloff-to (meters 70)) ) ) (defpart 1888 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) @@ -152,8 +151,7 @@ ) (defpart 1887 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) @@ -183,13 +181,11 @@ :id 508 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 1889 :fade-after (meters 70) :falloff-to (meters 70))) + :parts ((sp-item 1889 :fade-after (meters 70) :falloff-to (meters 70))) ) (defpart 1889 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.25) (meters 0.5) 1.0) @@ -215,13 +211,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2325) (sp-item 2326) (sp-item 2327)) + :parts ((sp-item 2325) (sp-item 2326) (sp-item 2327)) ) (defpart 2325 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -245,8 +239,7 @@ ) (defpart 2326 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -270,8 +263,7 @@ ) (defpart 2327 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -297,13 +289,11 @@ :id 509 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 1890) (sp-item 1891) (sp-item 1892)) + :parts ((sp-item 1890) (sp-item 1891) (sp-item 1892)) ) (defpart 1892 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 64.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 0.24) (meters 0.24) 1.0) @@ -324,8 +314,7 @@ ) (defpart 1891 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters 1)) @@ -352,8 +341,7 @@ ) (defpart 1890 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters 1)) @@ -391,14 +379,7 @@ (cond ((and (= (-> arg0 type) target) (= (-> self cprims-type) 2) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'powerup)) - (set! (-> a1-1 param 1) (the-as uint 2)) - (not (send-event-function *target* a1-1)) - ) + (not (send-event *target* 'query 'powerup (pickup-type eco-red))) ) (when (and (cond ((= (-> arg0 type) target) @@ -465,17 +446,7 @@ (when (!= (-> arg0 type) target) (cond ((= (-> arg0 type) target) - (let ((a1-9 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-9 from) self) - (set! (-> a1-9 num-params) 2) - (set! (-> a1-9 message) 'attack) - (set! (-> a1-9 param 0) (-> arg3 param 0)) - (let ((v1-49 (new 'static 'attack-info :mask #x20))) - (set! (-> v1-49 mode) #f) - (set! (-> a1-9 param 1) (the-as uint v1-49)) - ) - (send-event-function arg0 a1-9) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode #f)))) ) (else (let ((a1-10 (new 'stack-no-clear 'event-message-block))) @@ -777,22 +748,19 @@ ) (defstate ice-cube-trying-to-appear (ice-cube) - :enter - (behavior () + :enter (behavior () (ja-channel-set! 0) (ja-post) (logior! (-> self draw status) (draw-status hidden)) (clear-collide-with-as (-> self collide-info)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (restore-collide-with-as (-> self collide-info)) (none) ) - :trans - (behavior () + :trans (behavior () (when (and *target* (>= 163840.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)))) (let ((s5-0 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) @@ -807,8 +775,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 @@ -817,10 +784,8 @@ ) (defstate ice-cube-appear (ice-cube) - :event - ice-cube-default-event-handler - :enter - (behavior () + :event ice-cube-default-event-handler + :enter (behavior () (dummy-57 self) (set! (-> self ground-y) (-> self collide-info trans y)) (spawn (-> self part) (-> self collide-info trans)) @@ -830,8 +795,7 @@ (set! (-> self collide-info transv y) (rand-vu-float-range 102400.0 114688.0)) (none) ) - :trans - (behavior () + :trans (behavior () (when (and (< (-> self collide-info trans y) (-> self ground-y)) (< (-> self collide-info transv y) 0.0)) (set! (-> self collide-info trans y) (-> self ground-y)) (set! (-> self collide-info transv quad) (-> *null-vector* quad)) @@ -846,8 +810,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! ice-cube-appear-jump-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -859,15 +822,12 @@ ) (none) ) - :post - (the-as (function none :behavior ice-cube) nav-enemy-falling-post) + :post (the-as (function none :behavior ice-cube) nav-enemy-falling-post) ) (defstate ice-cube-appear-land (ice-cube) - :event - ice-cube-default-event-handler - :code - (behavior () + :event ice-cube-default-event-handler + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 29)) (spawn (-> self part4) gp-0) @@ -886,16 +846,13 @@ ) (none) ) - :post - (the-as (function none :behavior ice-cube) ja-post) + :post (the-as (function none :behavior ice-cube) ja-post) ) (defstate nav-enemy-idle (ice-cube) :virtual #t - :event - ice-cube-default-event-handler - :enter - (behavior () + :event ice-cube-default-event-handler + :enter (behavior () (let ((t9-0 (-> (method-of-type nav-enemy nav-enemy-idle) enter))) (if t9-0 (t9-0) @@ -909,10 +866,8 @@ (defstate nav-enemy-patrol (ice-cube) :virtual #t - :event - ice-cube-default-event-handler - :enter - (behavior () + :event ice-cube-default-event-handler + :enter (behavior () (let ((t9-0 (-> (method-of-type nav-enemy nav-enemy-patrol) enter))) (if t9-0 (t9-0) @@ -922,8 +877,7 @@ (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-patrol) code))) (if t9-1 @@ -936,29 +890,22 @@ (defstate nav-enemy-notice (ice-cube) :virtual #t - :enter - (the-as (function none :behavior ice-cube) #f) - :exit - (the-as (function none :behavior ice-cube) #f) - :trans - (the-as (function none :behavior ice-cube) #f) - :code - (behavior () + :enter (the-as (function none :behavior ice-cube) #f) + :exit (the-as (function none :behavior ice-cube) #f) + :trans (the-as (function none :behavior ice-cube) #f) + :code (behavior () (dummy-57 self) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf1)) (logclear! (-> self mask) (process-mask actor-pause)) (go ice-cube-face-player) (none) ) - :post - (the-as (function none :behavior ice-cube) #f) + :post (the-as (function none :behavior ice-cube) #f) ) (defstate ice-cube-face-player (ice-cube) - :event - ice-cube-default-event-handler - :enter - (behavior () + :event ice-cube-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (dummy-57 self) @@ -975,8 +922,7 @@ (set-vector! (-> self collide-info transv) 0.0 114688.0 0.0 1.0) (none) ) - :code - (behavior () + :code (behavior () (local-vars (gp-0 symbol)) (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! ice-cube-appear-jump-up-ja :num! (seek!) :frame-num 0.0) @@ -1044,22 +990,18 @@ (go ice-cube-become-mean) (none) ) - :post - (the-as (function none :behavior ice-cube) nav-enemy-simple-post) + :post (the-as (function none :behavior ice-cube) nav-enemy-simple-post) ) (defstate ice-cube-become-mean (ice-cube) - :event - ice-cube-default-event-handler - :enter - (behavior () + :event ice-cube-default-event-handler + :enter (behavior () (set! (-> self draw force-lod) 0) (logclear! (-> self mask) (process-mask actor-pause)) (dummy-57 self) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((gp-0 #f)) (ja-no-eval :group! ice-cube-extend-spikes-ja :num! (seek!) :frame-num 0.0) @@ -1075,8 +1017,7 @@ (go ice-cube-mean-turn-to-charge) (none) ) - :post - (the-as (function none :behavior ice-cube) nav-enemy-simple-post) + :post (the-as (function none :behavior ice-cube) nav-enemy-simple-post) ) (defmethod dummy-54 ice-cube ((obj ice-cube) (arg0 vector)) @@ -1099,10 +1040,8 @@ ) (defstate ice-cube-mean-turn-to-charge (ice-cube) - :event - ice-cube-default-event-handler - :enter - (behavior () + :event ice-cube-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (dummy-58 self) @@ -1118,8 +1057,7 @@ (set-vector! (-> self collide-info transv) 0.0 114688.0 0.0 1.0) (none) ) - :code - (behavior () + :code (behavior () (local-vars (gp-0 symbol)) (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! ice-cube-turn-on-player-ja :num! (seek!) :frame-num 0.0) @@ -1187,15 +1125,12 @@ (go ice-cube-mean-charge) (none) ) - :post - (the-as (function none :behavior ice-cube) nav-enemy-simple-post) + :post (the-as (function none :behavior ice-cube) nav-enemy-simple-post) ) (defstate ice-cube-mean-charge (ice-cube) - :event - ice-cube-default-event-handler - :enter - (behavior () + :event ice-cube-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (dummy-58 self) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) @@ -1222,14 +1157,12 @@ (set! (-> self charge-angle) (quaternion-y-angle (-> self collide-info quat))) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav flags) (nav-control-flags navcf8)) (set-root-prim-collide-with! (-> self collide-info) (collide-kind target)) (none) ) - :trans - (behavior () + :trans (behavior () (when (or (not *target*) (logtest? (-> *target* state-flags) (state-flags sf07))) (cond ((= (-> self speed) 0.0) @@ -1342,8 +1275,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja :group! ice-cube-invuln-run-ja :num! min) (until (-> self slow-down?) @@ -1360,15 +1292,12 @@ ) (none) ) - :post - (the-as (function none :behavior ice-cube) nav-enemy-simple-post) + :post (the-as (function none :behavior ice-cube) nav-enemy-simple-post) ) (defstate ice-cube-mean-charge-done (ice-cube) - :event - ice-cube-default-event-handler - :code - (behavior () + :event ice-cube-default-event-handler + :code (behavior () (dummy-58 self) (nav-enemy-neck-control-inactive) (go ice-cube-retract-spikes) @@ -1377,10 +1306,8 @@ ) (defstate ice-cube-retract-spikes (ice-cube) - :event - ice-cube-default-event-handler - :code - (behavior () + :event ice-cube-default-event-handler + :code (behavior () (dummy-58 self) (nav-enemy-neck-control-inactive) (ja-channel-push! 1 (seconds 0.07)) @@ -1398,20 +1325,16 @@ (go ice-cube-tired) (none) ) - :post - (the-as (function none :behavior ice-cube) nav-enemy-simple-post) + :post (the-as (function none :behavior ice-cube) nav-enemy-simple-post) ) (defstate ice-cube-tired (ice-cube) - :event - ice-cube-default-event-handler - :enter - (behavior () + :event ice-cube-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 2)) (cond ((or (not *target*) (< (-> self enemy-info idle-distance) @@ -1430,8 +1353,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! ice-cube-head-wipe-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1448,13 +1370,11 @@ ) (none) ) - :post - (the-as (function none :behavior ice-cube) nav-enemy-simple-post) + :post (the-as (function none :behavior ice-cube) nav-enemy-simple-post) ) (defstate ice-cube-shatter (ice-cube) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 3)) @@ -1467,50 +1387,38 @@ (set! (-> gp-1 duration) (seconds 3)) (set! (-> gp-1 gravity) -327680.0) (set! (-> gp-1 fountain-rand-transv-lo quad) (-> (target-pos 0) quad)) - (let ((s5-1 (get-process *default-dead-pool* joint-exploder #x4000))) - (when s5-1 - (let ((t9-8 (method-of-type joint-exploder activate))) - (t9-8 (the-as joint-exploder s5-1) self 'joint-exploder (the-as pointer #x70004000)) + (process-spawn + joint-exploder + *ice-cube-break-sg* + 2 + gp-1 + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 28) + (new 'static 'joint-exploder-static-joint-params :joint-index 23) + (new 'static 'joint-exploder-static-joint-params :joint-index 8) + (new 'static 'joint-exploder-static-joint-params :joint-index 7) + (new 'static 'joint-exploder-static-joint-params :joint-index 26) + (new 'static 'joint-exploder-static-joint-params :joint-index 21) + (new 'static 'joint-exploder-static-joint-params :joint-index 24) + (new 'static 'joint-exploder-static-joint-params :joint-index 29) + (new 'static 'joint-exploder-static-joint-params :joint-index 11) + (new 'static 'joint-exploder-static-joint-params :joint-index 4) + (new 'static 'joint-exploder-static-joint-params :joint-index 6) + (new 'static 'joint-exploder-static-joint-params :joint-index 5) + (new 'static 'joint-exploder-static-joint-params :joint-index 12) + (new 'static 'joint-exploder-static-joint-params :joint-index 13) + (new 'static 'joint-exploder-static-joint-params :joint-index 14) + (new 'static 'joint-exploder-static-joint-params :joint-index 15) + (new 'static 'joint-exploder-static-joint-params :joint-index 16) + (new 'static 'joint-exploder-static-joint-params :joint-index 17) + (new 'static 'joint-exploder-static-joint-params :joint-index 18) + (new 'static 'joint-exploder-static-joint-params :joint-index 19) + (new 'static 'joint-exploder-static-joint-params :joint-index 3) + (new 'static 'joint-exploder-static-joint-params :joint-index 20) ) - (run-now-in-process - s5-1 - joint-exploder-init-by-other - *ice-cube-break-sg* - 2 - gp-1 - (new 'static 'joint-exploder-static-params - :joints - (new - 'static - 'boxed-array - :type joint-exploder-static-joint-params :length 22 :allocated-length 22 - (new 'static 'joint-exploder-static-joint-params :joint-index 28) - (new 'static 'joint-exploder-static-joint-params :joint-index 23) - (new 'static 'joint-exploder-static-joint-params :joint-index 8) - (new 'static 'joint-exploder-static-joint-params :joint-index 7) - (new 'static 'joint-exploder-static-joint-params :joint-index 26) - (new 'static 'joint-exploder-static-joint-params :joint-index 21) - (new 'static 'joint-exploder-static-joint-params :joint-index 24) - (new 'static 'joint-exploder-static-joint-params :joint-index 29) - (new 'static 'joint-exploder-static-joint-params :joint-index 11) - (new 'static 'joint-exploder-static-joint-params :joint-index 4) - (new 'static 'joint-exploder-static-joint-params :joint-index 6) - (new 'static 'joint-exploder-static-joint-params :joint-index 5) - (new 'static 'joint-exploder-static-joint-params :joint-index 12) - (new 'static 'joint-exploder-static-joint-params :joint-index 13) - (new 'static 'joint-exploder-static-joint-params :joint-index 14) - (new 'static 'joint-exploder-static-joint-params :joint-index 15) - (new 'static 'joint-exploder-static-joint-params :joint-index 16) - (new 'static 'joint-exploder-static-joint-params :joint-index 17) - (new 'static 'joint-exploder-static-joint-params :joint-index 18) - (new 'static 'joint-exploder-static-joint-params :joint-index 19) - (new 'static 'joint-exploder-static-joint-params :joint-index 3) - (new 'static 'joint-exploder-static-joint-params :joint-index 20) - ) - ) - ) - (-> s5-1 ppointer) ) + :to self ) ) (sound-play-by-name (static-sound-name "ice-explode") (new-sound-id) 1024 0 0 1 #t) diff --git a/goal_src/levels/snow/snow-ball.gc b/goal_src/levels/snow/snow-ball.gc index f38e87f59a..a5552ba673 100644 --- a/goal_src/levels/snow/snow-ball.gc +++ b/goal_src/levels/snow/snow-ball.gc @@ -6,6 +6,7 @@ ;; dgos: L1, SNO ;; DECOMP BEGINS + (import "goal_src/import/snow-ball-ag.gc") (deftype snow-ball-shadow (process-drawable) @@ -107,10 +108,8 @@ (define *snow-ball-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #xa)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 245760.0) + :center (new 'static 'vector :w (the-as float #xa)) + :shadow-dir (new 'static 'vector :y -1.0 :w 245760.0) :bot-plane (new 'static 'plane :y 1.0 :w 26624.0) :top-plane (new 'static 'plane :y 1.0) :fade-dist 819200.0 @@ -119,23 +118,20 @@ ) (defstate snow-ball-shadow-idle (snow-ball-shadow) - :trans - (behavior () + :trans (behavior () (set! (-> self root trans quad) (-> (the-as process-drawable (-> self parent 0)) root trans quad)) (update-direction-from-time-of-day (-> self draw shadow-ctrl)) 0 (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) (none) ) - :post - (the-as (function none :behavior snow-ball-shadow) ja-post) + :post (the-as (function none :behavior snow-ball-shadow) ja-post) ) (defbehavior snow-ball-shadow-init-by-other snow-ball-shadow () @@ -328,74 +324,59 @@ ) (defmethod dummy-22 snow-ball-roller ((obj snow-ball-roller) (arg0 process-drawable)) - (with-pp - (cond - ((< (+ 4096.0 (-> arg0 root trans y)) (-> obj root-override trans y)) - (let ((f0-2 81920.0)) - (+! (-> obj root-override transv y) f0-2) - (play-landing-sound obj f0-2) - ) + (cond + ((< (+ 4096.0 (-> arg0 root trans y)) (-> obj root-override trans y)) + (let ((f0-2 81920.0)) + (+! (-> obj root-override transv y) f0-2) + (play-landing-sound obj f0-2) ) - (else - (let ((f0-3 24576.0)) - (+! (-> obj root-override transv y) f0-3) - (play-landing-sound obj f0-3) - ) + ) + (else + (let ((f0-3 24576.0)) + (+! (-> obj root-override transv y) f0-3) + (play-landing-sound obj f0-3) ) ) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (let ((s3-0 (new 'stack-no-clear 'vector))) - (vector-! s4-0 (-> arg0 root trans) (-> obj root-override trans)) - (set! (-> s4-0 y) 0.0) - (vector-normalize! s4-0 1.0) - (TODO-RENAME-14 (-> obj path) s3-0 (-> obj path-u)) - (set! (-> s3-0 y) 0.0) - (vector-normalize! s3-0 1.0) - (let* ((f28-0 (atan (-> s4-0 x) (-> s4-0 z))) - (f30-0 (atan (-> s3-0 x) (-> s3-0 z))) - (f0-11 (deg- f28-0 f30-0)) - ) - (when (< (fabs f0-11) 10922.667) - (let ((f30-1 (+ f30-0 (if (>= f0-11 0.0) - 10922.667 - -10922.667 - ) - ) - ) - ) - (set-vector! s4-0 (sin f30-1) 0.0 (cos f30-1) 1.0) - ) - ) - ) - ) - (vector-normalize! s4-0 25600.0) - (vector+! s4-0 s4-0 (-> obj root-override trans)) - (vector-! s4-0 s4-0 (-> arg0 root trans)) - (set! (-> s4-0 y) 0.0) - (let ((f30-2 (vector-length s4-0))) - (vector-normalize! s4-0 1.0) - (let ((a1-17 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-17 from) pp) - (set! (-> a1-17 num-params) 2) - (set! (-> a1-17 message) 'attack) - (set! (-> a1-17 param 0) (the-as uint #f)) - (let ((v1-20 (new 'static 'attack-info :mask #xc2))) - (set! (-> v1-20 vector quad) (-> s4-0 quad)) - (set! (-> v1-20 shove-up) 12288.0) - (set! (-> v1-20 shove-back) f30-2) - (set! (-> a1-17 param 1) (the-as uint v1-20)) - ) - (send-event-function arg0 a1-17) - ) - ) - ) - (none) ) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (vector-! s4-0 (-> arg0 root trans) (-> obj root-override trans)) + (set! (-> s4-0 y) 0.0) + (vector-normalize! s4-0 1.0) + (TODO-RENAME-14 (-> obj path) s3-0 (-> obj path-u)) + (set! (-> s3-0 y) 0.0) + (vector-normalize! s3-0 1.0) + (let* ((f28-0 (atan (-> s4-0 x) (-> s4-0 z))) + (f30-0 (atan (-> s3-0 x) (-> s3-0 z))) + (f0-11 (deg- f28-0 f30-0)) + ) + (when (< (fabs f0-11) 10922.667) + (let ((f30-1 (+ f30-0 (if (>= f0-11 0.0) + 10922.667 + -10922.667 + ) + ) + ) + ) + (set-vector! s4-0 (sin f30-1) 0.0 (cos f30-1) 1.0) + ) + ) + ) + ) + (vector-normalize! s4-0 25600.0) + (vector+! s4-0 s4-0 (-> obj root-override trans)) + (vector-! s4-0 s4-0 (-> arg0 root trans)) + (set! (-> s4-0 y) 0.0) + (let ((f30-2 (vector-length s4-0))) + (vector-normalize! s4-0 1.0) + (send-event arg0 'attack #f (static-attack-info ((vector s4-0) (shove-up (meters 3)) (shove-back f30-2)))) + ) + ) + (none) ) (defstate snow-ball-roller-idle (snow-ball-roller) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (or (= v1-0 'touch) (= v1-0 'attack)) (when (= (-> arg0 type) target) @@ -409,14 +390,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self last-bounce-time) (-> *display* base-frame-counter)) (snow-ball-roller-path-init) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self rolling-sound-enabled?) #f) (when (nonzero? (-> self rolling-sound-id)) (sound-stop (-> self rolling-sound-id)) @@ -425,21 +404,18 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (snow-ball-roller-path-update) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) (none) ) - :post - (the-as (function none :behavior snow-ball-roller) transform-post) + :post (the-as (function none :behavior snow-ball-roller) transform-post) ) (defbehavior snow-ball-roller-init-by-other snow-ball-roller ((arg0 entity-actor) (arg1 snow-ball) (arg2 float) (arg3 int) (arg4 (inline-array snow-ball-junction))) @@ -491,15 +467,7 @@ ) ) (set! (-> self delay-til-bounce) (rand-vu-int-range 900 2100)) - (let ((gp-1 (get-process *default-dead-pool* snow-ball-shadow #x4000))) - (when gp-1 - (let ((t9-11 (method-of-type snow-ball-shadow activate))) - (t9-11 (the-as snow-ball-shadow gp-1) self 'snow-ball-shadow (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 snow-ball-shadow-init-by-other) - (-> gp-1 ppointer) - ) - ) + (process-spawn snow-ball-shadow :to self) (go snow-ball-roller-idle) (none) ) @@ -552,8 +520,7 @@ ) (defstate snow-ball-idle (snow-ball) - :code - (behavior () + :code (behavior () (local-vars (gp-0 int)) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self delay-til-next) 0) @@ -579,15 +546,7 @@ (let ((s3-0 (/ (+ 98304.0 (rand-vu-float-range 0.0 32768.0)) (path-distance (-> self path gp-0))))) (dummy-14 self s5-0 s3-0 gp-0) (when (dummy-15 self s5-0 gp-0) - (let ((s4-1 (get-process *default-dead-pool* snow-ball-roller #x4000))) - (when s4-1 - (let ((t9-6 (method-of-type snow-ball-roller activate))) - (t9-6 (the-as snow-ball-roller s4-1) self 'snow-ball-roller (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 snow-ball-roller-init-by-other (-> self entity) self s3-0 gp-0 s5-0) - (-> s4-1 ppointer) - ) - ) + (process-spawn snow-ball-roller (-> self entity) self s3-0 gp-0 s5-0 :to self) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self delay-til-next) (rand-vu-int-range 450 1650)) (cond diff --git a/goal_src/levels/snow/snow-bumper.gc b/goal_src/levels/snow/snow-bumper.gc index aee228bc97..eca8506c0f 100644 --- a/goal_src/levels/snow/snow-bumper.gc +++ b/goal_src/levels/snow/snow-bumper.gc @@ -11,6 +11,7 @@ ;; DECOMP BEGINS + (import "goal_src/import/snow-bumper-ag.gc") (deftype snow-bumper (process-drawable) @@ -47,13 +48,11 @@ :id 519 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1893 :fade-after (meters 90) :falloff-to (meters 90) :period 25 :length 10)) + :parts ((sp-item 1893 :fade-after (meters 90) :falloff-to (meters 90) :period 25 :length 10)) ) (defpart 1893 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 15.0) (sp-flt spt-y (meters 1.5)) (sp-flt spt-z (meters 0)) @@ -80,13 +79,11 @@ :id 520 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1895)) + :parts ((sp-item 1895)) ) (defpart 1895 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 16.0) (sp-flt spt-x (meters 5.5)) (sp-flt spt-y (meters 1.5)) @@ -108,70 +105,54 @@ ) (defmethod shove-player snow-bumper ((obj snow-bumper) (arg0 process-drawable)) - (with-pp - (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector-! s5-0 (-> arg0 root trans) (-> obj root trans)) - (set! (-> s5-0 y) 0.0) - (vector-normalize! s5-0 1.0) - (let* ((f0-3 (atan (-> s5-0 x) (-> s5-0 z))) - (f30-0 (-> obj base-shove-ry)) - (f28-0 (-> obj max-shove-diff-ry)) - (f0-4 (deg- f0-3 f30-0)) - ) - (when (< f28-0 (fabs f0-4)) - (let ((f30-1 (if (>= f0-4 0.0) - (+ f30-0 f28-0) - (- f30-0 f28-0) - ) - ) - ) - (set-vector! s5-0 (sin f30-1) 0.0 (cos f30-1) 1.0) - ) - ) - ) - (let ((f0-12 (+ -16384.0 (atan (-> s5-0 x) (-> s5-0 z))))) - (set! (-> *part-id-table* 1895 init-specs 17 initial-valuef) (+ -4096.0 f0-12)) - ) - (spawn (-> obj part2) (-> obj root trans)) - (let ((s3-1 (new 'stack-no-clear 'vector))) - (vector-normalize-copy! s3-1 s5-0 32768.0) - (vector+! s3-1 s3-1 (-> obj root trans)) - (vector-! s5-0 s3-1 (-> arg0 root trans)) - ) - (let ((f30-3 (vector-xz-length s5-0))) - (vector-normalize! s5-0 1.0) - (let ((a1-12 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-12 from) pp) - (set! (-> a1-12 num-params) 2) - (set! (-> a1-12 message) 'shove) - (set! (-> a1-12 param 0) (the-as uint #f)) - (let ((v1-16 (new 'static 'attack-info :mask #xc2))) - (set! (-> v1-16 vector quad) (-> s5-0 quad)) - (set! (-> v1-16 shove-up) 4096.0) - (set! (-> v1-16 shove-back) f30-3) - (set! (-> a1-12 param 1) (the-as uint v1-16)) - ) - (if (send-event-function *target* a1-12) - (set! (-> obj last-shoved-player-time) (-> *display* base-frame-counter)) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (vector-! s5-0 (-> arg0 root trans) (-> obj root trans)) + (set! (-> s5-0 y) 0.0) + (vector-normalize! s5-0 1.0) + (let* ((f0-3 (atan (-> s5-0 x) (-> s5-0 z))) + (f30-0 (-> obj base-shove-ry)) + (f28-0 (-> obj max-shove-diff-ry)) + (f0-4 (deg- f0-3 f30-0)) + ) + (when (< f28-0 (fabs f0-4)) + (let ((f30-1 (if (>= f0-4 0.0) + (+ f30-0 f28-0) + (- f30-0 f28-0) + ) + ) ) + (set-vector! s5-0 (sin f30-1) 0.0 (cos f30-1) 1.0) ) ) ) - (none) + (let ((f0-12 (+ -16384.0 (atan (-> s5-0 x) (-> s5-0 z))))) + (set! (-> *part-id-table* 1895 init-specs 17 initial-valuef) (+ -4096.0 f0-12)) + ) + (spawn (-> obj part2) (-> obj root trans)) + (let ((s3-1 (new 'stack-no-clear 'vector))) + (vector-normalize-copy! s3-1 s5-0 32768.0) + (vector+! s3-1 s3-1 (-> obj root trans)) + (vector-! s5-0 s3-1 (-> arg0 root trans)) + ) + (let ((f30-3 (vector-xz-length s5-0))) + (vector-normalize! s5-0 1.0) + (if (send-event *target* 'shove #f (static-attack-info ((vector s5-0) (shove-up (meters 1)) (shove-back f30-3)))) + (set! (-> obj last-shoved-player-time) (-> *display* base-frame-counter)) + ) + ) ) + (none) ) (defstate snow-bumper-active-far-idle (snow-bumper) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 135895450000.0 (vector-vector-xz-distance-squared (-> self root trans) (target-pos 0)))) (go snow-bumper-active-close-idle) ) 0 (none) ) - :code - (behavior () + :code (behavior () (transform-post) (suspend) (loop @@ -183,8 +164,7 @@ ) (defstate snow-bumper-active-close-idle (snow-bumper) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack 'bonk) (when (= (-> arg0 type) target) @@ -204,8 +184,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (cond (*target* (let* ((gp-0 (target-pos 0)) @@ -232,8 +211,7 @@ (update! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (transform-post) (suspend) (loop @@ -245,16 +223,13 @@ ) (defstate snow-bumper-deactivate (snow-bumper) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (the-as (function none :behavior snow-bumper) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior snow-bumper) rider-trans) + :code (behavior () (local-vars (sv-16 symbol)) (logclear! (-> self mask) (process-mask actor-pause)) (sound-play-by-name (static-sound-name "bumper-pwr-dwn") (new-sound-id) 1024 0 0 1 #t) @@ -285,13 +260,11 @@ (go snow-bumper-inactive-idle) (none) ) - :post - (the-as (function none :behavior snow-bumper) rider-post) + :post (the-as (function none :behavior snow-bumper) rider-post) ) (defstate snow-bumper-spawn-fuel-cell (snow-bumper) - :code - (behavior () + :code (behavior () (ja-channel-set! 1) (ja :group! snow-bumper-collapse-ja :num! max) (transform-post) @@ -314,8 +287,7 @@ ) (defstate snow-bumper-inactive-idle (snow-bumper) - :code - (behavior () + :code (behavior () (set! (-> self root nav-radius) 6963.2) (ja-channel-set! 1) (ja :group! snow-bumper-collapse-ja :num! max) diff --git a/goal_src/levels/snow/snow-bunny.gc b/goal_src/levels/snow/snow-bunny.gc index b57174e5ab..7a8bf6e53b 100644 --- a/goal_src/levels/snow/snow-bunny.gc +++ b/goal_src/levels/snow/snow-bunny.gc @@ -6,6 +6,7 @@ ;; dgos: CIT, L1, SNO ;; DECOMP BEGINS + (import "goal_src/import/snow-bunny-ag.gc") (deftype snow-bunny (nav-enemy) @@ -111,18 +112,11 @@ (go-virtual nav-enemy-die) ) (('touch) - (let ((a1-5 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-5 from) self) - (set! (-> a1-5 num-params) 2) - (set! (-> a1-5 message) 'attack) - (set! (-> a1-5 param 0) (-> arg3 param 0)) - (set! (-> a1-5 param 1) (the-as uint (new 'static 'attack-info))) - (when (send-event-function arg0 a1-5) - (set! (-> self touch-time) (-> *display* base-frame-counter)) - (set-collide-offense (-> self collide-info) 2 (collide-offense no-offense)) - (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) - (go-virtual snow-bunny-attack) - ) + (when (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) + (set! (-> self touch-time) (-> *display* base-frame-counter)) + (set-collide-offense (-> self collide-info) 2 (collide-offense no-offense)) + (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) + (go-virtual snow-bunny-attack) ) ) (('jump) @@ -320,19 +314,16 @@ (defstate snow-bunny-tune-spheres (snow-bunny) :virtual override - :code - (behavior () + :code (behavior () 0 (none) ) - :post - (the-as (function none :behavior snow-bunny) transform-post) + :post (the-as (function none :behavior snow-bunny) transform-post) ) (defstate nav-enemy-idle (snow-bunny) :virtual #t - :enter - (behavior () + :enter (behavior () (dummy-76 self #f) (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-idle) enter))) (if t9-1 @@ -341,13 +332,10 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja :group! - (-> self draw art-group data (-> self nav-info idle-anim)) - :num! - (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) + (ja :group! (-> self draw art-group data (-> self nav-info idle-anim)) + :num! (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) ) (let ((f30-0 (nav-enemy-rnd-float-range 0.75 1.25))) (loop @@ -361,12 +349,9 @@ (defstate nav-enemy-patrol (snow-bunny) :virtual #t - :enter - (the-as (function none :behavior snow-bunny) #f) - :trans - (the-as (function none :behavior snow-bunny) #f) - :code - (behavior () + :enter (the-as (function none :behavior snow-bunny) #f) + :trans (the-as (function none :behavior snow-bunny) #f) + :code (behavior () (go-virtual snow-bunny-nav-resume) (none) ) @@ -374,8 +359,7 @@ (defstate snow-bunny-nav-resume (snow-bunny) :virtual override - :code - (behavior () + :code (behavior () (cond (*target* (let ((f0-0 (vector-vector-distance (target-pos 0) (-> self collide-info trans)))) @@ -405,10 +389,8 @@ (defstate snow-bunny-patrol-idle (snow-bunny) :virtual override - :event - snow-bunny-default-event-handler - :enter - (behavior () + :event snow-bunny-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (dummy-76 self #f) (set! (-> self nav flags) (logior (nav-control-flags navcf19) (-> self nav flags))) @@ -417,8 +399,7 @@ (set! (-> self state-timeout) (seconds 0.1)) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-57 self) (go-virtual snow-bunny-defend) ) @@ -438,8 +419,7 @@ (dummy-58 self) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (nav-enemy-rnd-int-count 3))) (when (and (not (-> self patrol-hop-failed?)) (zero? gp-0)) (if (dummy-53 self) @@ -449,10 +429,8 @@ (set! (-> self patrol-hop-failed?) #f) (let ((gp-2 (min gp-0 (nav-enemy-rnd-int-count 3)))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! - (-> self draw art-group data (-> self nav-info idle-anim)) - :num! - (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) + (ja :group! (-> self draw art-group data (-> self nav-info idle-anim)) + :num! (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) ) (loop (let ((s5-1 (-> *display* base-frame-counter))) @@ -476,8 +454,7 @@ ) (none) ) - :post - (the-as (function none :behavior snow-bunny) nav-enemy-simple-post) + :post (the-as (function none :behavior snow-bunny) nav-enemy-simple-post) ) (defmethod dummy-51 snow-bunny ((obj snow-bunny) (arg0 vector) (arg1 vector)) @@ -605,10 +582,8 @@ (defstate snow-bunny-patrol-hop (snow-bunny) :virtual override - :event - snow-bunny-default-event-handler - :enter - (behavior () + :event snow-bunny-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (when (not (dummy-54 self)) (set! (-> self patrol-hop-failed?) #t) @@ -624,19 +599,16 @@ (set! (-> self turn-time) (seconds 0.1)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) (logclear! (-> self collide-info nav-flags) (nav-flags navf1)) (none) ) - :trans - (behavior () + :trans (behavior () (dummy-58 self) (none) ) - :code - (behavior () + :code (behavior () (snow-bunny-execute-jump) (if (-> self using-jump-event?) (set-current-poly! (-> self nav) (dummy-16 (-> self nav) (-> self collide-info trans))) @@ -649,16 +621,13 @@ ) (none) ) - :post - (the-as (function none :behavior snow-bunny) nav-enemy-jump-post) + :post (the-as (function none :behavior snow-bunny) nav-enemy-jump-post) ) (defstate nav-enemy-notice (snow-bunny) :virtual #t - :event - snow-bunny-default-event-handler - :enter - (behavior () + :event snow-bunny-default-event-handler + :enter (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (nav-enemy-neck-control-look-at) (if (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf1)) @@ -669,19 +638,15 @@ (set-vector! (-> self collide-info transv) 0.0 (nav-enemy-rnd-float-range 102400.0 131072.0) 0.0 1.0) (none) ) - :exit - (the-as (function none :behavior snow-bunny) #f) - :trans - (behavior () + :exit (the-as (function none :behavior snow-bunny) #f) + :trans (behavior () (dummy-58 self) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info notice-anim)) :num! (seek! (ja-aframe 8.0 0) f30-0) :frame-num 0.0 ) @@ -710,8 +675,7 @@ (suspend) ) (ja-channel-push! 1 (seconds 0.075)) - (ja-no-eval :group! - (-> self draw art-group data (-> self notice-land-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self notice-land-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -723,25 +687,19 @@ (go-virtual nav-enemy-chase) (none) ) - :post - (the-as (function none :behavior snow-bunny) nav-enemy-simple-post) + :post (the-as (function none :behavior snow-bunny) nav-enemy-simple-post) ) (defstate nav-enemy-chase (snow-bunny) :virtual #t - :event - (the-as (function process int symbol event-message-block object :behavior snow-bunny) #f) - :exit - (the-as (function none :behavior snow-bunny) #f) - :trans - (the-as (function none :behavior snow-bunny) #f) - :code - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior snow-bunny) #f) + :exit (the-as (function none :behavior snow-bunny) #f) + :trans (the-as (function none :behavior snow-bunny) #f) + :code (behavior () (go-virtual snow-bunny-chase-hop) (none) ) - :post - (the-as (function none :behavior snow-bunny) #f) + :post (the-as (function none :behavior snow-bunny) #f) ) (defmethod dummy-52 snow-bunny ((obj snow-bunny)) @@ -814,10 +772,8 @@ (defstate snow-bunny-chase-hop (snow-bunny) :virtual override - :event - snow-bunny-default-event-handler - :enter - (behavior () + :event snow-bunny-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self should-retreat?) #f) (if (or (not *target*) (logtest? (-> *target* state-flags) (state-flags sf07))) @@ -840,22 +796,19 @@ (set! (-> self turn-time) (seconds 0.1)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) (logclear! (-> self collide-info nav-flags) (nav-flags navf1)) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-57 self) (set! (-> self should-retreat?) #t) ) (dummy-58 self) (none) ) - :code - (behavior () + :code (behavior () (snow-bunny-execute-jump) (if (-> self using-jump-event?) (set-current-poly! (-> self nav) (dummy-16 (-> self nav) (-> self collide-info trans))) @@ -866,14 +819,12 @@ (go-virtual snow-bunny-chase-hop) (none) ) - :post - (the-as (function none :behavior snow-bunny) nav-enemy-jump-post) + :post (the-as (function none :behavior snow-bunny) nav-enemy-jump-post) ) (defstate snow-bunny-defend (snow-bunny) :virtual override - :code - (behavior () + :code (behavior () (if (= (-> self defense) 1) (go-virtual snow-bunny-retreat-hop) (go-virtual snow-bunny-lunge) @@ -1087,10 +1038,8 @@ (defstate snow-bunny-retreat-hop (snow-bunny) :virtual override - :event - snow-bunny-default-event-handler - :enter - (behavior () + :event snow-bunny-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (if (not *target*) (go-virtual nav-enemy-patrol) @@ -1123,19 +1072,16 @@ (set! (-> self turn-time) (seconds 0.1)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) (logclear! (-> self collide-info nav-flags) (nav-flags navf1)) (none) ) - :trans - (behavior () + :trans (behavior () (dummy-58 self) (none) ) - :code - (behavior () + :code (behavior () (snow-bunny-execute-jump) (if (-> self using-jump-event?) (set-current-poly! (-> self nav) (dummy-16 (-> self nav) (-> self collide-info trans))) @@ -1143,22 +1089,18 @@ (go-virtual snow-bunny-retreat-hop) (none) ) - :post - (the-as (function none :behavior snow-bunny) nav-enemy-jump-post) + :post (the-as (function none :behavior snow-bunny) nav-enemy-jump-post) ) (defstate snow-bunny-lunge (snow-bunny) :virtual override - :event - snow-bunny-default-event-handler - :enter - (behavior () + :event snow-bunny-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (dummy-76 self #f) (none) ) - :trans - (behavior () + :trans (behavior () (if (not *target*) (go-virtual nav-enemy-patrol) ) @@ -1178,8 +1120,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (loop (ja-no-eval :group! (-> self draw art-group data (-> self nav-info idle-anim)) :num! (seek!) :frame-num 0.0) @@ -1190,23 +1131,19 @@ ) (none) ) - :post - (the-as (function none :behavior snow-bunny) nav-enemy-simple-post) + :post (the-as (function none :behavior snow-bunny) nav-enemy-simple-post) ) (defstate snow-bunny-attack (snow-bunny) :virtual override - :event - snow-bunny-default-event-handler - :enter - (behavior () + :event snow-bunny-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set-vector! (-> self collide-info transv) 0.0 0.0 0.0 1.0) (dummy-76 self #t) (none) ) - :trans - (behavior () + :trans (behavior () (when *target* (let ((gp-0 (new 'stack-no-clear 'vector))) (vector-! gp-0 (target-pos 0) (-> self collide-info trans)) @@ -1225,8 +1162,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! (-> self draw art-group data (-> self attack-anim)) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1239,8 +1175,7 @@ (go-virtual snow-bunny-retreat-hop) (none) ) - :post - (the-as (function none :behavior snow-bunny) nav-enemy-simple-post) + :post (the-as (function none :behavior snow-bunny) nav-enemy-simple-post) ) diff --git a/goal_src/levels/snow/snow-flutflut-obs.gc b/goal_src/levels/snow/snow-flutflut-obs.gc index e9a25ed0bf..ba4432a4e4 100644 --- a/goal_src/levels/snow/snow-flutflut-obs.gc +++ b/goal_src/levels/snow/snow-flutflut-obs.gc @@ -15,10 +15,11 @@ ;; DECOMP BEGINS -(import "goal_src/import/flutflut-plat-small-ag.gc") -(import "goal_src/import/flutflut-plat-large-ag.gc") + (import "goal_src/import/snow-button-ag.gc") (import "goal_src/import/flutflut-plat-med-ag.gc") +(import "goal_src/import/flutflut-plat-small-ag.gc") +(import "goal_src/import/flutflut-plat-large-ag.gc") (deftype flutflut-plat (plat) ((has-path? symbol :offset-assert 264) @@ -94,15 +95,13 @@ :id 516 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2087 :fade-after (meters 50) :falloff-to (meters 50)) + :parts ((sp-item 2087 :fade-after (meters 50) :falloff-to (meters 50)) (sp-item 2088 :fade-after (meters 120) :falloff-to (meters 120)) ) ) (defpart 2087 - :init-specs - ((sp-flt spt-num 1.5) + :init-specs ((sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters -1)) (sp-rnd-flt spt-z (meters -2) (meters 4) 1.0) @@ -119,8 +118,7 @@ ) (defpart 2088 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -3) (meters 6) 1.0) (sp-flt spt-y (meters -1.25)) @@ -145,15 +143,13 @@ :id 517 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2089 :fade-after (meters 50) :falloff-to (meters 50)) + :parts ((sp-item 2089 :fade-after (meters 50) :falloff-to (meters 50)) (sp-item 2090 :fade-after (meters 120) :falloff-to (meters 120)) ) ) (defpart 2089 - :init-specs - ((sp-flt spt-num 3.0) + :init-specs ((sp-flt spt-num 3.0) (sp-flt spt-y (meters -2.5)) (sp-int spt-rot-x 5) (sp-flt spt-r 5324.8) @@ -170,8 +166,7 @@ ) (defpart 2090 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters -2.25)) (sp-rnd-flt spt-scale-x (meters 3) (meters 2) 1.0) @@ -196,15 +191,13 @@ :id 518 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2091 :fade-after (meters 50) :falloff-to (meters 50)) + :parts ((sp-item 2091 :fade-after (meters 50) :falloff-to (meters 50)) (sp-item 2092 :fade-after (meters 120) :falloff-to (meters 120)) ) ) (defpart 2091 - :init-specs - ((sp-flt spt-num 4.0) + :init-specs ((sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters -1.5)) (sp-rnd-flt spt-z (meters -6) (meters 12) 1.0) @@ -221,8 +214,7 @@ ) (defpart 2092 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters -1.25)) @@ -244,8 +236,7 @@ ) (defstate snow-button-up-idle (snow-button) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-2 object)) (case arg2 (('touch 'attack 'bonk) @@ -265,8 +256,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) (logior! (-> self mask) (process-mask sleep-code)) @@ -277,8 +267,7 @@ ) (defstate snow-button-activate (snow-button) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) (case arg2 (('untrigger) @@ -290,8 +279,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self wiggled?) #f) (sleep (-> self ticker) (-> self timeout)) @@ -310,8 +298,7 @@ (send-to-all-after (-> self link) 'trigger) (none) ) - :trans - (behavior () + :trans (behavior () (if (completed? (-> self ticker)) (go snow-button-deactivate) ) @@ -324,8 +311,7 @@ (rider-trans) (none) ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "prec-button1") (new-sound-id) 1024 -1524 0 1 #t) (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -337,13 +323,11 @@ 0 (none) ) - :post - (the-as (function none :behavior snow-button) rider-post) + :post (the-as (function none :behavior snow-button) rider-post) ) (defstate snow-button-deactivate (snow-button) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 symbol)) (case arg2 (('query) @@ -352,16 +336,13 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :trans - (the-as (function none :behavior snow-button) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior snow-button) rider-trans) + :code (behavior () (send-to-all-after (-> self link) 'untrigger) (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.6)) @@ -375,8 +356,7 @@ (go snow-button-up-idle) (none) ) - :post - (the-as (function none :behavior snow-button) rider-post) + :post (the-as (function none :behavior snow-button) rider-post) ) (defmethod init-from-entity! snow-button ((obj snow-button) (arg0 entity-actor)) @@ -509,8 +489,7 @@ (defstate plat-startup (flutflut-plat) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (when (or (!= (-> self plat-type) 1) @@ -522,8 +501,7 @@ ) ) ) - :code - (behavior ((arg0 plat)) + :code (behavior ((arg0 plat)) (cond ((and (= (-> self plat-type) 1) (-> self entity) @@ -558,8 +536,7 @@ ) (defstate flutflut-plat-hidden-idle (flutflut-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (logclear! (-> self mask) (process-mask actor-pause)) @@ -567,15 +544,13 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (and (= (-> self plat-type) 1) (get-lit-skel self)) (go flutflut-plat-appear) ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (clear-collide-with-as (-> self root-override)) (set! (-> self root-override trans quad) (-> self appear-trans-top quad)) @@ -588,8 +563,7 @@ ) (defstate flutflut-plat-appear (flutflut-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (or (= v1-0 'bonk) (= v1-0 'bounce)) (dummy-22 self) @@ -597,8 +571,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self mask) (process-mask actor-pause)) (logclear! (-> self draw status) (draw-status hidden)) @@ -616,13 +589,11 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (behavior () + :trans (behavior () (plat-trans) (let* ((f0-1 (fmin @@ -662,16 +633,13 @@ (dummy-20 self) (none) ) - :code - (the-as (function none :behavior flutflut-plat) anim-loop) - :post - (the-as (function none :behavior flutflut-plat) rider-post) + :code (the-as (function none :behavior flutflut-plat) anim-loop) + :post (the-as (function none :behavior flutflut-plat) rider-post) ) (defstate plat-idle (flutflut-plat) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((or (= v1-0 'bonk) (= v1-0 'bounce)) @@ -684,8 +652,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (let ((t9-0 (-> (method-of-type plat plat-idle) enter))) (if t9-0 (t9-0) @@ -694,8 +661,7 @@ (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (let ((t9-0 (-> (method-of-type plat plat-idle) exit))) (if t9-0 @@ -704,8 +670,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((t9-0 (-> (method-of-type plat plat-idle) trans))) (if t9-0 (t9-0) @@ -720,8 +685,7 @@ (defstate plat-path-active (flutflut-plat) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((or (= v1-0 'bonk) (= v1-0 'bounce)) @@ -734,8 +698,7 @@ ) ) ) - :enter - (behavior ((arg0 plat)) + :enter (behavior ((arg0 plat)) (let ((t9-0 (-> (method-of-type plat plat-path-active) enter))) (if t9-0 (t9-0 arg0) @@ -748,8 +711,7 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (let ((t9-0 (-> (method-of-type plat plat-path-active) exit))) (if t9-0 @@ -761,8 +723,7 @@ ) (defstate flutflut-plat-hide (flutflut-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'bonk) (dummy-22 self) @@ -770,8 +731,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self mask) (process-mask actor-pause)) (logclear! (-> self root-override root-prim prim-core action) (collide-action ca-1)) @@ -788,14 +748,12 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (logior! (-> self root-override root-prim prim-core action) (collide-action ca-1)) (none) ) - :trans - (behavior () + :trans (behavior () (plat-trans) (let* ((f0-1 (fmin @@ -818,15 +776,12 @@ (dummy-20 self) (none) ) - :code - (the-as (function none :behavior flutflut-plat) anim-loop) - :post - (the-as (function none :behavior flutflut-plat) rider-post) + :code (the-as (function none :behavior flutflut-plat) anim-loop) + :post (the-as (function none :behavior flutflut-plat) rider-post) ) (defstate elevator-idle-at-cave (flutflut-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -848,27 +803,22 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self path-pos) 0.0) (eval-path-curve! (-> self path) (-> self basetrans) 0.0 'interp) (none) ) - :trans - (behavior () + :trans (behavior () (plat-trans) (dummy-20 self) (none) ) - :code - (the-as (function none :behavior flutflut-plat) anim-loop) - :post - (the-as (function none :behavior flutflut-plat) plat-post) + :code (the-as (function none :behavior flutflut-plat) anim-loop) + :post (the-as (function none :behavior flutflut-plat) plat-post) ) (defstate elevator-travel-to-fort (flutflut-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (or (= v1-0 'bonk) (= v1-0 'bounce)) (dummy-22 self) @@ -876,8 +826,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (= (-> self path-pos) 1.0) (dummy-22 self) (go elevator-idle-at-fort) @@ -888,15 +837,12 @@ (dummy-20 self) (none) ) - :code - (the-as (function none :behavior flutflut-plat) anim-loop) - :post - (the-as (function none :behavior flutflut-plat) plat-post) + :code (the-as (function none :behavior flutflut-plat) anim-loop) + :post (the-as (function none :behavior flutflut-plat) plat-post) ) (defstate elevator-idle-at-fort (flutflut-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (or (= v1-0 'bonk) (= v1-0 'bounce)) (dummy-22 self) @@ -904,14 +850,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self path-pos) 1.0) (eval-path-curve! (-> self path) (-> self basetrans) 1.0 'interp) (none) ) - :trans - (behavior () + :trans (behavior () (when *target* (if (and (>= 798720.0 (-> (target-pos 0) y)) (not (and (logtest? (-> *target* control unknown-surface00 flags) (surface-flags surf11)) @@ -926,15 +870,12 @@ (dummy-20 self) (none) ) - :code - (the-as (function none :behavior flutflut-plat) anim-loop) - :post - (the-as (function none :behavior flutflut-plat) plat-post) + :code (the-as (function none :behavior flutflut-plat) anim-loop) + :post (the-as (function none :behavior flutflut-plat) plat-post) ) (defstate elevator-travel-to-cave (flutflut-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (or (= v1-0 'bonk) (= v1-0 'bounce)) (dummy-22 self) @@ -942,8 +883,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (= (-> self path-pos) 0.0) (dummy-22 self) (go elevator-idle-at-cave) @@ -954,10 +894,8 @@ (dummy-20 self) (none) ) - :code - (the-as (function none :behavior flutflut-plat) anim-loop) - :post - (the-as (function none :behavior flutflut-plat) plat-post) + :code (the-as (function none :behavior flutflut-plat) anim-loop) + :post (the-as (function none :behavior flutflut-plat) plat-post) ) (deftype flutflut-plat-small (flutflut-plat) diff --git a/goal_src/levels/snow/snow-obs.gc b/goal_src/levels/snow/snow-obs.gc index dc734cc57b..169adf975d 100644 --- a/goal_src/levels/snow/snow-obs.gc +++ b/goal_src/levels/snow/snow-obs.gc @@ -6,14 +6,15 @@ ;; dgos: L1, SNO ;; DECOMP BEGINS -(import "goal_src/import/snow-fort-gate-ag.gc") + (import "goal_src/import/snowcam-ag.gc") -(import "goal_src/import/snow-gears-ag.gc") -(import "goal_src/import/snow-log-ag.gc") -(import "goal_src/import/snow-switch-ag.gc") +(import "goal_src/import/snow-fort-gate-ag.gc") (import "goal_src/import/snow-eggtop-ag.gc") (import "goal_src/import/snow-spatula-ag.gc") +(import "goal_src/import/snow-switch-ag.gc") +(import "goal_src/import/snow-gears-ag.gc") (import "goal_src/import/snowpusher-ag.gc") +(import "goal_src/import/snow-log-ag.gc") (deftype snowcam (pov-camera) ((seq uint64 :offset-assert 224) @@ -37,8 +38,7 @@ (defstate pov-camera-playing (snowcam) :virtual #t - :code - (behavior () + :code (behavior () (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) @@ -64,19 +64,18 @@ ) ) ((= v1-0 1) - (let* ((gp-1 (get-process *default-dead-pool* fuel-cell #x4000)) - (gp-2 - (ppointer->handle - (when gp-1 - (let ((t9-10 (method-of-type fuel-cell activate))) - (t9-10 (the-as fuel-cell gp-1) (ppointer->process (-> self parent)) 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 fuel-cell-init-as-clone (process->handle self) (-> self entity extra perm task)) - (-> gp-1 ppointer) - ) - ) - ) - ) + (let ((gp-2 + (ppointer->handle + (process-spawn + fuel-cell + :init fuel-cell-init-as-clone + (process->handle self) + (-> self entity extra perm task) + :to (ppointer->process (-> self parent)) + ) + ) + ) + ) (push-setting! *setting-control* self 'music-volume 'abs 0.0 0) (push-setting! *setting-control* self 'sfx-volume 'rel 50.0 0) (ja-play-spooled-anim @@ -143,8 +142,7 @@ (defpartgroup group-snow-yellow-eco-room-open :id 510 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 1990 :fade-after (meters 110)) + :parts ((sp-item 1990 :fade-after (meters 110)) (sp-item 1991 :fade-after (meters 110)) (sp-item 1992 :fade-after (meters 110)) (sp-item 1993 :fade-after (meters 110)) @@ -156,13 +154,11 @@ :id 511 :duration 900 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 1994) (sp-item 1994) (sp-item 1995 :flags (bit1) :period 1200 :length 15)) + :parts ((sp-item 1994) (sp-item 1994) (sp-item 1995 :flags (bit1) :period 1200 :length 15)) ) (defpart 1995 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 30.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 20) (meters 10) 1.0) @@ -183,18 +179,15 @@ ) (defpart 1996 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 225) (sp-launcher-by-id spt-next-launcher 1997)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 225) (sp-launcher-by-id spt-next-launcher 1997)) ) (defpart 1997 - :init-specs - ((sp-flt spt-fade-a -0.14222223)) + :init-specs ((sp-flt spt-fade-a -0.14222223)) ) (defpart 1990 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 10) (meters 2) 1.0) @@ -209,8 +202,7 @@ ) (defpart 1991 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 3) (meters 2) 1.0) @@ -225,8 +217,7 @@ ) (defpart 1992 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.5 1.0 1.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) @@ -246,8 +237,7 @@ ) (defpart 1998 - :init-specs - ((sp-flt spt-r 64.0) + :init-specs ((sp-flt spt-r 64.0) (sp-flt spt-g 64.0) (sp-flt spt-fade-r -1.0) (sp-flt spt-fade-g -1.0) @@ -256,8 +246,7 @@ ) (defpart 1993 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.5 1.0 1.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) @@ -277,8 +266,7 @@ ) (defpart 1994 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-y (meters -6.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 2) 1.0) @@ -301,8 +289,7 @@ ) (defstate snow-eggtop-idle-up (snow-eggtop) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'notify) (case (-> arg3 param 0) @@ -316,8 +303,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (and (not (-> self child)) (task-complete? *game-info* (-> self entity extra perm task))) (go snow-eggtop-activate) ) @@ -325,8 +311,7 @@ (update! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 0) (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) @@ -339,8 +324,7 @@ ) (defstate snow-eggtop-activate (snow-eggtop) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('notify) (when (= (-> arg0 type) snowcam) @@ -361,62 +345,45 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #t) (set! (-> self play-sound?) #t) (none) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :trans - (the-as (function none :behavior snow-eggtop) rider-trans) - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 511) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + :trans (the-as (function none :behavior snow-eggtop) rider-trans) + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 511) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) - (let* ((gp-1 (get-process *default-dead-pool* snowcam #x4000)) - (v1-7 - (when gp-1 - (let ((t9-4 (method-of-type snowcam activate))) - (t9-4 (the-as snowcam gp-1) self 'snowcam (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - pov-camera-init-by-other - (-> self spawn-trans) - *snowcam-sg* - "gearstart" - 0 - self - '((0 ambient camera "gamcam38") (10 alive "ecovent-278")) - ) - (-> gp-1 ppointer) - ) - ) - ) + (let ((v1-7 + (process-spawn + snowcam + :init pov-camera-init-by-other + (-> self spawn-trans) + *snowcam-sg* + "gearstart" + 0 + self + '((0 ambient camera "gamcam38") (10 alive "ecovent-278")) + :to self + ) + ) + ) (set! (-> (the-as snowcam (-> v1-7 0)) seq) (the-as uint 2)) ) (change-sound! (-> self sound) (static-sound-name "snw-eggtop-seq")) @@ -458,13 +425,11 @@ ) (none) ) - :post - (the-as (function none :behavior snow-eggtop) rider-post) + :post (the-as (function none :behavior snow-eggtop) rider-post) ) (defstate snow-eggtop-idle-down (snow-eggtop) - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (let ((a0-1 (-> self entity))) (if (and a0-1 (= self (-> a0-1 extra process))) @@ -558,18 +523,16 @@ ) (defstate snowpusher-idle (snowpusher) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) #f ) ) ) ) - :code - (behavior () + :code (behavior () (let ((gp-0 #f)) (loop (let ((f0-0 (get-current-phase-with-mirror (-> self sync)))) @@ -594,8 +557,7 @@ ) (none) ) - :post - (the-as (function none :behavior snowpusher) pusher-post) + :post (the-as (function none :behavior snowpusher) pusher-post) ) (defmethod init-from-entity! snowpusher ((obj snowpusher) (arg0 entity-actor)) @@ -683,8 +645,7 @@ ) (defstate snow-spatula-idle (snow-spatula) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'bonk) (dummy-22 self) @@ -693,10 +654,8 @@ ) ) ) - :trans - (the-as (function none :behavior snow-spatula) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior snow-spatula) plat-trans) + :code (behavior () (let ((f28-0 0.0) (gp-0 1) ) @@ -748,8 +707,7 @@ ) (none) ) - :post - (the-as (function none :behavior snow-spatula) plat-post) + :post (the-as (function none :behavior snow-spatula) plat-post) ) (defmethod init-from-entity! snow-spatula ((obj snow-spatula) (arg0 entity-actor)) @@ -813,13 +771,11 @@ :id 512 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1896)) + :parts ((sp-item 1896)) ) (defpart 1896 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 1.0 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) @@ -845,21 +801,18 @@ ) (defpart 1897 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) (defpartgroup group-snow-fort-gate-hits-bottom :id 513 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1898)) + :parts ((sp-item 1898)) ) (defpart 1898 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 64.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) @@ -886,15 +839,13 @@ ) (defpart 1899 - :init-specs - ((sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-a -0.10666667)) ) (defpartgroup group-snow-fort-gate-snowdrops :id 514 :bounds (static-bspherem 0 -16 0 32) - :parts - ((sp-item 2271 :fade-after (meters 100) :falloff-to (meters 130) :period 1200 :length 150) + :parts ((sp-item 2271 :fade-after (meters 100) :falloff-to (meters 130) :period 1200 :length 150) (sp-item 2271 :fade-after (meters 100) :falloff-to (meters 130) :period 1200 :length 100) (sp-item 2271 :fade-after (meters 100) :falloff-to (meters 130) :period 1200 :length 60) (sp-item 2271 :fade-after (meters 100) :falloff-to (meters 130) :period 1200 :length 30) @@ -913,8 +864,7 @@ ) (defpart 2271 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.25) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-z (meters -1) (meters 2) 1.0) @@ -936,13 +886,11 @@ ) (defpart 2274 - :init-specs - ((sp-flt spt-fade-a -0.42666668)) + :init-specs ((sp-flt spt-fade-a -0.42666668)) ) (defpart 2272 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 1)) @@ -965,8 +913,7 @@ ) (defpart 2273 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) (sp-flt spt-num 0.25) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 1)) @@ -986,16 +933,14 @@ ) (defstate snow-fort-gate-idle-closed (snow-fort-gate) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('notice) (go snow-fort-gate-activate) ) ) ) - :trans - (behavior () + :trans (behavior () (when (and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) (level-hint-spawn (game-text-id snow-fort-reminder) @@ -1008,8 +953,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 2) :num! min) (set! (-> self root-override trans quad) (-> self closed-trans quad)) (transform-post) @@ -1023,19 +967,16 @@ ) (defstate snow-fort-gate-activate (snow-fort-gate) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 #f)) (loop (let ((a1-0 (new 'stack-no-clear 'vector))) @@ -1078,13 +1019,11 @@ ) (none) ) - :post - (the-as (function none :behavior snow-fort-gate) transform-post) + :post (the-as (function none :behavior snow-fort-gate) transform-post) ) (defstate snow-fort-gate-idle-open (snow-fort-gate) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 2) :num! min) (set! (-> self root-override trans quad) (-> self open-trans quad)) (transform-post) @@ -1201,13 +1140,11 @@ :id 515 :flags (use-local-clock) :bounds (static-bspherem 0 -4 0 16) - :parts - ((sp-item 1900) (sp-item 1901)) + :parts ((sp-item 1900) (sp-item 1901)) ) (defpart 1900 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -9) (meters 18) 1.0) (sp-flt spt-y (meters -6)) @@ -1230,8 +1167,7 @@ ) (defpart 1901 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -7)) (sp-rnd-flt spt-scale-x (meters 3) (meters 4.5) 1.0) @@ -1256,16 +1192,14 @@ ) (defpart 1902 - :init-specs - ((sp-flt spt-fade-a 0.0) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 450 239 1) (sp-launcher-by-id spt-next-launcher 1903) ) ) (defpart 1903 - :init-specs - ((sp-flt spt-fade-a -0.14222223)) + :init-specs ((sp-flt spt-fade-a -0.14222223)) ) (defmethod TODO-RENAME-20 snow-gears ((obj snow-gears)) @@ -1278,8 +1212,7 @@ ) (defstate snow-gears-idle (snow-gears) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('notice) (logclear! (-> self mask) (process-mask actor-pause)) @@ -1288,8 +1221,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 2) :num! min) (ja-post) (loop @@ -1301,13 +1233,11 @@ ) (defstate snow-gears-activate (snow-gears) - :trans - (behavior () + :trans (behavior () (TODO-RENAME-20 self) (none) ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "eng-start-up") (new-sound-id) 1024 0 0 1 #t) (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.85) :frame-num 0.0) (until (ja-done? 0) @@ -1329,23 +1259,19 @@ (go snow-gears-halt) (none) ) - :post - (the-as (function none :behavior snow-gears) ja-post) + :post (the-as (function none :behavior snow-gears) ja-post) ) (defstate snow-gears-halt (snow-gears) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (none) ) - :trans - (behavior () + :trans (behavior () (TODO-RENAME-20 self) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.35) :frame-num 0.0) (until (ja-done? 0) (update! (-> self sound)) @@ -1362,13 +1288,11 @@ (go snow-gears-stopped) (none) ) - :post - (the-as (function none :behavior snow-gears) ja-post) + :post (the-as (function none :behavior snow-gears) ja-post) ) (defstate snow-gears-stopped (snow-gears) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (loop @@ -1442,10 +1366,8 @@ ) (defstate snow-switch-idle-up (snow-switch) - :event - snow-switch-event-handler - :code - (behavior () + :event snow-switch-event-handler + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -1455,18 +1377,14 @@ ) (defstate snow-switch-activate (snow-switch) - :event - snow-switch-event-handler - :exit - (behavior () + :event snow-switch-event-handler + :exit (behavior () (process-entity-status! self (entity-perm-status bit-3) #f) (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (the-as (function none :behavior snow-switch) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior snow-switch) rider-trans) + :code (behavior () (local-vars (v1-1 symbol)) (until v1-1 (suspend) @@ -1525,15 +1443,12 @@ ) (none) ) - :post - (the-as (function none :behavior snow-switch) rider-post) + :post (the-as (function none :behavior snow-switch) rider-post) ) (defstate snow-switch-idle-down (snow-switch) - :event - snow-switch-event-handler - :code - (behavior () + :event snow-switch-event-handler + :code (behavior () (set! (-> self pressed?) #t) (set! (-> self root-override trans quad) (-> self orig-trans quad)) (set! (-> self root-override trans y) (+ -1433.6 (-> self root-override trans y))) @@ -1633,16 +1548,14 @@ ) (defstate snow-log-wait-for-master (snow-log) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go snow-log-activate) ) ) ) - :code - (behavior () + :code (behavior () (loop (while (let ((v1-0 (-> self master))) (not (if v1-0 @@ -1660,19 +1573,14 @@ ) ) (when a0-1 - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 0) - (set! (-> a1-0 message) 'query) - (cond - ((send-event-function a0-1 a1-0) - (logclear! (-> self mask) (process-mask actor-pause)) - (process-entity-status! self (entity-perm-status bit-3) #t) - (go snow-log-active) - ) - (else - (go snow-log-hidden) - ) + (cond + ((send-event a0-1 'query) + (logclear! (-> self mask) (process-mask actor-pause)) + (process-entity-status! self (entity-perm-status bit-3) #t) + (go snow-log-active) + ) + (else + (go snow-log-hidden) ) ) ) @@ -1683,8 +1591,7 @@ ) (defstate snow-log-hidden (snow-log) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (logclear! (-> self mask) (process-mask actor-pause)) @@ -1693,8 +1600,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 0) (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) @@ -1706,23 +1612,19 @@ ) (defstate snow-log-activate (snow-log) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #t) (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :trans - (the-as (function none :behavior snow-log) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior snow-log) rider-trans) + :code (behavior () (activate! *camera-smush-control* 819.2 37 150 1.0 0.99) (ja-channel-push! 1 0) (let ((gp-0 #f)) @@ -1740,15 +1642,12 @@ (go snow-log-active) (none) ) - :post - (the-as (function none :behavior snow-log) rider-post) + :post (the-as (function none :behavior snow-log) rider-post) ) (defstate snow-log-active (snow-log) - :trans - (the-as (function none :behavior snow-log) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior snow-log) rider-trans) + :code (behavior () (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (logclear! (-> self draw status) (draw-status hidden)) @@ -1796,8 +1695,7 @@ ) (none) ) - :post - (the-as (function none :behavior snow-log) rider-post) + :post (the-as (function none :behavior snow-log) rider-post) ) (defmethod init-from-entity! snow-log ((obj snow-log) (arg0 entity-actor)) @@ -1882,10 +1780,8 @@ ) (defstate snow-log-button-idle-up (snow-log-button) - :event - snow-log-button-event-handler - :code - (behavior () + :event snow-log-button-event-handler + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -1895,18 +1791,14 @@ ) (defstate snow-log-button-activate (snow-log-button) - :event - snow-log-button-event-handler - :exit - (behavior () + :event snow-log-button-event-handler + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :trans - (the-as (function none :behavior snow-log-button) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior snow-log-button) rider-trans) + :code (behavior () (sound-play-by-name (static-sound-name "prec-button1") (new-sound-id) 1024 0 0 1 #t) (loop (let ((f30-0 (+ -1433.6 (-> self orig-trans y)))) @@ -1941,15 +1833,12 @@ ) (none) ) - :post - (the-as (function none :behavior snow-log-button) rider-post) + :post (the-as (function none :behavior snow-log-button) rider-post) ) (defstate snow-log-button-idle-down (snow-log-button) - :event - snow-log-button-event-handler - :code - (behavior () + :event snow-log-button-event-handler + :code (behavior () (set! (-> self root-override trans quad) (-> self orig-trans quad)) (set! (-> self root-override trans y) (+ -1433.6 (-> self root-override trans y))) (transform-post) diff --git a/goal_src/levels/snow/snow-part.gc b/goal_src/levels/snow/snow-part.gc index 5deb9c5487..d0d1e59e20 100644 --- a/goal_src/levels/snow/snow-part.gc +++ b/goal_src/levels/snow/snow-part.gc @@ -19,8 +19,7 @@ (defpartgroup group-snow-snowdrops1 :id 528 :bounds (static-bspherem 0 -16 0 32) - :parts - ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 2700 :length 150) + :parts ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 2700 :length 150) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 2700 :length 100) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 2700 :length 60) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 2700 :length 30) @@ -41,8 +40,7 @@ (defpartgroup group-snow-snowdrops2 :id 529 :bounds (static-bspherem 0 -16 0 32) - :parts - ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3068 :length 150 :offset 900) + :parts ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3068 :length 150 :offset 900) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3068 :length 100 :offset 900) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3068 :length 60 :offset 900) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3068 :length 30 :offset 900) @@ -63,8 +61,7 @@ (defpartgroup group-snow-snowdrops3 :id 530 :bounds (static-bspherem 0 -16 0 32) - :parts - ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3345 :length 150 :offset 1800) + :parts ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3345 :length 150 :offset 1800) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3345 :length 100 :offset 1800) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3345 :length 60 :offset 1800) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3345 :length 30 :offset 1800) @@ -85,8 +82,7 @@ (defpartgroup group-snow-snowdrops4 :id 531 :bounds (static-bspherem 0 -16 0 32) - :parts - ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 4035 :length 150 :offset 300) + :parts ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 4035 :length 150 :offset 300) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 4035 :length 100 :offset 300) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 4035 :length 60 :offset 300) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 4035 :length 30 :offset 300) @@ -107,8 +103,7 @@ (defpartgroup group-snow-snowdrops5 :id 532 :bounds (static-bspherem 0 -16 0 32) - :parts - ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 5385 :length 150 :offset 1200) + :parts ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 5385 :length 150 :offset 1200) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 5385 :length 100 :offset 1200) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 5385 :length 60 :offset 1200) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 5385 :length 30 :offset 1200) @@ -129,8 +124,7 @@ (defpartgroup group-snow-snowdrops6 :id 533 :bounds (static-bspherem 0 -16 0 32) - :parts - ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 6129 :length 150 :offset 2100) + :parts ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 6129 :length 150 :offset 2100) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 6129 :length 100 :offset 2100) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 6129 :length 60 :offset 2100) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 6129 :length 30 :offset 2100) @@ -149,8 +143,7 @@ ) (defpart 1924 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.25) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-z (meters -1) (meters 2) 1.0) @@ -172,13 +165,11 @@ ) (defpart 1927 - :init-specs - ((sp-flt spt-fade-a -0.42666668)) + :init-specs ((sp-flt spt-fade-a -0.42666668)) ) (defpart 1925 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 1)) @@ -201,8 +192,7 @@ ) (defpart 1926 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) (sp-flt spt-num 0.25) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 1)) @@ -224,8 +214,7 @@ (defpartgroup group-part-snow-torch :id 534 :bounds (static-bspherem 0 3 0 4) - :parts - ((sp-item 2041 :fade-after (meters 200) :falloff-to (meters 220)) + :parts ((sp-item 2041 :fade-after (meters 200) :falloff-to (meters 220)) (sp-item 2042 :fade-after (meters 140) :falloff-to (meters 1400)) (sp-item 2043 :fade-after (meters 50) :falloff-to (meters 50) :period 600 :length 90) (sp-item 2044 :fade-after (meters 50) :falloff-to (meters 50) :period 369 :length 69) @@ -235,8 +224,7 @@ ) (defpart 2046 - :init-specs - ((sp-flt spt-num 0.3) + :init-specs ((sp-flt spt-num 0.3) (sp-flt spt-x (meters 0.2)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) (sp-int spt-rot-x 5) @@ -254,13 +242,11 @@ ) (defpart 2047 - :init-specs - ((sp-flt spt-fade-b -6.826667)) + :init-specs ((sp-flt spt-fade-b -6.826667)) ) (defpart 2041 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1069547520 1 1.0) (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) (sp-rnd-flt spt-z (meters -0.35) (meters 0.7) 1.0) @@ -282,13 +268,11 @@ ) (defpart 2048 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) (defpart 2043 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-flt spt-y (meters 1)) @@ -311,8 +295,7 @@ ) (defpart 2044 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) (sp-flt spt-y (meters 0.5)) @@ -335,8 +318,7 @@ ) (defpart 2045 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0) (sp-flt spt-y (meters 0.6)) @@ -359,8 +341,7 @@ ) (defpart 2042 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.3)) @@ -393,8 +374,7 @@ (defpartgroup group-snow-mountain-snow :id 535 :bounds (static-bspherem 0 -16 -32 80) :parts ((sp-item 2093))) (defpart 2093 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-rnd-flt spt-y (meters -30) (meters 20) 1.0) @@ -420,15 +400,13 @@ ) (defpart 2094 - :init-specs - ((sp-flt spt-fade-a -0.035555556)) + :init-specs ((sp-flt spt-fade-a -0.035555556)) ) (defpartgroup group-snow-door-torch :id 536 :bounds (static-bspherem 0 5 0 6) - :parts - ((sp-item 2113 :fade-after (meters 240) :falloff-to (meters 240)) + :parts ((sp-item 2113 :fade-after (meters 240) :falloff-to (meters 240)) (sp-item 2114 :fade-after (meters 40) :falloff-to (meters 40) :period 492 :length 60) (sp-item 2115 :fade-after (meters 240) :falloff-to (meters 240)) (sp-item 2116 :fade-after (meters 40) :falloff-to (meters 40) :period 369 :length 219) @@ -440,8 +418,7 @@ ) (defpart 2120 - :init-specs - ((sp-flt spt-num 0.6) + :init-specs ((sp-flt spt-num 0.6) (sp-rnd-flt spt-x (meters 0) (meters 2) 1.0) (sp-flt spt-y (meters 2)) (sp-int spt-rot-x 5) @@ -459,13 +436,11 @@ ) (defpart 2121 - :init-specs - ((sp-flt spt-fade-b -10.922667)) + :init-specs ((sp-flt spt-fade-b -10.922667)) ) (defpart 2113 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.75 0.6 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -492,8 +467,7 @@ ) (defpart 2114 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1058642330 1 1.3) (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -520,8 +494,7 @@ ) (defpart 2115 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.6 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 1)) @@ -550,8 +523,7 @@ ) (defpart 2123 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.2 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 1)) @@ -580,8 +552,7 @@ ) (defpart 2122 - :init-specs - ((sp-flt spt-fade-g 0.26666668) + :init-specs ((sp-flt spt-fade-g 0.26666668) (sp-flt spt-fade-b 0.53333336) (sp-int spt-next-time 120) (sp-launcher-by-id spt-next-launcher 2124) @@ -589,13 +560,11 @@ ) (defpart 2124 - :init-specs - ((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpart 2116 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.6 0.7 1.0) (sp-rnd-flt spt-x (meters -1.2) (meters 2.4) 1.0) (sp-flt spt-y (meters 0.5)) @@ -622,8 +591,7 @@ ) (defpart 2117 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1056964608 1 0.9) (sp-rnd-flt spt-x (meters -1.2) (meters 1) 1.0) (sp-flt spt-y (meters 1.25)) @@ -650,8 +618,7 @@ ) (defpart 2118 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.75 1.2 1.0) (sp-rnd-flt spt-x (meters -1.2) (meters 2.4) 1.0) (sp-flt spt-y (meters 0.5)) @@ -678,8 +645,7 @@ ) (defpart 2119 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1060320051 1 1.6) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-flt spt-y (meters 1.25)) @@ -708,8 +674,7 @@ (defpartgroup group-snow-birds :id 537 :bounds (static-bspherem 0 8 0 45) - :parts - ((sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243) + :parts ((sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243) (sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243) (sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243) (sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243) @@ -772,8 +737,7 @@ ) (defpart 2245 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-func spt-birth-func 'birth-func-random-next-time) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -70) (meters 140) 1.0) @@ -797,8 +761,7 @@ ) (defpart 2243 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-func spt-birth-func 'birth-func-copy-omega-to-z) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) @@ -823,8 +786,7 @@ ) (defpart 2246 - :init-specs - ((sp-flt spt-scale-x (meters 8)) + :init-specs ((sp-flt spt-scale-x (meters 8)) (sp-flt spt-scalevel-x (meters -0.08)) (sp-int spt-timer 600) (sp-int spt-next-time 100) @@ -833,8 +795,7 @@ ) (defpart 2247 - :init-specs - ((sp-flt spt-scale-x (meters 0)) + :init-specs ((sp-flt spt-scale-x (meters 0)) (sp-flt spt-scalevel-x (meters -0.04)) (sp-int spt-timer 600) (sp-int spt-next-time 199) @@ -843,8 +804,7 @@ ) (defpart 2244 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-func spt-birth-func 'birth-func-copy2-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 4)) diff --git a/goal_src/levels/snow/snow-ram-boss.gc b/goal_src/levels/snow/snow-ram-boss.gc index e96b100240..3764955b4c 100644 --- a/goal_src/levels/snow/snow-ram-boss.gc +++ b/goal_src/levels/snow/snow-ram-boss.gc @@ -8,6 +8,7 @@ (declare-type ram-boss nav-enemy) ;; DECOMP BEGINS + (import "goal_src/import/ram-boss-ag.gc") (deftype ram-boss-proj (projectile) @@ -189,13 +190,11 @@ :id 521 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1904) (sp-item 1905) (sp-item 2487)) + :parts ((sp-item 1904) (sp-item 1905) (sp-item 2487)) ) (defpart 2487 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -214,8 +213,7 @@ ) (defpart 1904 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -237,8 +235,7 @@ ) (defpart 1905 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -260,8 +257,7 @@ :id 522 :duration 300 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 1910 :flags (launch-asap) :binding 1908) + :parts ((sp-item 1910 :flags (launch-asap) :binding 1908) (sp-item 1908 :flags (start-dead) :binding 1909) (sp-item 1909 :flags (start-dead launch-asap)) (sp-item 1909 :flags (start-dead launch-asap)) @@ -313,8 +309,7 @@ ) (defpart 1910 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.01)) (sp-copy-from-other spt-scale-y -4) @@ -326,8 +321,7 @@ ) (defpart 1908 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -352,13 +346,11 @@ ) (defpart 1912 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpart 1909 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 5.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -390,13 +382,11 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1914) (sp-item 1915) (sp-item 1916)) + :parts ((sp-item 1914) (sp-item 1915) (sp-item 1916)) ) (defpart 1914 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 64.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -421,8 +411,7 @@ ) (defpart 1916 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -446,8 +435,7 @@ ) (defpart 1915 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -467,8 +455,7 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1914)) + :parts ((sp-item 1914)) ) (defmethod dummy-24 ram-boss-proj ((obj ram-boss-proj)) @@ -639,8 +626,7 @@ ) (defstate ram-boss-proj-growing (ram-boss-proj) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('launch) (let ((v1-1 (-> self parent-override))) @@ -652,8 +638,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self charge-sound-id) (sound-play-by-name (static-sound-name "ramboss-charge") (new-sound-id) 1024 0 0 1 #t) ) @@ -698,8 +683,7 @@ ) (defstate ram-boss-proj-launch (ram-boss-proj) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "ramboss-fire") (new-sound-id) 1024 0 0 1 #t) (set! (-> self launched?) #t) (set! (-> self growth) 1.0) @@ -716,25 +700,17 @@ (defstate projectile-impact (ram-boss-proj) :virtual #t - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 523) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 523) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (if (nonzero? (-> self sound-id)) (sound-stop (-> self sound-id)) @@ -748,25 +724,17 @@ (defstate projectile-dissipate (ram-boss-proj) :virtual #t - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 524) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 524) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (if (nonzero? (-> self sound-id)) (sound-stop (-> self sound-id)) @@ -781,13 +749,11 @@ :id 525 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1919)) + :parts ((sp-item 1919)) ) (defpart 1919 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.25) (meters 0.5) 1.0) @@ -815,13 +781,11 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2367) (sp-item 2368) (sp-item 2369)) + :parts ((sp-item 2367) (sp-item 2368) (sp-item 2369)) ) (defpart 2367 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -845,8 +809,7 @@ ) (defpart 2368 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -870,8 +833,7 @@ ) (defpart 2369 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -900,76 +862,38 @@ (('attack 'bonk 'roll) (cond ((-> self has-shield?) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'powerup)) - (set! (-> a1-3 param 1) (the-as uint 2)) - (cond - ((send-event-function *target* a1-3) - (nav-enemy-set-hit-from-direction arg0) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'shove) - (set! (-> a1-4 param 0) (the-as uint #f)) - (let ((v1-9 (new 'static 'attack-info :mask #x40))) - (set! (-> v1-9 shove-back) 8192.0) - (set! (-> a1-4 param 1) (the-as uint v1-9)) + (cond + ((send-event *target* 'query 'powerup (pickup-type eco-red)) + (nav-enemy-set-hit-from-direction arg0) + (send-event arg0 'shove #f (static-attack-info ((shove-back (meters 2))))) + (go ram-boss-lose-shield) + (return #t) + v0-4 + ) + ((begin + (if (zero? (logand (-> self nav-enemy-flags) (nav-enemy-flags navenmf8))) + (do-push-aways! (-> self collide-info)) ) - (send-event-function arg0 a1-4) + (level-hint-spawn + (game-text-id ram-boss-red-eco-hint) + "sksp0346" + (the-as entity #f) + *entity-pool* + (game-task none) ) - (go ram-boss-lose-shield) - (return #t) - v0-4 + (>= (- (-> (target-pos 0) y) (-> self collide-info trans y)) 9420.8) ) - ((begin - (if (zero? (logand (-> self nav-enemy-flags) (nav-enemy-flags navenmf8))) - (do-push-aways! (-> self collide-info)) - ) - (level-hint-spawn - (game-text-id ram-boss-red-eco-hint) - "sksp0346" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (>= (- (-> (target-pos 0) y) (-> self collide-info trans y)) 9420.8) - ) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'shove) - (set! (-> a1-6 param 0) (the-as uint #f)) - (let ((v1-22 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-22 shove-back) 16384.0) - (set! (-> v1-22 shove-up) 8192.0) - (set! (-> a1-6 param 1) (the-as uint v1-22)) - ) - (send-event-function arg0 a1-6) - ) - (go ram-boss-up-defend-block) - (return #t) - v0-4 - ) - (else - (when (= arg2 'attack) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'shove) - (set! (-> a1-7 param 0) (the-as uint #f)) - (let ((v1-30 (new 'static 'attack-info :mask #x40))) - (set! (-> v1-30 shove-back) 16384.0) - (set! (-> a1-7 param 1) (the-as uint v1-30)) - ) - (send-event-function arg0 a1-7) - ) - (go ram-boss-forward-defend-block) - (return #t) - v0-4 - ) + (send-event arg0 'shove #f (static-attack-info ((shove-back (meters 4)) (shove-up (meters 2))))) + (go ram-boss-up-defend-block) + (return #t) + v0-4 + ) + (else + (when (= arg2 'attack) + (send-event arg0 'shove #f (static-attack-info ((shove-back (meters 4))))) + (go ram-boss-forward-defend-block) + (return #t) + v0-4 ) ) ) @@ -989,17 +913,11 @@ ((-> self has-shield?) (cond ((>= (- (-> (target-pos 0) y) (-> self collide-info trans y)) 9420.8) - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) self) - (set! (-> a1-8 num-params) 2) - (set! (-> a1-8 message) 'shove) - (set! (-> a1-8 param 0) (-> arg3 param 0)) - (let ((v1-49 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-49 shove-back) 16384.0) - (set! (-> v1-49 shove-up) 8192.0) - (set! (-> a1-8 param 1) (the-as uint v1-49)) - ) - (send-event-function arg0 a1-8) + (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-back (meters 4)) (shove-up (meters 2)))) ) (go ram-boss-up-defend-block) (return #t) @@ -1007,17 +925,7 @@ ) (else (when (= arg2 'attack) - (let ((a1-9 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-9 from) self) - (set! (-> a1-9 num-params) 2) - (set! (-> a1-9 message) 'shove) - (set! (-> a1-9 param 0) (-> arg3 param 0)) - (let ((v1-58 (new 'static 'attack-info :mask #x40))) - (set! (-> v1-58 shove-back) 16384.0) - (set! (-> a1-9 param 1) (the-as uint v1-58)) - ) - (send-event-function arg0 a1-9) - ) + (send-event arg0 'shove (-> arg3 param 0) (static-attack-info ((shove-back (meters 4))))) (go ram-boss-forward-defend-block) (return #t) v0-4 @@ -1339,23 +1247,19 @@ ) (defstate ram-boss-show-anims (ram-boss) - :trans - (behavior () + :trans (behavior () 0 (none) ) - :code - (behavior () + :code (behavior () 0 (none) ) - :post - (the-as (function none :behavior ram-boss) transform-post) + :post (the-as (function none :behavior ram-boss) transform-post) ) (defstate ram-boss-idle (ram-boss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('jump) (go ram-boss-jump-down arg0) @@ -1365,15 +1269,13 @@ ) ) ) - :enter - (behavior () + :enter (behavior () ((-> (method-of-type nav-enemy nav-enemy-idle) enter)) (set! (-> self frustration) 0) 0 (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (loop (clone-anim-once @@ -1403,16 +1305,14 @@ ) (defstate ram-boss-jump-down (ram-boss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (nav-enemy-send-attack arg0 (the-as touching-shapes-entry (-> arg3 param 0)) 'generic) ) ) ) - :enter - (behavior ((arg0 basic)) + :enter (behavior ((arg0 basic)) (dummy-52 self) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (let ((s5-0 (new 'stack-no-clear 'vector)) @@ -1440,8 +1340,7 @@ (set! (-> self collide-info transv y) 102400.0) (none) ) - :trans - (behavior () + :trans (behavior () (+! (-> self collide-info transv y) (* -544768.0 (-> *display* seconds-per-frame))) (integrate-for-enemy-with-move-to-ground! (-> self collide-info) @@ -1457,8 +1356,7 @@ ) (none) ) - :code - (behavior ((arg0 basic)) + :code (behavior ((arg0 basic)) (ja-channel-push! 1 (seconds 0.8)) (ja-no-eval :group! (-> self draw art-group data 16) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1475,15 +1373,12 @@ ) (none) ) - :post - (the-as (function none :behavior ram-boss) nav-enemy-simple-post) + :post (the-as (function none :behavior ram-boss) nav-enemy-simple-post) ) (defstate ram-boss-jump-down-hit-ground (ram-boss) - :event - (-> ram-boss-jump-down event) - :code - (behavior () + :event (-> ram-boss-jump-down event) + :code (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (activate! *camera-smush-control* 409.6 37 150 1.0 0.99) (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek!) :frame-num 0.0) @@ -1495,13 +1390,11 @@ (go ram-boss-nav-start) (none) ) - :post - (the-as (function none :behavior ram-boss) nav-enemy-simple-post) + :post (the-as (function none :behavior ram-boss) nav-enemy-simple-post) ) (defstate ram-boss-already-down (ram-boss) - :code - (behavior ((arg0 basic)) + :code (behavior ((arg0 basic)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (dummy-52 self) (let ((a1-0 (new 'stack-no-clear 'vector)) @@ -1522,8 +1415,7 @@ ) (defstate ram-boss-nav-start (ram-boss) - :code - (behavior () + :code (behavior () (let ((a1-1 (dummy-16 (-> self nav) (-> self collide-info trans)))) (when (not a1-1) (go process-drawable-art-error "not on nav mesh") @@ -1537,8 +1429,7 @@ ) (defstate ram-boss-nav-resume (ram-boss) - :code - (behavior () + :code (behavior () (set! (-> self frustration) 0) (when *target* (let ((f30-0 (vector-vector-distance (target-pos 0) (-> self collide-info trans)))) @@ -1568,18 +1459,15 @@ (defstate nav-enemy-patrol (ram-boss) :virtual #t - :event - ram-boss-on-ground-event-handler - :enter - (behavior () + :event ram-boss-on-ground-event-handler + :enter (behavior () ((-> (method-of-type nav-enemy nav-enemy-patrol) enter)) (set! (-> self state-timeout) (-> self nav-enemy-patrol-timeout)) (set! (-> self nav-enemy-patrol-timeout) (seconds 1)) (ja-channel-push! 1 (seconds 0.3)) (none) ) - :trans - (behavior () + :trans (behavior () (when *target* (let ((f0-0 (vector-vector-distance (target-pos 0) (-> self collide-info trans)))) (if (>= 18432.0 f0-0) @@ -1594,10 +1482,8 @@ (defstate nav-enemy-chase (ram-boss) :virtual #t - :event - ram-boss-on-ground-event-handler - :enter - (behavior () + :event ram-boss-on-ground-event-handler + :enter (behavior () (let ((t9-0 (-> (method-of-type nav-enemy nav-enemy-chase) enter))) (if t9-0 (t9-0) @@ -1605,8 +1491,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (vector-vector-distance (target-pos 0) (-> self collide-info trans)))) (if (>= 18432.0 f30-0) (go ram-boss-tracking) @@ -1637,12 +1522,9 @@ (defstate nav-enemy-attack (ram-boss) :virtual #t - :event - ram-boss-on-ground-event-handler - :trans - (the-as (function none :behavior ram-boss) #f) - :code - (behavior () + :event ram-boss-on-ground-event-handler + :trans (the-as (function none :behavior ram-boss) #f) + :code (behavior () (go ram-boss-tracking) (none) ) @@ -1674,17 +1556,14 @@ ) (defstate ram-boss-tracking (ram-boss) - :event - ram-boss-on-ground-event-handler - :enter - (behavior () + :event ram-boss-on-ground-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self facing-y) (quaternion-y-angle (-> self collide-info quat))) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (none) ) - :trans - (behavior () + :trans (behavior () (set-jump-height-factor! self (the-as int (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.75))) @@ -1756,8 +1635,7 @@ 0 (none) ) - :code - (behavior () + :code (behavior () (let ((f30-0 -1.0)) (loop (set! f30-0 (dummy-57 self f30-0)) @@ -1802,25 +1680,21 @@ ) (none) ) - :post - (the-as (function none :behavior ram-boss) nav-enemy-simple-post) + :post (the-as (function none :behavior ram-boss) nav-enemy-simple-post) ) (defstate ram-boss-forward-defend-block (ram-boss) - :enter - (behavior () + :enter (behavior () (set! (-> self frustration) 0) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (none) ) - :trans - (behavior () + :trans (behavior () (set-jump-height-factor! self (the-as int #t)) 0 (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1830,25 +1704,21 @@ (go ram-boss-tracking) (none) ) - :post - (the-as (function none :behavior ram-boss) nav-enemy-simple-post) + :post (the-as (function none :behavior ram-boss) nav-enemy-simple-post) ) (defstate ram-boss-up-defend-block (ram-boss) - :enter - (behavior () + :enter (behavior () (set! (-> self frustration) 0) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (none) ) - :trans - (behavior () + :trans (behavior () (set-jump-height-factor! self (the-as int #t)) 0 (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1858,20 +1728,15 @@ (go ram-boss-tracking) (none) ) - :post - (the-as (function none :behavior ram-boss) nav-enemy-simple-post) + :post (the-as (function none :behavior ram-boss) nav-enemy-simple-post) ) (defstate nav-enemy-victory (ram-boss) :virtual #t - :event - ram-boss-on-ground-event-handler - :enter - (the-as (function none :behavior ram-boss) #f) - :exit - (the-as (function none :behavior ram-boss) #f) - :trans - (behavior () + :event ram-boss-on-ground-event-handler + :enter (the-as (function none :behavior ram-boss) #f) + :exit (the-as (function none :behavior ram-boss) #f) + :trans (behavior () (when *target* (let ((f0-0 (vector-vector-distance (target-pos 0) (-> self collide-info trans)))) (if (and (>= 18432.0 f0-0) (-> self has-shield?)) @@ -1881,13 +1746,11 @@ ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self frustration) 0) (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info victory-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info victory-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -1899,26 +1762,21 @@ (go-virtual nav-enemy-attack) (none) ) - :post - (the-as (function none :behavior ram-boss) nav-enemy-simple-post) + :post (the-as (function none :behavior ram-boss) nav-enemy-simple-post) ) (defstate nav-enemy-stare (ram-boss) :virtual #t - :event - ram-boss-on-ground-event-handler - :enter - (behavior () + :event ram-boss-on-ground-event-handler + :enter (behavior () (go ram-boss-nav-resume) (none) ) ) (defstate ram-boss-throw (ram-boss) - :event - ram-boss-on-ground-event-handler - :enter - (behavior () + :event ram-boss-on-ground-event-handler + :enter (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (let ((gp-0 (-> self child))) (while gp-0 @@ -1929,14 +1787,12 @@ (set! (-> self proj-last-thrown-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (set-jump-height-factor! self (the-as int #t)) 0 (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (cond ((-> self has-shield?) @@ -1957,21 +1813,18 @@ (go ram-boss-tracking) (none) ) - :post - (the-as (function none :behavior ram-boss) nav-enemy-simple-post) + :post (the-as (function none :behavior ram-boss) nav-enemy-simple-post) ) (defstate ram-boss-lose-shield (ram-boss) - :enter - (behavior () + :enter (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (nav-enemy-neck-control-inactive) (dummy-53 self) (TODO-RENAME-49 self *ram-boss-nav-enemy-info-no-shield*) (none) ) - :exit - (behavior () + :exit (behavior () (nav-enemy-neck-control-look-at) (set! (-> self has-shield?) #f) (let ((v1-2 (-> self entity extra perm))) @@ -1984,8 +1837,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) (vector-normalize-copy! gp-0 (-> self hit-from-dir) 16384.0) (vector+! gp-0 (-> self collide-info trans) gp-0) @@ -2004,8 +1856,7 @@ (go ram-boss-tracking) (none) ) - :post - (behavior () + :post (behavior () (TODO-RENAME-9 (-> self align)) (dummy-11 (-> self nav) (-> self nav target-pos)) (TODO-RENAME-11 @@ -2037,8 +1888,7 @@ (defstate nav-enemy-die (ram-boss) :virtual #t - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (clear-collide-with-as (-> self collide-info)) (nav-enemy-fall-and-play-death-anim diff --git a/goal_src/levels/snow/snow-ram.gc b/goal_src/levels/snow/snow-ram.gc index cb803cf563..d1bd2b93b4 100644 --- a/goal_src/levels/snow/snow-ram.gc +++ b/goal_src/levels/snow/snow-ram.gc @@ -6,6 +6,7 @@ ;; dgos: L1, SNO ;; DECOMP BEGINS + (import "goal_src/import/ram-ag.gc") (defskelgroup *ram-sg* ram ram-lod0-jg ram-cock-ja @@ -18,13 +19,11 @@ :id 526 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1921) (sp-item 1922 :fade-after (meters 60) :falloff-to (meters 60))) + :parts ((sp-item 1921) (sp-item 1922 :fade-after (meters 60) :falloff-to (meters 60))) ) (defpart 1920 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 64.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -45,8 +44,7 @@ ) (defpart 1922 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -68,8 +66,7 @@ ) (defpart 1921 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -88,13 +85,11 @@ :id 527 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1923 :fade-after (meters 70) :falloff-to (meters 70))) + :parts ((sp-item 1923 :fade-after (meters 70) :falloff-to (meters 70))) ) (defpart 1923 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-z (meters -0.5) (meters 1) 1.0) @@ -185,46 +180,36 @@ ) (defstate ram-idle (ram) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) - (when ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (-> self root-override) - (the-as uint 1) - ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((v1-7 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-7 shove-up) 2048.0) - (set! (-> v1-7 shove-back) 8192.0) - (set! (-> a1-3 param 1) (the-as uint v1-7)) + (if ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (-> self root-override) + (the-as uint 1) + ) + (send-event + arg0 + 'attack + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 0.5)) (shove-back (meters 2)))) ) - (send-event-function arg0 a1-3) ) - ) ) ) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (behavior () + :trans (behavior () (rider-trans) (if (-> self give-fuel-cell-anim) (spool-push *art-control* (-> self give-fuel-cell-anim name) 0 self -99.0) ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (sv-16 symbol)) (ja-channel-push! 1 (seconds 0.075)) (loop @@ -266,13 +251,11 @@ ) (none) ) - :post - (the-as (function none :behavior ram) rider-post) + :post (the-as (function none :behavior ram) rider-post) ) (defstate ram-fun-idle (ram) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('notify) (when (= (-> arg0 type) ram-boss) @@ -283,15 +266,13 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (-> self give-fuel-cell-anim) (spool-push *art-control* (-> self give-fuel-cell-anim name) 0 self -99.0) ) (none) ) - :code - (behavior () + :code (behavior () (if (-> self give-fuel-cell?) (go ram-give-fuel-cell) ) @@ -306,8 +287,7 @@ ) (defstate ram-give-fuel-cell (ram) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('notify) (if (and (= (-> arg0 type) snowcam) (= (-> arg3 param 0) 'die)) @@ -316,14 +296,12 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (process-entity-status! self (entity-perm-status bit-3) #f) (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self give-fuel-cell?) #f) (ja-channel-push! 1 0) (ja :group! (-> self draw art-group data 6) :num! min) @@ -484,27 +462,11 @@ ((and (not s3-1) (has-nav-mesh? arg0)) (cond (s4-1 - (let ((s5-1 (get-process *default-dead-pool* ram-boss #x4000))) - (when s5-1 - (let ((t9-28 (method-of-type ram-boss activate))) - (t9-28 (the-as ram-boss s5-1) obj 'ram-boss (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 ram-boss-init-by-other (-> obj entity) obj #t) - (-> s5-1 ppointer) - ) - ) + (process-spawn ram-boss (-> obj entity) obj #t :to obj) (go ram-fun-idle) ) (else - (let ((s5-2 (get-process *default-dead-pool* ram-boss #x4000))) - (when s5-2 - (let ((t9-32 (method-of-type ram-boss activate))) - (t9-32 (the-as ram-boss s5-2) obj 'ram-boss (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 ram-boss-init-by-other (-> obj entity) obj #f) - (-> s5-2 ppointer) - ) - ) + (process-spawn ram-boss (-> obj entity) obj #f :to obj) (go ram-idle) ) ) diff --git a/goal_src/levels/snow/target-ice.gc b/goal_src/levels/snow/target-ice.gc index a60c77a6c3..f0503eeea8 100644 --- a/goal_src/levels/snow/target-ice.gc +++ b/goal_src/levels/snow/target-ice.gc @@ -8,17 +8,13 @@ ;; DECOMP BEGINS (defstate target-ice-stance (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (set! (-> self control unknown-surface00) *walk-mods*) (none) ) - :exit - target-state-hook-exit - :trans - (behavior () + :exit target-state-hook-exit + :trans (behavior () ((-> self state-hook)) (if (!= (-> self control ground-pat material) (pat-material ice)) (go target-stance) @@ -60,8 +56,7 @@ (fall-test) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 60)) (let ((v1-2 (ja-group))) (cond @@ -111,11 +106,10 @@ ((ja-group? (-> self draw art-group data 59)) (set! (-> self control unknown-float81) (-> self control unknown-float80)) (set! (-> self control unknown-surface00) *walk-no-turn-mods*) - (ja-no-eval :group! - (if (rand-vu-percent? 0.3) - (-> self draw art-group data 61) - (-> self draw art-group data 60) - ) + (ja-no-eval :group! (if (rand-vu-percent? 0.3) + (-> self draw art-group data 61) + (-> self draw art-group data 60) + ) :num! (seek!) :frame-num 0.0 ) @@ -165,27 +159,22 @@ ) (none) ) - :post - target-post + :post target-post ) (defstate target-ice-walk (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *walk-mods*) (none) ) - :exit - (behavior () + :exit (behavior () (target-effect-exit) (target-state-hook-exit) (none) ) - :trans - (behavior () + :trans (behavior () ((-> self state-hook)) (when (!= (-> self control ground-pat material) (pat-material ice)) (remove-exit) @@ -250,8 +239,7 @@ (fall-test) (none) ) - :code - (behavior () + :code (behavior () (cond ((ja-group? (-> self draw art-group data 23)) (let ((f30-0 (ja-aframe-num 0))) @@ -331,8 +319,7 @@ ) (none) ) - :post - target-post + :post target-post ) diff --git a/goal_src/levels/snow/target-snowball.gc b/goal_src/levels/snow/target-snowball.gc index a644c542eb..dd3e4e9259 100644 --- a/goal_src/levels/snow/target-snowball.gc +++ b/goal_src/levels/snow/target-snowball.gc @@ -49,8 +49,7 @@ ) (defstate target-snowball-start (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) 'snowball @@ -70,8 +69,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (when (!= (-> self next-state name) 'target-snowball) (let ((v1-1 (-> self manipy))) (when v1-1 @@ -89,8 +87,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (target-exit) (set! *display-profile* #f) (set! *display-entity-errors* #f) @@ -114,24 +111,19 @@ (go target-snowball) (none) ) - :post - target-post + :post target-post ) (defstate target-snowball (target) - :event - (-> target-snowball-start event) - :exit - (-> target-snowball-start exit) - :code - (behavior () + :event (-> target-snowball-start event) + :exit (-> target-snowball-start exit) + :code (behavior () (loop (suspend) ) (none) ) - :post - (behavior () + :post (behavior () (target-snowball-post) (none) ) diff --git a/goal_src/levels/snow/yeti.gc b/goal_src/levels/snow/yeti.gc index 9462d4a0e7..30caa0344b 100644 --- a/goal_src/levels/snow/yeti.gc +++ b/goal_src/levels/snow/yeti.gc @@ -9,6 +9,7 @@ (declare-type yeti-slave nav-enemy) ;; DECOMP BEGINS + (import "goal_src/import/yeti-ag.gc") (deftype yeti-slave (nav-enemy) @@ -116,15 +117,13 @@ :id 538 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 1928 :fade-after (meters 70) :falloff-to (meters 70)) + :parts ((sp-item 1928 :fade-after (meters 70) :falloff-to (meters 70)) (sp-item 1929 :fade-after (meters 70) :falloff-to (meters 70)) ) ) (defpart 1929 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) @@ -148,8 +147,7 @@ ) (defpart 1928 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) @@ -179,13 +177,11 @@ :id 539 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 1930 :fade-after (meters 70) :falloff-to (meters 70))) + :parts ((sp-item 1930 :fade-after (meters 70) :falloff-to (meters 70))) ) (defpart 1930 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.25) (meters 0.5) 1.0) @@ -219,10 +215,8 @@ ) (defstate yeti-slave-appear-jump-up (yeti-slave) - :event - yeti-slave-default-event-handler - :enter - (behavior () + :event yeti-slave-default-event-handler + :enter (behavior () (nav-enemy-neck-control-inactive) (set! (-> self state-time) (-> *display* base-frame-counter)) (if (-> self nav-info move-to-ground) @@ -237,8 +231,7 @@ (set! (-> self collide-info transv y) (rand-vu-float-range 102400.0 114688.0)) (none) ) - :trans - (behavior () + :trans (behavior () (when (and (< (-> self collide-info trans y) (-> self ground-y)) (< (-> self collide-info transv y) 0.0)) (set! (-> self collide-info trans y) (-> self ground-y)) (set! (-> self collide-info transv quad) (-> *null-vector* quad)) @@ -253,8 +246,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! yeti-jump-ja :num! (seek!) :frame-num (ja-aframe 10.0 0)) (until (ja-done? 0) @@ -266,15 +258,12 @@ ) (none) ) - :post - (the-as (function none :behavior yeti-slave) nav-enemy-falling-post) + :post (the-as (function none :behavior yeti-slave) nav-enemy-falling-post) ) (defstate yeti-slave-appear-land (yeti-slave) - :event - yeti-slave-default-event-handler - :code - (behavior () + :event yeti-slave-default-event-handler + :code (behavior () (ja-channel-push! 1 (seconds 0.05)) (ja-no-eval :group! yeti-jump-land-ja :num! (seek! max 0.5) :frame-num 0.0) (until (ja-done? 0) @@ -287,29 +276,24 @@ ) (none) ) - :post - (the-as (function none :behavior yeti-slave) ja-post) + :post (the-as (function none :behavior yeti-slave) ja-post) ) (defstate yeti-slave-show-anims (yeti-slave) - :trans - (behavior () + :trans (behavior () 0 (none) ) - :code - (behavior () + :code (behavior () 0 (none) ) - :post - (the-as (function none :behavior yeti-slave) transform-post) + :post (the-as (function none :behavior yeti-slave) transform-post) ) (defstate nav-enemy-patrol (yeti-slave) :virtual #t - :code - (behavior () + :code (behavior () (cond ((ja-group? yeti-give-up-hop-ja) (ja-channel-push! 1 (seconds 0.15)) @@ -360,15 +344,13 @@ (defstate nav-enemy-chase (yeti-slave) :virtual #t - :code - (behavior () + :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (cond ((ja-group? yeti-jump-land-ja) (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.17)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info run-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info run-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -395,8 +377,7 @@ (defstate nav-enemy-stare (yeti-slave) :virtual #t - :code - (behavior () + :code (behavior () (set! (-> self turn-time) (seconds 0.2)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) (when (or (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) @@ -447,8 +428,7 @@ (defstate nav-enemy-give-up (yeti-slave) :virtual #t - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 218453.33) (set! (-> self turn-time) (seconds 0.5)) (ja-channel-push! 1 (seconds 0.15)) @@ -487,12 +467,10 @@ (defstate nav-enemy-jump-land (yeti-slave) :virtual #t - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.075)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info jump-land-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info jump-land-anim)) :num! (seek! (ja-aframe 32.0 0) 0.5) :frame-num 0.0 ) @@ -647,8 +625,7 @@ ) (defstate yeti-first-time-start (yeti) - :code - (behavior () + :code (behavior () (loop (when *target* (when (>= (-> self first-time-spawn-dist) (vector-vector-xz-distance (target-pos 0) (-> self root trans))) @@ -663,8 +640,7 @@ ) (defstate yeti-resuming-start (yeti) - :code - (behavior () + :code (behavior () (let ((gp-0 0)) (let ((v1-0 (the-as (pointer process-tree) (-> self child-process)))) (while v1-0 @@ -681,15 +657,7 @@ (if (not (TODO-RENAME-20 self s5-0 s4-0)) (go yeti-idle) ) - (let ((s3-0 (get-process *default-dead-pool* yeti-slave #x4000))) - (when s3-0 - (let ((t9-3 (method-of-type yeti-slave activate))) - (t9-3 (the-as yeti-slave s3-0) self 'yeti-slave (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 yeti-slave-init-by-other (-> self entity) self s5-0 s4-0 #t) - (-> s3-0 ppointer) - ) - ) + (process-spawn yeti-slave (-> self entity) self s5-0 s4-0 #t :to self) ) (+! gp-0 1) ) @@ -700,8 +668,7 @@ ) (defstate yeti-idle (yeti) - :code - (behavior () + :code (behavior () (loop (cond ((zero? (-> self spawn-delay)) @@ -726,15 +693,7 @@ (s5-0 (new 'stack-no-clear 'vector)) ) (when (TODO-RENAME-20 self gp-0 s5-0) - (let ((s4-0 (get-process *default-dead-pool* yeti-slave #x4000))) - (when s4-0 - (let ((t9-3 (method-of-type yeti-slave activate))) - (t9-3 (the-as yeti-slave s4-0) self 'yeti-slave (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 yeti-slave-init-by-other (-> self entity) self gp-0 s5-0 #f) - (-> s4-0 ppointer) - ) - ) + (process-spawn yeti-slave (-> self entity) self gp-0 s5-0 #f :to self) (set! (-> self spawn-delay) 0) 0 ) diff --git a/goal_src/levels/sunken/bully.gc b/goal_src/levels/sunken/bully.gc index f0db1cabe8..01221dccb6 100644 --- a/goal_src/levels/sunken/bully.gc +++ b/goal_src/levels/sunken/bully.gc @@ -11,6 +11,7 @@ (define-extern *bully-broken-cage-sg* skeleton-group) ;; DECOMP BEGINS + (import "goal_src/import/bully-ag.gc") (deftype bully-broken-cage (process-drawable) @@ -73,10 +74,8 @@ (define *bully-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #x9)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 614400.0) + :center (new 'static 'vector :w (the-as float #x9)) + :shadow-dir (new 'static 'vector :y -1.0 :w 614400.0) :bot-plane (new 'static 'plane :y 1.0 :w 10240.0) :top-plane (new 'static 'plane :y 1.0 :w -2048.0) :fade-dist 245760.0 @@ -88,13 +87,11 @@ :id 454 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2871) (sp-item 2872) (sp-item 2873) (sp-item 2874) (sp-item 2875)) + :parts ((sp-item 2871) (sp-item 2872) (sp-item 2873) (sp-item 2874) (sp-item 2875)) ) (defpart 2871 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 0.5) (meters 2) 1.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) @@ -117,13 +114,11 @@ ) (defpart 2876 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) (defpart 2872 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 1.5)) (sp-rnd-flt spt-scale-x (meters 6) (meters 3) 1.0) @@ -147,13 +142,11 @@ ) (defpart 2877 - :init-specs - ((sp-flt spt-fade-a -2.1333334)) + :init-specs ((sp-flt spt-fade-a -2.1333334)) ) (defpart 2873 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1.5)) (sp-flt spt-scale-x (meters 12)) @@ -169,8 +162,7 @@ ) (defpart 2874 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) @@ -198,16 +190,14 @@ ) (defpart 2878 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0033333334)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0033333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -3.4) ) ) (defpart 2875 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x2)) (sp-flt spt-num 16.5) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) @@ -235,8 +225,7 @@ ) (defstate bully-broken-cage-explode (bully-broken-cage) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 0) (ja-no-eval :group! bully-broken-cage-explode-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -245,8 +234,7 @@ ) (none) ) - :post - (the-as (function none :behavior bully-broken-cage) ja-post) + :post (the-as (function none :behavior bully-broken-cage) ja-post) ) (defbehavior bully-broken-cage-init-by-other bully-broken-cage ((arg0 entity)) @@ -311,46 +299,29 @@ ) (set-vector! s4-0 (* (sin f26-0) f28-0) 0.0 (* (cos f26-0) f28-0) 1.0) ) - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) self) - (set! (-> a1-8 num-params) 2) - (set! (-> a1-8 message) 'shove) - (set! (-> a1-8 param 0) (-> arg3 param 0)) - (let ((v1-23 (new 'static 'attack-info :mask #x82))) - (set! (-> v1-23 shove-up) f30-0) - (set! (-> v1-23 vector quad) (-> s4-0 quad)) - (set! (-> a1-8 param 1) (the-as uint v1-23)) - ) - (when (send-event-function arg0 a1-8) - (level-hint-spawn - (game-text-id sunken-bully-dive-hint) - "sksp0131" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (set! (-> self bounced?) #t) - (set! v0-0 (the-as none 100)) - (set! (-> self bounce-volume) (the-as int v0-0)) - v0-0 + (when (send-event arg0 'shove (-> arg3 param 0) (static-attack-info ((shove-up f30-0) (vector s4-0)))) + (level-hint-spawn + (game-text-id sunken-bully-dive-hint) + "sksp0131" + (the-as entity #f) + *entity-pool* + (game-task none) ) + (set! (-> self bounced?) #t) + (set! v0-0 (the-as none 100)) + (set! (-> self bounce-volume) (the-as int v0-0)) + v0-0 ) ) ) (else - (let ((f0-21 (fmax 0.6 (* 0.000023935356 (-> self travel-speed)))) - (a1-10 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-10 from) self) - (set! (-> a1-10 num-params) 2) - (set! (-> a1-10 message) 'attack) - (set! (-> a1-10 param 0) (-> arg3 param 0)) - (let ((v1-29 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-29 shove-up) (* 12288.0 f0-21)) - (set! (-> v1-29 shove-back) (* 16384.0 f0-21)) - (set! (-> a1-10 param 1) (the-as uint v1-29)) - ) - (when (send-event-function arg0 a1-10) + (let ((f0-21 (fmax 0.6 (* 0.000023935356 (-> self travel-speed))))) + (when (send-event + arg0 + 'attack + (-> arg3 param 0) + (static-attack-info ((shove-up (* 12288.0 f0-21)) (shove-back (* 16384.0 f0-21)))) + ) (level-hint-spawn (game-text-id sunken-bully-dive-hint) "sksp0131" @@ -374,17 +345,7 @@ (when (= arg2 'touched) (cond ((= (-> arg0 type) target) - (let ((a1-13 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-13 from) self) - (set! (-> a1-13 num-params) 2) - (set! (-> a1-13 message) 'attack) - (set! (-> a1-13 param 0) (-> arg3 param 0)) - (let ((a0-26 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-26 mode) 'explode) - (set! (-> a1-13 param 1) (the-as uint a0-26)) - ) - (send-event-function arg0 a1-13) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'explode)))) ) (else (let ((a1-14 (new 'stack-no-clear 'event-message-block))) @@ -500,10 +461,8 @@ ) (defstate bully-idle (bully) - :event - bully-default-event-handler - :enter - (behavior ((arg0 symbol)) + :event bully-default-event-handler + :enter (behavior ((arg0 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self reaction-delay) (rand-vu-int-range 0 (seconds 0.35))) (set! (-> self travel-speed) 0.0) @@ -514,16 +473,14 @@ 0 (none) ) - :exit - (behavior () + :exit (behavior () (let ((v1-1 (-> self draw shadow-ctrl))) (logclear! (-> v1-1 settings flags) (shadow-flags shdf05)) ) 0 (none) ) - :trans - (behavior () + :trans (behavior () (when (and (and *target* (>= (-> self fact-override idle-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -535,13 +492,11 @@ ) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-channel-push! 1 (seconds 0.075)) (if arg0 (ja :group! bully-idle-ja - :num! - (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) + :num! (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) ) (ja :group! bully-idle-ja :num! min) ) @@ -551,15 +506,12 @@ ) (none) ) - :post - bully-post + :post bully-post ) (defstate bully-notice (bully) - :event - bully-default-event-handler - :trans - (behavior () + :event bully-default-event-handler + :trans (behavior () (when *target* (if *target* (look-at-enemy! @@ -573,8 +525,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self travel-speed) 0.0) (ja-channel-push! 1 (seconds 0.075)) (set-vector! (-> self root-override transv) 0.0 (rand-vu-float-range 61440.0 90112.0) 0.0 1.0) @@ -612,15 +563,12 @@ (go bully-start-spinning) (none) ) - :post - bully-post + :post bully-post ) (defstate bully-start-spinning (bully) - :event - bully-default-event-handler - :enter - (behavior () + :event bully-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self start-spin-time) (-> *display* base-frame-counter)) (set! (-> self slow-down) (rand-vu-int-range (seconds 4) (seconds 8))) @@ -636,8 +584,7 @@ (+! (-> self travel-ry) (rand-vu-float-range -910.2222 910.2222)) (none) ) - :trans - (behavior () + :trans (behavior () (when *target* (if *target* (look-at-enemy! @@ -677,8 +624,7 @@ (TODO-RENAME-27 (-> self nav)) (none) ) - :code - (behavior () + :code (behavior () (local-vars (v1-34 symbol) (v1-52 symbol)) (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! bully-start-spin-ja :num! (seek!) :frame-num 0.0) @@ -721,23 +667,19 @@ ) (none) ) - :post - bully-post + :post bully-post ) (defstate bully-stop-spinning (bully) - :event - bully-default-event-handler - :enter - (behavior () + :event bully-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self reaction-delay) (rand-vu-int-range (seconds 2) (seconds 3))) (set! (-> self travel-speed) 0.0) (set! (-> self bounced?) #f) (none) ) - :trans - (behavior () + :trans (behavior () (when *target* (if *target* (look-at-enemy! @@ -751,8 +693,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (v1-17 symbol) (v1-35 symbol)) (let ((gp-0 2)) (ja-channel-push! 1 (seconds 0.2)) @@ -805,25 +746,15 @@ (go bully-start-spinning) (none) ) - :post - bully-post + :post bully-post ) (defstate bully-die (bully) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (shut-down! (-> self neck)) (logclear! (-> self mask) (process-mask actor-pause)) - (let ((gp-0 (get-process *default-dead-pool* bully-broken-cage #x4000))) - (when gp-0 - (let ((t9-3 (method-of-type bully-broken-cage activate))) - (t9-3 (the-as bully-broken-cage gp-0) self 'bully-broken-cage (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 bully-broken-cage-init-by-other (-> self entity)) - (-> gp-0 ppointer) - ) - ) + (process-spawn bully-broken-cage (-> self entity) :to self) (spawn (-> self part) (-> self root-override trans)) (clear-collide-with-as (-> self root-override)) (drop-pickup (-> self fact-override) #t *entity-pool* (-> self fact-override) 0) @@ -840,8 +771,7 @@ ) (none) ) - :post - (the-as (function none :behavior bully) transform-post) + :post (the-as (function none :behavior bully) transform-post) ) (defmethod relocate bully ((obj bully) (arg0 int)) diff --git a/goal_src/levels/sunken/double-lurker.gc b/goal_src/levels/sunken/double-lurker.gc index 4012edca10..1bc2543780 100644 --- a/goal_src/levels/sunken/double-lurker.gc +++ b/goal_src/levels/sunken/double-lurker.gc @@ -8,6 +8,7 @@ (declare-type double-lurker nav-enemy) ;; DECOMP BEGINS + (import "goal_src/import/double-lurker-ag.gc") (import "goal_src/import/double-lurker-top-ag.gc") @@ -238,8 +239,7 @@ ) (defstate double-lurker-top-on-shoulders (double-lurker-top) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (let ((v1-1 (-> self fall-dest)) @@ -263,8 +263,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (clone-anim-once (ppointer->handle (-> self parent-process)) @@ -280,8 +279,7 @@ ) (defstate double-lurker-top-on-shoulders-die (double-lurker-top) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! double-lurker-bottom-take-hit-ja :num! (seek!) :frame-num 0.0) @@ -291,32 +289,23 @@ ) (none) ) - :post - (the-as (function none :behavior double-lurker-top) ja-post) + :post (the-as (function none :behavior double-lurker-top) ja-post) ) (defstate double-lurker-top-knocked-down (double-lurker-top) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'shove) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (let ((v1-4 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-4 shove-up) 12288.0) - (set! (-> v1-4 shove-back) 8192.0) - (set! (-> a1-2 param 1) (the-as uint v1-4)) - ) - (send-event-function arg0 a1-2) + (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 3)) (shove-back (meters 2)))) ) ) ) ) - :code - (behavior ((arg0 object) (arg1 vector) (arg2 vector)) + :code (behavior ((arg0 object) (arg1 vector) (arg2 vector)) (dummy-51 self) (let ((v1-3 (-> self draw shadow-ctrl))) (logclear! (-> v1-3 settings flags) (shadow-flags shdf05)) @@ -347,13 +336,11 @@ (go double-lurker-top-resume) (none) ) - :post - (the-as (function none :behavior double-lurker-top) transform-post) + :post (the-as (function none :behavior double-lurker-top) transform-post) ) (defstate double-lurker-top-resume (double-lurker-top) - :code - (behavior () + :code (behavior () (cond ((not *target*) (go-virtual nav-enemy-idle) @@ -379,8 +366,7 @@ (defstate nav-enemy-patrol (double-lurker-top) :virtual #t - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja :group! (-> self draw art-group data (-> self nav-info walk-anim))) (ja :num-func num-func-identity :frame-num 0.0) @@ -395,8 +381,7 @@ (defstate nav-enemy-die (double-lurker-top) :virtual #t - :enter - (behavior () + :enter (behavior () (let ((v1-2 (-> self entity extra perm))) (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) (set! (-> v1-2 user-int8 1) 1) @@ -549,22 +534,16 @@ ((and (>= (-> s4-0 y) 8192.0) (>= 14563.556 (fabs (deg- (quaternion-y-angle (-> self collide-info quat)) (atan (-> s4-0 x) (-> s4-0 z))))) ) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'shove) - (set! (-> a1-4 param 0) (-> arg3 param 0)) - (let ((v1-13 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-13 shove-up) 12288.0) - (set! (-> v1-13 shove-back) 8192.0) - (set! (-> a1-4 param 1) (the-as uint v1-13)) - ) - (when (send-event-function arg0 a1-4) - (increment-success-for-hint (game-text-id sunken-double-lurker-hint)) - (go double-lurker-buddy-was-hit) - (return #f) - v0-0 - ) + (when (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 3)) (shove-back (meters 2)))) + ) + (increment-success-for-hint (game-text-id sunken-double-lurker-hint)) + (go double-lurker-buddy-was-hit) + (return #f) + v0-0 ) ) (else @@ -574,17 +553,11 @@ (collide-action solid) (collide-action) ) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'shove) - (set! (-> a1-6 param 0) (-> arg3 param 0)) - (let ((v1-23 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-23 shove-up) 12288.0) - (set! (-> v1-23 shove-back) 8192.0) - (set! (-> a1-6 param 1) (the-as uint v1-23)) - ) - (send-event-function arg0 a1-6) + (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 3)) (shove-back (meters 2)))) ) ) (level-hint-spawn @@ -613,23 +586,19 @@ ) (defstate double-lurker-show-anims (double-lurker) - :trans - (behavior () + :trans (behavior () 0 (none) ) - :code - (behavior () + :code (behavior () 0 (none) ) - :post - (the-as (function none :behavior double-lurker) transform-post) + :post (the-as (function none :behavior double-lurker) transform-post) ) (defstate double-lurker-resume (double-lurker) - :code - (behavior () + :code (behavior () (cond ((not *target*) (go-virtual nav-enemy-idle) @@ -655,16 +624,13 @@ (defstate nav-enemy-idle (double-lurker) :virtual #t - :event - double-lurker-default-event-handler + :event double-lurker-default-event-handler ) (defstate nav-enemy-patrol (double-lurker) :virtual #t - :event - double-lurker-default-event-handler - :code - (behavior () + :event double-lurker-default-event-handler + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja :group! (-> self draw art-group data (-> self nav-info walk-anim))) (ja :num-func num-func-identity :frame-num 0.0) @@ -679,10 +645,8 @@ (defstate nav-enemy-notice (double-lurker) :virtual #t - :event - double-lurker-default-event-handler - :enter - (behavior () + :event double-lurker-default-event-handler + :enter (behavior () (start-hint-timer (game-text-id sunken-double-lurker-hint)) (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-notice) enter))) (if t9-1 @@ -695,32 +659,27 @@ (defstate nav-enemy-chase (double-lurker) :virtual #t - :event - double-lurker-default-event-handler + :event double-lurker-default-event-handler ) (defstate nav-enemy-stop-chase (double-lurker) :virtual #t - :event - double-lurker-default-event-handler + :event double-lurker-default-event-handler ) (defstate nav-enemy-stare (double-lurker) :virtual #t - :event - double-lurker-default-event-handler + :event double-lurker-default-event-handler ) (defstate nav-enemy-victory (double-lurker) :virtual #t - :event - double-lurker-default-event-handler + :event double-lurker-default-event-handler ) (defstate nav-enemy-die (double-lurker) :virtual #t - :enter - (behavior () + :enter (behavior () (let ((v1-2 (-> self entity extra perm))) (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) (set! (-> v1-2 user-int8 0) 1) @@ -736,13 +695,11 @@ ) (defstate double-lurker-both-knocked-back (double-lurker) - :enter - (behavior () + :enter (behavior () (set! (-> self knocked-back-speed) 40960.0) (none) ) - :trans - (behavior () + :trans (behavior () (local-vars (at-0 int)) (rlet ((vf0 :class vf) (vf1 :class vf) @@ -871,8 +828,7 @@ (none) ) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! double-lurker-both-take-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -882,8 +838,7 @@ (go double-lurker-resume) (none) ) - :post - (the-as (function none :behavior double-lurker) nav-enemy-simple-post) + :post (the-as (function none :behavior double-lurker) nav-enemy-simple-post) ) (defmethod dummy-52 double-lurker ((obj double-lurker) (arg0 vector)) @@ -987,8 +942,7 @@ ) (defstate double-lurker-buddy-was-hit (double-lurker) - :code - (behavior () + :code (behavior () (set! (-> self buddy-on-shoulders?) #f) (let ((v1-2 (-> self entity extra perm))) (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) @@ -1008,10 +962,8 @@ ) (defstate double-lurker-break-apart (double-lurker) - :event - double-lurker-default-event-handler - :code - (behavior () + :event double-lurker-default-event-handler + :code (behavior () (ja-no-eval :group! double-lurker-both-break-apart-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -1020,18 +972,15 @@ (go double-lurker-resume) (none) ) - :post - (the-as (function none :behavior double-lurker) nav-enemy-simple-post) + :post (the-as (function none :behavior double-lurker) nav-enemy-simple-post) ) (defstate double-lurker-knocked-back (double-lurker) - :enter - (behavior () + :enter (behavior () (set! (-> self knocked-back-speed) 40960.0) (none) ) - :trans - (behavior () + :trans (behavior () (local-vars (at-0 int)) (rlet ((vf0 :class vf) (vf1 :class vf) @@ -1160,8 +1109,7 @@ (none) ) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! double-lurker-bottom-take-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1171,13 +1119,11 @@ (go double-lurker-resume) (none) ) - :post - (the-as (function none :behavior double-lurker) nav-enemy-simple-post) + :post (the-as (function none :behavior double-lurker) nav-enemy-simple-post) ) (defstate double-lurker-waiting-to-die (double-lurker) - :code - (behavior () + :code (behavior () (clear-collide-with-as (-> self collide-info)) (logior! (-> self draw status) (draw-status hidden)) (until (not (-> self child)) @@ -1362,26 +1308,11 @@ (if (-> obj buddy-on-shoulders?) (set! (-> s5-0 quad) (-> obj collide-info trans quad)) ) - (let ((s4-0 (get-process *default-dead-pool* double-lurker-top #x4000))) - (set! (-> obj buddy-handle) - (ppointer->handle - (when s4-0 - (let ((t9-6 (method-of-type double-lurker-top activate))) - (t9-6 (the-as double-lurker-top s4-0) obj 'double-lurker-top (the-as pointer #x70004000)) - ) - (run-now-in-process - s4-0 - double-lurker-top-init-by-other - (-> obj entity) - obj - (-> obj buddy-on-shoulders?) - s5-0 - ) - (-> s4-0 ppointer) - ) - ) + (set! (-> obj buddy-handle) + (ppointer->handle + (process-spawn double-lurker-top (-> obj entity) obj (-> obj buddy-on-shoulders?) s5-0 :to obj) ) - ) + ) ) ) (when (and (not (-> obj dead?)) (not (-> obj buddy-on-shoulders?))) diff --git a/goal_src/levels/sunken/floating-launcher.gc b/goal_src/levels/sunken/floating-launcher.gc index 67cb9b2fac..24b5b9ec09 100644 --- a/goal_src/levels/sunken/floating-launcher.gc +++ b/goal_src/levels/sunken/floating-launcher.gc @@ -6,6 +6,7 @@ ;; dgos: L1, SUN, SUNKEN ;; DECOMP BEGINS + (import "goal_src/import/floating-launcher-ag.gc") (deftype floating-launcher (baseplat) @@ -30,10 +31,8 @@ ) (defstate floating-launcher-idle (floating-launcher) - :event - (the-as (function process int symbol event-message-block object :behavior floating-launcher) plat-event) - :trans - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior floating-launcher) plat-event) + :trans (behavior () (plat-trans) (when (< (vector-xz-length (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root-override trans))) 81920.0 @@ -46,8 +45,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (transform-post) (suspend) (transform-post) @@ -57,17 +55,13 @@ ) (none) ) - :post - (the-as (function none :behavior floating-launcher) plat-post) + :post (the-as (function none :behavior floating-launcher) plat-post) ) (defstate floating-launcher-lowering (floating-launcher) - :event - (the-as (function process int symbol event-message-block object :behavior floating-launcher) plat-event) - :trans - (the-as (function none :behavior floating-launcher) plat-trans) - :code - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior floating-launcher) plat-event) + :trans (the-as (function none :behavior floating-launcher) plat-trans) + :code (behavior () (let ((a0-1 (entity-actor-lookup (-> self entity) 'alt-actor 0))) (if a0-1 (entity-birth-no-kill a0-1) @@ -88,19 +82,14 @@ (go floating-launcher-ready) (none) ) - :post - (the-as (function none :behavior floating-launcher) plat-post) + :post (the-as (function none :behavior floating-launcher) plat-post) ) (defstate floating-launcher-ready (floating-launcher) - :event - (the-as (function process int symbol event-message-block object :behavior floating-launcher) plat-event) - :trans - (the-as (function none :behavior floating-launcher) plat-trans) - :code - (the-as (function none :behavior floating-launcher) plat-code) - :post - (the-as (function none :behavior floating-launcher) plat-post) + :event (the-as (function process int symbol event-message-block object :behavior floating-launcher) plat-event) + :trans (the-as (function none :behavior floating-launcher) plat-trans) + :code (the-as (function none :behavior floating-launcher) plat-code) + :post (the-as (function none :behavior floating-launcher) plat-post) ) (defmethod init-from-entity! floating-launcher ((obj floating-launcher) (arg0 entity-actor)) @@ -129,21 +118,8 @@ (set! (-> obj path) (new 'process 'path-control obj 'path 0.0)) (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (eval-path-curve-div! (-> obj path) (-> obj root-override trans) 1.0 'interp) - (let ((f30-0 (res-lump-float arg0 'spring-height :default 163840.0)) - (s4-1 (get-process *default-dead-pool* launcher #x4000)) - ) - (set! (-> obj launcher) - (the-as - (pointer launcher) - (when s4-1 - (let ((t9-11 (method-of-type launcher activate))) - (t9-11 (the-as launcher s4-1) obj 'launcher (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 launcher-init-by-other (-> obj root-override trans) f30-0 0 81920.0) - (-> s4-1 ppointer) - ) - ) - ) + (let ((f30-0 (res-lump-float arg0 'spring-height :default 163840.0))) + (set! (-> obj launcher) (process-spawn launcher (-> obj root-override trans) f30-0 0 81920.0 :to obj)) ) (initialize-skeleton obj *floating-launcher-sg* '()) (logior! (-> obj skel status) (janim-status inited)) diff --git a/goal_src/levels/sunken/helix-water.gc b/goal_src/levels/sunken/helix-water.gc index 4fc21c9146..57612d8118 100644 --- a/goal_src/levels/sunken/helix-water.gc +++ b/goal_src/levels/sunken/helix-water.gc @@ -13,8 +13,9 @@ (define-extern *helix-button* helix-button) ;; DECOMP BEGINS -(import "goal_src/import/helix-button-ag.gc") + (import "goal_src/import/helix-slide-door-ag.gc") +(import "goal_src/import/helix-button-ag.gc") (deftype helix-slide-door (process-drawable) ((root-override collide-shape :offset 112) @@ -97,8 +98,7 @@ (defstate water-vol-idle (helix-dark-eco) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (let ((a0-1 (-> self sound))) @@ -111,8 +111,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (let ((t9-0 (-> (method-of-type dark-eco-pool water-vol-idle) enter))) (if t9-0 (t9-0) @@ -124,8 +123,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((t9-0 (-> (method-of-type dark-eco-pool water-vol-idle) trans))) (if t9-0 (t9-0) @@ -134,8 +132,7 @@ (update! (-> self sound)) (none) ) - :post - (behavior () + :post (behavior () (let ((t9-0 (-> (method-of-type dark-eco-pool water-vol-idle) post))) (if t9-0 ((the-as (function none :behavior helix-dark-eco) t9-0)) @@ -147,16 +144,14 @@ ) (defstate helix-slide-door-idle-open (helix-slide-door) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go helix-slide-door-close) ) ) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) @@ -165,8 +160,7 @@ ) (defstate helix-slide-door-close (helix-slide-door) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -176,13 +170,11 @@ (go helix-slide-door-idle-closed) (none) ) - :post - (the-as (function none :behavior helix-slide-door) transform-post) + :post (the-as (function none :behavior helix-slide-door) transform-post) ) (defstate helix-slide-door-idle-closed (helix-slide-door) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -226,8 +218,7 @@ ) (defstate helix-button-startup (helix-button) - :code - (behavior () + :code (behavior () (when (not (task-complete? *game-info* (game-task sunken-slide))) (let ((a0-1 (new 'stack-no-clear 'vector))) (set! (-> a0-1 quad) (-> self root-override trans quad)) @@ -255,8 +246,7 @@ ) (defstate helix-button-idle-up (helix-button) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) (when *target* @@ -277,8 +267,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -288,10 +277,8 @@ ) (defstate helix-button-activate (helix-button) - :trans - (the-as (function none :behavior helix-button) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior helix-button) rider-trans) + :code (behavior () (local-vars (v1-7 symbol)) (let ((a0-1 (handle->process (-> self fcell-handle)))) (when a0-1 @@ -447,15 +434,12 @@ (go helix-button-idle-down) (none) ) - :post - (the-as (function none :behavior helix-button) rider-post) + :post (the-as (function none :behavior helix-button) rider-post) ) (defstate helix-button-quick-activate (helix-button) - :trans - (the-as (function none :behavior helix-button) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior helix-button) rider-trans) + :code (behavior () (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) self) (set! (-> a1-0 num-params) 0) @@ -530,13 +514,11 @@ (go helix-button-idle-down) (none) ) - :post - (the-as (function none :behavior helix-button) rider-post) + :post (the-as (function none :behavior helix-button) rider-post) ) (defstate helix-button-idle-down (helix-button) - :code - (behavior () + :code (behavior () (loop (suspend) ) @@ -635,8 +617,7 @@ ) (defstate helix-water-idle (helix-water) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'trigger) @@ -649,8 +630,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self root trans y) (-> self start-y)) (set! (-> self last-alt-actor-consumed) -1) (set! (-> self transv-y) 9216.0) @@ -662,13 +642,11 @@ ) (none) ) - :post - (the-as (function none :behavior helix-water) ja-post) + :post (the-as (function none :behavior helix-water) ja-post) ) (defstate helix-water-activated (helix-water) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('notify) (when (= (-> arg0 type) launcherdoor) @@ -678,8 +656,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (seek! (-> self root scale y) 0.8 (* 0.667 (-> *display* seconds-per-frame))) (when *target* (let ((f0-4 (-> (target-pos 0) y))) @@ -709,8 +686,7 @@ (dummy-21 self) (none) ) - :code - (behavior () + :code (behavior () (send-event (ppointer->process (-> self dark-eco)) 'trigger) (loop (logior! (-> self mask) (process-mask sleep-code)) @@ -718,8 +694,7 @@ ) (none) ) - :post - (the-as (function none :behavior helix-water) ja-post) + :post (the-as (function none :behavior helix-water) ja-post) ) (defmethod relocate helix-water ((obj helix-water) (arg0 int)) @@ -747,20 +722,7 @@ ) ) (set! (-> obj root trans y) (-> obj start-y)) - (let ((s5-1 (get-process *default-dead-pool* helix-dark-eco #x4000))) - (set! (-> obj dark-eco) - (the-as - (pointer helix-dark-eco) - (when s5-1 - (let ((t9-6 (method-of-type helix-dark-eco activate))) - (t9-6 (the-as helix-dark-eco s5-1) obj 'helix-dark-eco (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 water-vol-init-by-other (-> obj entity)) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> obj dark-eco) (process-spawn helix-dark-eco :init water-vol-init-by-other (-> obj entity) :to obj)) (set! *helix-water* obj) (go helix-water-idle) (none) diff --git a/goal_src/levels/sunken/orbit-plat.gc b/goal_src/levels/sunken/orbit-plat.gc index d61672cfa1..9f69835d5c 100644 --- a/goal_src/levels/sunken/orbit-plat.gc +++ b/goal_src/levels/sunken/orbit-plat.gc @@ -8,6 +8,7 @@ (declare-type orbit-plat baseplat) ;; DECOMP BEGINS + (import "goal_src/import/orbit-plat-ag.gc") (import "goal_src/import/orbit-plat-bottom-ag.gc") @@ -69,8 +70,7 @@ (defpartgroup group-orbit-plat-jet :id 440 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1715 :fade-after (meters 100) :falloff-to (meters 120) :period 150 :length 75) + :parts ((sp-item 1715 :fade-after (meters 100) :falloff-to (meters 120) :period 150 :length 75) (sp-item 1715 :fade-after (meters 100) :falloff-to (meters 120) :period 75 :length 96) (sp-item 1715 :fade-after (meters 140) :falloff-to (meters 160) :period 90 :length 60) (sp-item 1716 :fade-after (meters 100) :falloff-to (meters 100)) @@ -78,8 +78,7 @@ ) (defpart 1716 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -100,8 +99,7 @@ ) (defpart 1715 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-sound (static-sound-spec "steam-medium" :num 0.05 :volume 80.0)) (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.75) 1.0) @@ -124,8 +122,7 @@ ) (defpart 1717 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 3.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.7) (meters 0.3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -168,8 +165,7 @@ ) (defstate orbit-plat-bottom-idle (orbit-plat-bottom) - :code - (behavior () + :code (behavior () (loop (set! (-> self root trans quad) (-> self parent-override 0 root-override trans quad)) (set! (-> self root trans y) (+ -5324.8 (-> self root trans y))) @@ -240,8 +236,7 @@ ) (none) ) - :post - (the-as (function none :behavior orbit-plat-bottom) ja-post) + :post (the-as (function none :behavior orbit-plat-bottom) ja-post) ) (defmethod relocate orbit-plat-bottom ((obj orbit-plat-bottom) (arg0 int)) @@ -277,8 +272,7 @@ ) (defstate orbit-plat-idle (orbit-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'bonk) @@ -314,10 +308,8 @@ ) ) ) - :trans - (the-as (function none :behavior orbit-plat) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior orbit-plat) plat-trans) + :code (behavior () (set! (-> self plat-status) (the-as uint 0)) (ja-no-eval :num! (seek! 0.0)) (dotimes (gp-0 2) @@ -370,8 +362,7 @@ ) (none) ) - :post - (the-as (function none :behavior orbit-plat) plat-post) + :post (the-as (function none :behavior orbit-plat) plat-post) ) (defmethod dummy-28 orbit-plat ((obj orbit-plat)) @@ -395,8 +386,7 @@ ) (defstate orbit-plat-still (orbit-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'bonk) @@ -409,10 +399,8 @@ ) ) ) - :trans - (the-as (function none :behavior orbit-plat) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior orbit-plat) plat-trans) + :code (behavior () (set! (-> self plat-status) (the-as uint 0)) (set! (-> self state-time) (-> *display* base-frame-counter)) (ja-no-eval :num! (seek! 0.0)) @@ -443,17 +431,13 @@ (go orbit-plat-idle) (none) ) - :post - (the-as (function none :behavior orbit-plat) plat-post) + :post (the-as (function none :behavior orbit-plat) plat-post) ) (defstate orbit-plat-riding (orbit-plat) - :event - (the-as (function process int symbol event-message-block object :behavior orbit-plat) plat-event) - :trans - (the-as (function none :behavior orbit-plat) plat-trans) - :code - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior orbit-plat) plat-event) + :trans (the-as (function none :behavior orbit-plat) plat-trans) + :code (behavior () (set! (-> self plat-status) (the-as uint 1)) (ja-no-eval :num! (seek!)) (loop @@ -482,8 +466,7 @@ ) (none) ) - :post - (the-as (function none :behavior orbit-plat) plat-post) + :post (the-as (function none :behavior orbit-plat) plat-post) ) (defun get-rotate-point! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector) (arg4 float) (arg5 float)) @@ -522,8 +505,7 @@ ) (defstate orbit-plat-rotating (orbit-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'bonk) @@ -536,10 +518,8 @@ ) ) ) - :trans - (the-as (function none :behavior orbit-plat) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior orbit-plat) plat-trans) + :code (behavior () (set! (-> self plat-status) (the-as uint 2)) (set! (-> self is-reset?) #f) (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -584,8 +564,7 @@ (b! #t cfg-3 :delay (nop!)) (none) ) - :post - (the-as (function none :behavior orbit-plat) plat-post) + :post (the-as (function none :behavior orbit-plat) plat-post) ) ;; WARN: disable def twice: 132. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. @@ -739,8 +718,7 @@ ) (defstate orbit-plat-reset (orbit-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'bonk) @@ -753,10 +731,8 @@ ) ) ) - :trans - (the-as (function none :behavior orbit-plat) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior orbit-plat) plat-trans) + :code (behavior () (set! (-> self plat-status) (the-as uint 3)) (logclear! (-> self nav flags) (nav-control-flags navcf19)) (ja-no-eval :num! (seek! 0.0)) @@ -789,13 +765,11 @@ (go orbit-plat-idle) (none) ) - :post - (the-as (function none :behavior orbit-plat) plat-post) + :post (the-as (function none :behavior orbit-plat) plat-post) ) (defstate orbit-plat-wait-for-other (orbit-plat) - :code - (behavior () + :code (behavior () (set! (-> self plat-status) (the-as uint 0)) (ja-no-eval :num! (seek! 0.0)) (loop @@ -814,8 +788,7 @@ ) (none) ) - :post - (the-as (function none :behavior orbit-plat) ja-post) + :post (the-as (function none :behavior orbit-plat) ja-post) ) (defmethod init-from-entity! orbit-plat ((obj orbit-plat) (arg0 entity-actor)) @@ -867,15 +840,7 @@ (set! (-> obj rot-dir) 1.0) (set! (-> obj reset-trans quad) (-> obj basetrans quad)) (set! (-> obj is-reset?) #t) - (let ((s5-1 (get-process *default-dead-pool* orbit-plat-bottom #x4000))) - (when s5-1 - (let ((t9-18 (method-of-type orbit-plat-bottom activate))) - (t9-18 (the-as orbit-plat-bottom s5-1) obj 'orbit-plat-bottom (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 orbit-plat-bottom-init-by-other (-> obj entity) obj) - (-> s5-1 ppointer) - ) - ) + (process-spawn orbit-plat-bottom (-> obj entity) obj :to obj) (go orbit-plat-wait-for-other) (none) ) diff --git a/goal_src/levels/sunken/puffer.gc b/goal_src/levels/sunken/puffer.gc index 4f7388e1d1..1d0d3d2ec4 100644 --- a/goal_src/levels/sunken/puffer.gc +++ b/goal_src/levels/sunken/puffer.gc @@ -12,6 +12,7 @@ ;; DECOMP BEGINS + (import "goal_src/import/puffer-ag.gc") (deftype puffer (process-drawable) @@ -114,21 +115,15 @@ (return (the-as object #t)) ) (when (= (-> arg0 type) target) - (let ((a1-9 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-9 from) self) - (set! (-> a1-9 num-params) 2) - (set! (-> a1-9 message) 'attack) - (set! (-> a1-9 param 0) (-> arg3 param 0)) - (let ((v1-19 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-19 shove-up) 6144.0) - (set! (-> v1-19 shove-back) 10240.0) - (set! (-> a1-9 param 1) (the-as uint v1-19)) - ) - (when (send-event-function arg0 a1-9) - (set! (-> self hit-player?) #t) - (set! (-> self hit-player-time) (-> *display* base-frame-counter)) - (set-collide-offense (-> self root-override) 2 (collide-offense no-offense)) - ) + (when (send-event + arg0 + 'attack + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 1.5)) (shove-back (meters 2.5)))) + ) + (set! (-> self hit-player?) #t) + (set! (-> self hit-player-time) (-> *display* base-frame-counter)) + (set-collide-offense (-> self root-override) 2 (collide-offense no-offense)) ) ) ) @@ -569,10 +564,8 @@ ) (defstate puffer-idle (puffer) - :event - puffer-default-event-handler - :enter - (behavior () + :event puffer-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self attacking?) #f) (shut-down! (-> self neck)) @@ -582,8 +575,7 @@ 0 (none) ) - :code - (behavior () + :code (behavior () (loop (if (and (and *target* (>= (-> self fact-info-override idle-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) @@ -599,15 +591,12 @@ ) (none) ) - :post - puffer-post + :post puffer-post ) (defstate puffer-patrol (puffer) - :event - puffer-default-event-handler - :enter - (behavior () + :event puffer-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self attacking?) #f) (set! (-> self reaction-delay) (rand-vu-int-range (seconds 0.1) (seconds 0.35))) @@ -619,8 +608,7 @@ (set! (-> self last-on-screen-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (not (and *target* (>= (-> self fact-info-override idle-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -668,37 +656,31 @@ (dummy-28 self) (none) ) - :code - (behavior () + :code (behavior () (loop (dummy-26 self) (suspend) ) (none) ) - :post - puffer-post + :post puffer-post ) (defstate puffer-attack (puffer) - :event - puffer-default-event-handler - :enter - (behavior () + :event puffer-default-event-handler + :enter (behavior () (set! (-> self attacking?) #t) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self travel-turn-speed) 21845.334) (none) ) - :exit - (behavior () + :exit (behavior () (shut-down! (-> self neck)) (set! (-> self attacking?) #f) (set! (-> self travel-turn-speed) 16384.0) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (dummy-25 self (-> self give-up-dist))) (go puffer-patrol) ) @@ -722,21 +704,18 @@ (dummy-28 self) (none) ) - :code - (behavior () + :code (behavior () (loop (dummy-26 self) (suspend) ) (none) ) - :post - puffer-post + :post puffer-post ) (defstate puffer-die (puffer) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as uint @@ -754,8 +733,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (shut-down! (-> self neck)) (logclear! (-> self mask) (process-mask actor-pause)) @@ -768,8 +746,7 @@ ) (none) ) - :post - (the-as (function none :behavior puffer) ja-post) + :post (the-as (function none :behavior puffer) ja-post) ) (defmethod dummy-21 puffer ((obj puffer)) diff --git a/goal_src/levels/sunken/qbert-plat.gc b/goal_src/levels/sunken/qbert-plat.gc index 44b8b20f84..1857471b6b 100644 --- a/goal_src/levels/sunken/qbert-plat.gc +++ b/goal_src/levels/sunken/qbert-plat.gc @@ -9,8 +9,9 @@ (declare-type qbert-plat rigid-body-platform) ;; DECOMP BEGINS -(import "goal_src/import/qbert-plat-on-ag.gc") + (import "goal_src/import/qbert-plat-ag.gc") +(import "goal_src/import/qbert-plat-on-ag.gc") (deftype qbert-plat-on (process-drawable) () @@ -105,16 +106,14 @@ (defstate qbert-plat-on-mimic (qbert-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('die) (go qbert-plat-on-die) ) ) ) - :code - (behavior () + :code (behavior () (set-vector! (-> self draw color-emissive) 0.0 0.0 1.0 0.0) (loop (let ((gp-0 (-> self parent))) @@ -133,13 +132,11 @@ ) (none) ) - :post - (the-as (function none :behavior qbert-plat) ja-post) + :post (the-as (function none :behavior qbert-plat) ja-post) ) (defstate qbert-plat-on-die (qbert-plat) - :code - (behavior () + :code (behavior () '() (none) ) @@ -197,15 +194,7 @@ (set! (-> obj on?) v1-3) (cond (v1-3 - (let ((s5-0 (get-process *default-dead-pool* qbert-plat-on #x4000))) - (when s5-0 - (let ((t9-2 (method-of-type qbert-plat-on activate))) - (t9-2 (the-as qbert-plat-on s5-0) obj 'qbert-plat-on (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 qbert-plat-on-init-by-other (-> obj entity) obj) - (-> s5-0 ppointer) - ) - ) + (process-spawn qbert-plat-on (-> obj entity) obj :to obj) (sound-play-by-name (static-sound-name "plat-light-on") (new-sound-id) 1024 0 0 1 #t) ) (else @@ -225,8 +214,7 @@ ) (defstate qbert-plat-wait-for-master (qbert-plat) - :code - (behavior () + :code (behavior () (loop (let ((v1-0 (-> self master))) (when (if v1-0 @@ -242,38 +230,31 @@ ) (none) ) - :post - (the-as (function none :behavior qbert-plat) ja-post) + :post (the-as (function none :behavior qbert-plat) ja-post) ) (defstate rigid-body-platform-idle (qbert-plat) :virtual #t - :event - qbert-plat-event-handler - :code - (behavior () + :event qbert-plat-event-handler + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior qbert-plat) ja-post) + :post (the-as (function none :behavior qbert-plat) ja-post) ) (defstate rigid-body-platform-float (qbert-plat) :virtual #t - :event - qbert-plat-event-handler - :exit - (behavior () + :event qbert-plat-event-handler + :exit (behavior () (if (-> self on?) (logior! (-> self draw status) (draw-status hidden)) ) (none) ) - :trans - (behavior () + :trans (behavior () (logclear! (-> self draw status) (draw-status hidden)) ((-> (method-of-type rigid-body-platform rigid-body-platform-float) trans)) (let* ((v1-5 (-> self root-overlay riders)) @@ -288,8 +269,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () ((the-as (function none :behavior qbert-plat) (-> (method-of-type rigid-body-platform rigid-body-platform-float) post) @@ -395,8 +375,7 @@ ) (defstate qbert-plat-master-idle (qbert-plat-master) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (start-hint-timer (game-text-id sunken-qbert-plat-hint)) @@ -407,7 +386,7 @@ (set! (-> self last-plat-triggered) (the-as int v1-2)) (let ((s5-1 (= (-> self plat-states-needed-to-open-door) (-> self plat-states)))) (let ((v1-3 (ash 1 v1-2))) - (set! (-> self plat-states) (logxor (-> self plat-states) (the-as uint v1-3))) + (logxor! (-> self plat-states) (the-as uint v1-3)) (if (zero? (logand v1-3 (-> self plat-states))) (level-hint-spawn (game-text-id sunken-qbert-plat-hint) @@ -431,8 +410,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (when (not (-> self puzzle-beaten?)) (when (task-complete? *game-info* (game-task sunken-platforms)) @@ -558,8 +536,7 @@ ) (defstate qbert-plat-master-do-door (qbert-plat-master) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (when (not (-> self play-door-cam?)) (cond (arg0 @@ -633,48 +610,14 @@ (cond (arg0 (ambient-hint-spawn "gamcam08" (the-as vector #f) *entity-pool* 'camera) - (let ((s5-0 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-0 - (let ((t9-7 (method-of-type pov-camera activate))) - (t9-7 (the-as pov-camera s5-0) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) - (-> s5-0 ppointer) - ) - ) + (process-spawn pov-camera (-> self root trans) *sunkencam-sg* "qbert-show-door-open" 0 #f '() :to self) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1.4)) (suspend) ) ) (else (ambient-hint-spawn "gamcam07" (the-as vector #f) *entity-pool* 'camera) - (let ((s5-1 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-1 - (let ((t9-11 (method-of-type pov-camera activate))) - (t9-11 (the-as pov-camera s5-1) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-close" - 0 - #f - '() - ) - (-> s5-1 ppointer) - ) - ) + (process-spawn pov-camera (-> self root trans) *sunkencam-sg* "qbert-show-door-close" 0 #f '() :to self) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) (suspend) ) @@ -753,8 +696,7 @@ ) (defstate qbert-plat-master-wait-for-door (qbert-plat-master) - :code - (behavior () + :code (behavior () (loop (let* ((v1-0 (-> self door)) (gp-0 (if v1-0 diff --git a/goal_src/levels/sunken/shover.gc b/goal_src/levels/sunken/shover.gc index d2dab00f5d..957020a036 100644 --- a/goal_src/levels/sunken/shover.gc +++ b/goal_src/levels/sunken/shover.gc @@ -9,6 +9,7 @@ (define-extern *shover* shover) ;; unknown type ;; DECOMP BEGINS + (import "goal_src/import/shover-ag.gc") (deftype shover (process-drawable) @@ -31,8 +32,7 @@ ) (defstate shover-idle (shover) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (when (= (-> arg0 type) target) @@ -51,51 +51,36 @@ *entity-pool* (game-task none) ) - (cond - ((or (= (-> *target* control unknown-surface00 mode) 'air) - (>= (+ (-> *display* base-frame-counter) (seconds -0.2)) (-> *target* control unknown-dword11)) - (< 0.75 (-> *target* control poly-normal y)) - ) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'attack-or-shove) - (set! (-> a1-6 param 0) (-> arg3 param 0)) - (let ((v1-22 (new 'static 'attack-info :mask #xa2))) - (set! (-> v1-22 mode) 'burn) - (set! (-> v1-22 vector quad) (-> s4-0 vector quad)) - (set! (-> v1-22 shove-up) (-> s4-0 shove-up)) - (set! (-> a1-6 param 1) (the-as uint v1-22)) - ) - (send-event-function arg0 a1-6) - ) - ) - (else - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'attack-or-shove) - (set! (-> a1-7 param 0) (-> arg3 param 0)) - (let ((v1-26 (new 'static 'attack-info :mask #x8e2))) - (set! (-> v1-26 mode) 'burn) - (set! (-> v1-26 shove-up) 0.0) - (set! (-> v1-26 shove-back) 8192.0) - (set! (-> v1-26 vector quad) (-> *target* control poly-normal quad)) - (set! (-> v1-26 angle) 'shove) - (set! (-> a1-7 param 1) (the-as uint v1-26)) + (if (or (= (-> *target* control unknown-surface00 mode) 'air) + (>= (+ (-> *display* base-frame-counter) (seconds -0.2)) (-> *target* control unknown-dword11)) + (< 0.75 (-> *target* control poly-normal y)) ) - (send-event-function arg0 a1-7) + (send-event + arg0 + 'attack-or-shove + (-> arg3 param 0) + (static-attack-info ((mode 'burn) (vector (-> s4-0 vector)) (shove-up (-> s4-0 shove-up)))) + ) + (send-event + arg0 + 'attack-or-shove + (-> arg3 param 0) + (static-attack-info ((mode 'burn) + (shove-up (meters 0)) + (shove-back (meters 2)) + (vector (-> *target* control poly-normal)) + (angle 'shove) + ) + ) ) ) - ) ) ) ) ) ) ) - :code - (the-as (function none :behavior shover) anim-loop) + :code (the-as (function none :behavior shover) anim-loop) ) (defmethod init-from-entity! shover ((obj shover) (arg0 entity-actor)) diff --git a/goal_src/levels/sunken/square-platform.gc b/goal_src/levels/sunken/square-platform.gc index fafe8e1e39..48e486ae8b 100644 --- a/goal_src/levels/sunken/square-platform.gc +++ b/goal_src/levels/sunken/square-platform.gc @@ -9,6 +9,7 @@ (declare-type square-platform-master process-drawable) ;; DECOMP BEGINS + (import "goal_src/import/square-platform-ag.gc") (deftype square-platform (baseplat) @@ -79,13 +80,11 @@ :id 437 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2222 :flags (is-3d)) (sp-item 2315 :flags (is-3d))) + :parts ((sp-item 2222 :flags (is-3d)) (sp-item 2315 :flags (is-3d))) ) (defpart 2222 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters 0) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 3.5) (meters 3.5) 1.0) @@ -109,13 +108,11 @@ ) (defpart 2316 - :init-specs - ((sp-flt spt-fade-a -0.17066666)) + :init-specs ((sp-flt spt-fade-a -0.17066666)) ) (defpart 2315 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters 3) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -142,13 +139,11 @@ :id 438 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2223)) + :parts ((sp-item 2223)) ) (defpart 2223 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -4) (meters 8) 1.0) (sp-rnd-flt spt-z (meters -4) (meters 8) 1.0) @@ -171,16 +166,14 @@ ) (defpart 2317 - :init-specs - ((sp-flt spt-fade-a 0.0)) + :init-specs ((sp-flt spt-fade-a 0.0)) ) (defpartgroup group-square-platform-submerge-splash :id 439 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2222 :flags (is-3d)) (sp-item 2315 :flags (is-3d))) + :parts ((sp-item 2222 :flags (is-3d)) (sp-item 2315 :flags (is-3d))) ) (defmethod TODO-RENAME-27 square-platform ((obj square-platform) (arg0 symbol)) @@ -269,8 +262,7 @@ ) (defstate square-platform-lowered (square-platform) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (if (and (= (-> arg0 type) square-platform-master) @@ -281,8 +273,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self pos-u) 0.0) (loop (logior! (-> self mask) (process-mask sleep-code)) @@ -293,8 +284,7 @@ ) (defstate square-platform-rising (square-platform) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((or (= v1-0 'bonk) (= v1-0 'bounce)) @@ -307,15 +297,13 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self start-splash-time) 0) (set! (-> self splash-counter) 0) 0 (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self pos-u) (seek-with-smooth (-> self pos-u) 1.0 (/ 1.0 (* 0.75 (-> *display* frames-per-second))) 0.8 0.01) ) @@ -328,21 +316,18 @@ (TODO-RENAME-27 self #t) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) (none) ) - :post - (the-as (function none :behavior square-platform) plat-post) + :post (the-as (function none :behavior square-platform) plat-post) ) (defstate square-platform-raised (square-platform) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((or (= v1-0 'bonk) (= v1-0 'bounce)) @@ -355,10 +340,8 @@ ) ) ) - :trans - (the-as (function none :behavior square-platform) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior square-platform) plat-trans) + :code (behavior () (set! (-> self pos-u) 1.0) (loop (logior! (-> self mask) (process-mask sleep-code)) @@ -366,13 +349,11 @@ ) (none) ) - :post - (the-as (function none :behavior square-platform) plat-post) + :post (the-as (function none :behavior square-platform) plat-post) ) (defstate square-platform-lowering (square-platform) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((or (= v1-0 'bonk) (= v1-0 'bounce)) @@ -382,22 +363,20 @@ (go square-platform-rising) ) ((= v1-0 'touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) #f ) ) ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self start-splash-time) 0) (set! (-> self splash-counter) 0) 0 (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self pos-u) (seek-with-smooth (-> self pos-u) 0.0 (/ 1.0 (* 0.75 (-> *display* frames-per-second))) 0.8 0.01) ) @@ -410,16 +389,14 @@ (TODO-RENAME-27 self #f) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) (none) ) - :post - (the-as (function none :behavior square-platform) plat-post) + :post (the-as (function none :behavior square-platform) plat-post) ) (defmethod deactivate square-platform ((obj square-platform)) @@ -524,8 +501,7 @@ ) (defstate square-platform-master-idle (square-platform-master) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (when (= (-> arg0 type) square-platform-button) @@ -537,8 +513,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 @@ -547,8 +522,7 @@ ) (defstate square-platform-master-activate (square-platform-master) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self wiggled?) #f) (sleep (-> self ticker) (-> self timeout)) @@ -559,95 +533,71 @@ (let ((v1-7 (-> self button-id))) (cond ((zero? v1-7) - (let* ((s5-0 (get-process *default-dead-pool* sunkencam #x4000)) - (a0-4 (when s5-0 - (let ((t9-3 (method-of-type sunkencam activate))) - (t9-3 (the-as sunkencam s5-0) self 'sunkencam (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) - (-> s5-0 ppointer) - ) - ) - ) + (let ((a0-4 (process-spawn + sunkencam + :init pov-camera-init-by-other + (-> self root trans) + *sunkencam-sg* + "qbert-show-door-open" + 0 + #f + '() + :to self + ) + ) + ) (set! (-> (the-as sunkencam (-> a0-4 0)) seq) (the-as uint 3)) ) ) ((= v1-7 1) - (let* ((gp-1 (get-process *default-dead-pool* sunkencam #x4000)) - (v1-13 (when gp-1 - (let ((t9-6 (method-of-type sunkencam activate))) - (t9-6 (the-as sunkencam gp-1) self 'sunkencam (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) - (-> gp-1 ppointer) - ) - ) - ) + (let ((v1-13 (process-spawn + sunkencam + :init pov-camera-init-by-other + (-> self root trans) + *sunkencam-sg* + "qbert-show-door-open" + 0 + #f + '() + :to self + ) + ) + ) (set! (-> (the-as sunkencam (-> v1-13 0)) seq) (the-as uint 4)) ) (set! gp-0 -1) ) ((= v1-7 2) - (let* ((s5-1 (get-process *default-dead-pool* sunkencam #x4000)) - (a0-17 (when s5-1 - (let ((t9-9 (method-of-type sunkencam activate))) - (t9-9 (the-as sunkencam s5-1) self 'sunkencam (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) - (-> s5-1 ppointer) - ) - ) - ) + (let ((a0-17 (process-spawn + sunkencam + :init pov-camera-init-by-other + (-> self root trans) + *sunkencam-sg* + "qbert-show-door-open" + 0 + #f + '() + :to self + ) + ) + ) (set! (-> (the-as sunkencam (-> a0-17 0)) seq) (the-as uint 5)) ) ) ((= v1-7 3) - (let* ((gp-2 (get-process *default-dead-pool* sunkencam #x4000)) - (v1-24 (when gp-2 - (let ((t9-12 (method-of-type sunkencam activate))) - (t9-12 (the-as sunkencam gp-2) self 'sunkencam (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-2 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) - (-> gp-2 ppointer) - ) - ) - ) + (let ((v1-24 (process-spawn + sunkencam + :init pov-camera-init-by-other + (-> self root trans) + *sunkencam-sg* + "qbert-show-door-open" + 0 + #f + '() + :to self + ) + ) + ) (set! (-> (the-as sunkencam (-> v1-24 0)) seq) (the-as uint 6)) ) (set! gp-0 -1) @@ -661,14 +611,12 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :trans - (behavior () + :trans (behavior () (when (completed? (-> self ticker)) (send-to-all (-> self link) 'untrigger) (go square-platform-master-idle) @@ -709,8 +657,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 diff --git a/goal_src/levels/sunken/steam-cap.gc b/goal_src/levels/sunken/steam-cap.gc index 69825163d4..250ae1549e 100644 --- a/goal_src/levels/sunken/steam-cap.gc +++ b/goal_src/levels/sunken/steam-cap.gc @@ -6,6 +6,7 @@ ;; dgos: L1, SUN, SUNKEN ;; DECOMP BEGINS + (import "goal_src/import/steam-cap-ag.gc") (deftype steam-cap-control-pt (structure) @@ -49,8 +50,7 @@ (defpartgroup group-steam-cap-sides :id 441 :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 1718 :fade-after (meters 100) :falloff-to (meters 160) :period 180 :length 75) + :parts ((sp-item 1718 :fade-after (meters 100) :falloff-to (meters 160) :period 180 :length 75) (sp-item 1719 :fade-after (meters 100) :falloff-to (meters 160) :period 180 :length 75 :offset 60) (sp-item 1720 :fade-after (meters 100) :falloff-to (meters 160) :period 180 :length 75 :offset 120) (sp-item 1721 :fade-after (meters 100) :falloff-to (meters 160) :period 180 :length 75) @@ -61,8 +61,7 @@ ) (defpart 1724 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) (sp-flt spt-g 2867.2) @@ -81,13 +80,11 @@ ) (defpart 1725 - :init-specs - ((sp-flt spt-fade-b -2.7306666)) + :init-specs ((sp-flt spt-fade-b -2.7306666)) ) (defpart 1718 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -115,8 +112,7 @@ ) (defpart 1721 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -144,8 +140,7 @@ ) (defpart 1719 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -173,8 +168,7 @@ ) (defpart 1722 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -202,8 +196,7 @@ ) (defpart 1720 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -231,8 +224,7 @@ ) (defpart 1723 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -260,15 +252,13 @@ ) (defpart 1726 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) (defpartgroup group-steam-cap-plume :id 442 :bounds (static-bspherem 0 0 0 32) - :parts - ((sp-item 1727 :fade-after (meters 120) :falloff-to (meters 160)) + :parts ((sp-item 1727 :fade-after (meters 120) :falloff-to (meters 160)) (sp-item 1728 :fade-after (meters 120) :falloff-to (meters 160)) (sp-item 1729 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1730 :fade-after (meters 60) :falloff-to (meters 60) :flags (start-dead)) @@ -278,15 +268,13 @@ (defpartgroup group-steam-cap-plume-spread :id 443 :bounds (static-bspherem 0 0 0 32) - :parts - ((sp-item 1731 :fade-after (meters 120) :falloff-to (meters 160)) + :parts ((sp-item 1731 :fade-after (meters 120) :falloff-to (meters 160)) (sp-item 1732 :fade-after (meters 120) :falloff-to (meters 160)) ) ) (defpart 1730 - :init-specs - ((sp-flt spt-num 0.4) + :init-specs ((sp-flt spt-num 0.4) (sp-int spt-rot-x 5) (sp-flt spt-r 6144.0) (sp-flt spt-g 2867.2) @@ -305,8 +293,7 @@ ) (defpart 1732 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -333,8 +320,7 @@ ) (defpart 1731 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -361,13 +347,11 @@ ) (defpart 1735 - :init-specs - ((sp-flt spt-fade-a -0.32)) + :init-specs ((sp-flt spt-fade-a -0.32)) ) (defpart 1727 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0) (sp-flt spt-y (meters -1)) @@ -389,8 +373,7 @@ ) (defpart 1728 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters 0) (meters 0.5) 1.0) (sp-flt spt-y (meters -1)) @@ -411,8 +394,7 @@ ) (defpart 1729 - :init-specs - ((sp-flt spt-num 0.5) + :init-specs ((sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 0.5) (meters 0.5) 1.0) (sp-int spt-rot-x 5) (sp-flt spt-r 6144.0) @@ -431,50 +413,37 @@ ) (defmethod dummy-20 steam-cap ((obj steam-cap)) - (with-pp - (when *target* - (let* ((a1-0 (target-pos 0)) - (f0-0 (-> a1-0 y)) - ) - (when (and (>= f0-0 (+ -8192.0 (-> obj down y))) - (and (>= (+ -4096.0 (-> obj root-override trans y)) f0-0) (zero? (-> obj root-override riders num-riders))) - ) - (let ((f0-1 (vector-vector-xz-distance-squared (-> obj down) a1-0))) - (when (>= 104857600.0 f0-1) - (let ((s5-0 (>= 37748736.0 f0-1))) - (when (not s5-0) - (when (>= (- (-> obj root-override trans y) (-> obj down y)) 3072.0) - (let ((a1-1 (new 'stack-no-clear 'vector))) - (set! (-> a1-1 x) (the-as float 1)) - (set! (-> a1-1 y) (the-as float #f)) - (if (find-overlapping-shapes (-> obj root-override) (the-as overlaps-others-params a1-1)) - (set! s5-0 #t) - ) - ) - ) - ) - (when s5-0 - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) pp) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'shove) - (set! (-> a1-2 param 0) (the-as uint #f)) - (let ((v1-16 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-16 shove-up) 2048.0) - (set! (-> v1-16 shove-back) 6144.0) - (set! (-> a1-2 param 1) (the-as uint v1-16)) - ) - (send-event-function *target* a1-2) + (when *target* + (let* ((a1-0 (target-pos 0)) + (f0-0 (-> a1-0 y)) + ) + (when (and (>= f0-0 (+ -8192.0 (-> obj down y))) + (and (>= (+ -4096.0 (-> obj root-override trans y)) f0-0) (zero? (-> obj root-override riders num-riders))) + ) + (let ((f0-1 (vector-vector-xz-distance-squared (-> obj down) a1-0))) + (when (>= 104857600.0 f0-1) + (let ((s5-0 (>= 37748736.0 f0-1))) + (when (not s5-0) + (when (>= (- (-> obj root-override trans y) (-> obj down y)) 3072.0) + (let ((a1-1 (new 'stack-no-clear 'vector))) + (set! (-> a1-1 x) (the-as float 1)) + (set! (-> a1-1 y) (the-as float #f)) + (if (find-overlapping-shapes (-> obj root-override) (the-as overlaps-others-params a1-1)) + (set! s5-0 #t) + ) ) ) ) + (if s5-0 + (send-event *target* 'shove #f (static-attack-info ((shove-up (meters 0.5)) (shove-back (meters 1.5))))) + ) ) ) ) ) ) - (none) ) + (none) ) (defmethod dummy-21 steam-cap ((obj steam-cap)) @@ -665,10 +634,8 @@ ) (defstate steam-cap-idle (steam-cap) - :trans - (the-as (function none :behavior steam-cap) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior steam-cap) rider-trans) + :code (behavior () (loop (dummy-20 self) (dummy-21 self) @@ -676,8 +643,7 @@ ) (none) ) - :post - (the-as (function none :behavior steam-cap) rider-post) + :post (the-as (function none :behavior steam-cap) rider-post) ) (defmethod relocate steam-cap ((obj steam-cap) (arg0 int)) diff --git a/goal_src/levels/sunken/sun-exit-chamber.gc b/goal_src/levels/sunken/sun-exit-chamber.gc index 4c78db4891..173eaf93a6 100644 --- a/goal_src/levels/sunken/sun-exit-chamber.gc +++ b/goal_src/levels/sunken/sun-exit-chamber.gc @@ -9,9 +9,10 @@ (declare-type exit-chamber-button basebutton) ;; DECOMP BEGINS + +(import "goal_src/import/exit-chamber-ag.gc") (import "goal_src/import/blue-eco-charger-ag.gc") (import "goal_src/import/blue-eco-charger-orb-ag.gc") -(import "goal_src/import/exit-chamber-ag.gc") (deftype blue-eco-charger-orb (process-drawable) ((parent-process (pointer blue-eco-charger) :offset 12) @@ -125,13 +126,11 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2512 :flags (is-3d))) + :parts ((sp-item 2512 :flags (is-3d))) ) (defpart 2513 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-func spt-birth-func 'birth-func-ocean-height) (sp-flt spt-num 0.25) (sp-rnd-flt spt-x (meters 5) (meters 3) 1.0) @@ -157,13 +156,11 @@ ) (defpart 2514 - :init-specs - ((sp-flt spt-fade-a -0.094814815)) + :init-specs ((sp-flt spt-fade-a -0.094814815)) ) (defpart 2512 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-func spt-birth-func 'birth-func-ocean-height) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 6) (meters 4) 1.0) @@ -200,8 +197,7 @@ ) (defstate blue-eco-charger-orb-idle (blue-eco-charger-orb) - :code - (behavior () + :code (behavior () (set! (-> self root trans quad) (-> self rest-pos quad)) (loop (let ((f0-0 (-> self parent-process 0 open-level))) @@ -213,13 +209,11 @@ ) (none) ) - :post - (the-as (function none :behavior blue-eco-charger-orb) ja-post) + :post (the-as (function none :behavior blue-eco-charger-orb) ja-post) ) (defstate blue-eco-charger-orb-active (blue-eco-charger-orb) - :code - (behavior () + :code (behavior () (local-vars (at-0 int)) (rlet ((vf0 :class vf) (vf1 :class vf) @@ -297,8 +291,7 @@ (none) ) ) - :post - (the-as (function none :behavior blue-eco-charger-orb) ja-post) + :post (the-as (function none :behavior blue-eco-charger-orb) ja-post) ) (defbehavior blue-eco-charger-orb-init-by-other blue-eco-charger-orb ((arg0 entity) (arg1 blue-eco-charger-orb)) @@ -349,27 +342,19 @@ (defmethod dummy-20 blue-eco-charger ((obj blue-eco-charger)) (and (and *target* (>= 16384.0 (vector-vector-distance (-> obj root-override trans) (-> *target* control trans)))) - (send-event *target* 'query 'powerup 3) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) ) (defstate blue-eco-charger-idle (blue-eco-charger) - :code - (behavior () + :code (behavior () (set! (-> self open-level) 0.0) (ja-channel-set! 1) (ja :group! (-> self draw art-group data 2) :num! min) (loop (when (logtest? (-> self draw status) (draw-status was-drawn)) (if (and (and *target* (>= 16384.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'powerup)) - (set! (-> a1-2 param 1) (the-as uint 3)) - (not (send-event-function *target* a1-2)) - ) + (not (send-event *target* 'query 'powerup (pickup-type eco-blue))) ) (level-hint-spawn (game-text-id sunken-blue-eco-charger-hint) @@ -391,13 +376,11 @@ ) (none) ) - :post - (the-as (function none :behavior blue-eco-charger) ja-post) + :post (the-as (function none :behavior blue-eco-charger) ja-post) ) (defstate blue-eco-charger-open (blue-eco-charger) - :enter - (behavior ((arg0 symbol)) + :enter (behavior ((arg0 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (if arg0 (sound-play-by-name (static-sound-name "blue-eco-start") (new-sound-id) 1024 0 0 1 #t) @@ -405,16 +388,14 @@ (dummy-21 self #t) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-20 self) (set! (-> self state-time) (-> *display* base-frame-counter)) ) (update! (-> self sound)) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -443,18 +424,15 @@ ) (none) ) - :post - (the-as (function none :behavior blue-eco-charger) ja-post) + :post (the-as (function none :behavior blue-eco-charger) ja-post) ) (defstate blue-eco-charger-stuck-open (blue-eco-charger) - :trans - (behavior () + :trans (behavior () (update! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -464,13 +442,11 @@ ) (defstate blue-eco-charger-close (blue-eco-charger) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek! 0.0)) (while (not (ja-done? 0)) (when (dummy-20 self) @@ -489,8 +465,7 @@ (go blue-eco-charger-idle) (none) ) - :post - (the-as (function none :behavior blue-eco-charger) ja-post) + :post (the-as (function none :behavior blue-eco-charger) ja-post) ) (defmethod init-from-entity! blue-eco-charger ((obj blue-eco-charger) (arg0 entity-actor)) @@ -531,15 +506,7 @@ (set! (-> obj master) (entity-actor-lookup arg0 'alt-actor 0)) (set! (-> obj link) (new 'process 'actor-link-info obj)) (set! (-> obj charger-id) (+ (actor-count-before (-> obj link)) 1)) - (let ((s5-1 (get-process *default-dead-pool* blue-eco-charger-orb #x4000))) - (when s5-1 - (let ((t9-17 (method-of-type blue-eco-charger-orb activate))) - (t9-17 (the-as blue-eco-charger-orb s5-1) obj 'blue-eco-charger-orb (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 blue-eco-charger-orb-init-by-other (-> obj entity) obj) - (-> s5-1 ppointer) - ) - ) + (process-spawn blue-eco-charger-orb (-> obj entity) obj :to obj) (set! (-> obj sound) (new 'process 'ambient-sound (static-sound-spec "blue-eco-charg" :fo-max 35) (-> obj root-override trans)) ) @@ -576,8 +543,7 @@ ) (defpart 2515 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.2) 1.0) (sp-rnd-flt spt-scale-y (meters 0.3) (meters 0.1) 1.0) @@ -678,8 +644,7 @@ ) (defstate exit-chamber-charger-puzzle (exit-chamber) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) (case arg2 (('notify) @@ -712,13 +677,11 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :code - (behavior () + :code (behavior () (loop (if (>= 214228270000.0 (vector-vector-distance-squared (camera-pos) (-> self root-override trans))) (logclear! (-> self draw status) (draw-status hidden)) @@ -728,30 +691,20 @@ ) (none) ) - :post - (the-as (function none :behavior exit-chamber) ja-post) + :post (the-as (function none :behavior exit-chamber) ja-post) ) (defstate exit-chamber-charger-puzzle-beaten (exit-chamber) - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type pov-camera activate))) - (t9-1 (the-as pov-camera gp-0) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - pov-camera-init-by-other - (-> self root-override trans) - *sunkencam-sg* - "exit-chamber-door-open" - 0 - #f - '() - ) - (-> gp-0 ppointer) - ) + :code (behavior () + (process-spawn + pov-camera + (-> self root-override trans) + *sunkencam-sg* + "exit-chamber-door-open" + 0 + #f + '() + :to self ) (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 2.5)) @@ -764,8 +717,7 @@ ) (defstate exit-chamber-idle-in-sunken (exit-chamber) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-1 object)) (case arg2 (('trigger) @@ -788,13 +740,11 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :code - (behavior () + :code (behavior () (save-reminder (get-task-control (game-task sunken-room)) 1 0) (set! (-> self wave-scale) 0.0) (if (-> self door) @@ -815,20 +765,17 @@ ) (defstate exit-chamber-rise (exit-chamber) - :enter - (behavior () + :enter (behavior () (set! (-> self move-player?) #f) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (-> self move-player?)) (rider-trans) ) (none) ) - :code - (behavior () + :code (behavior () (aybabtu 2) (let ((v1-1 (handle->process (-> self fcell-handle)))) (if v1-1 @@ -944,8 +891,7 @@ (go exit-chamber-idle-in-village #f) (none) ) - :post - (behavior () + :post (behavior () (if (-> self move-player?) (transform-post) (rider-post) @@ -956,8 +902,7 @@ ) (defstate exit-chamber-idle-in-village (exit-chamber) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go exit-chamber-lower) @@ -977,19 +922,16 @@ ) ) ) - :enter - (behavior ((arg0 symbol)) + :enter (behavior ((arg0 symbol)) (set! (-> self mask) (logior (process-mask platform) (-> self mask))) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self mask) (process-mask platform)) (none) ) - :trans - (behavior () + :trans (behavior () (rider-trans) (when *target* (let ((f30-0 (vector-vector-xz-distance (target-pos 0) (-> self last-pos)))) @@ -1013,8 +955,7 @@ ) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (set! (-> self move-player?) #f) (set! (-> self wave-scale) 1.0) (save-reminder (get-task-control (game-task sunken-room)) 2 0) @@ -1033,8 +974,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (rider-post) (dummy-23 self #t) (if (and *target* (>= (vector-vector-xz-distance (target-pos 0) (-> self last-pos)) 40960.0)) @@ -1045,8 +985,7 @@ ) (defstate exit-chamber-lower (exit-chamber) - :enter - (behavior () + :enter (behavior () (set! (-> self move-player?) #t) (let ((v1-2 (handle->process (-> self fcell-handle)))) (if v1-2 @@ -1055,8 +994,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (-> self move-player?)) (rider-trans) ) @@ -1064,27 +1002,20 @@ (dummy-20 self (-> self wave-scale)) (none) ) - :code - (behavior () - (let* ((gp-0 (get-process *default-dead-pool* sunkencam #x4000)) - (v1-1 (when gp-0 - (let ((t9-1 (method-of-type sunkencam activate))) - (t9-1 (the-as sunkencam gp-0) self 'sunkencam (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - pov-camera-init-by-other - (-> self root-override trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) - (-> gp-0 ppointer) - ) - ) - ) + :code (behavior () + (let ((v1-1 (process-spawn + sunkencam + :init pov-camera-init-by-other + (-> self root-override trans) + *sunkencam-sg* + "qbert-show-door-open" + 0 + #f + '() + :to self + ) + ) + ) (set! (-> (the-as sunkencam (-> v1-1 0)) seq) (the-as uint 1)) ) (load-state-want-display-level 'sunken 'display) @@ -1150,8 +1081,7 @@ (go exit-chamber-idle-in-sunken) (none) ) - :post - (behavior () + :post (behavior () (if (-> self move-player?) (transform-post) (rider-post) @@ -1257,35 +1187,11 @@ ) ) ) - (let ((s0-1 (get-process *default-dead-pool* sun-iris-door #x4000))) - (set! (-> obj door) - (the-as - (pointer sun-iris-door) - (when s0-1 - (let ((t9-23 (method-of-type sun-iris-door activate))) - (t9-23 (the-as sun-iris-door s0-1) obj 'sun-iris-door (the-as pointer #x70004000)) - ) - (run-now-in-process s0-1 sun-iris-door-init-by-other (-> s3-1 vector) (-> s3-1 vector 1) s1-3) - (-> s0-1 ppointer) - ) - ) - ) - ) - ) - (let ((s1-4 (get-process *default-dead-pool* exit-chamber-button #x4000))) - (set! (-> obj button) - (the-as - (pointer exit-chamber-button) - (when s1-4 - (let ((t9-26 (method-of-type exit-chamber-button activate))) - (t9-26 (the-as exit-chamber-button s1-4) obj 'exit-chamber-button (the-as pointer #x70004000)) - ) - (run-now-in-process s1-4 exit-chamber-button-init-by-other (-> s3-1 vector 2) (-> s3-1 vector 3) arg0 #f) - (-> s1-4 ppointer) - ) - ) - ) + (set! (-> obj door) (process-spawn sun-iris-door (-> s3-1 vector) (-> s3-1 vector 1) s1-3 :to obj)) ) + (set! (-> obj button) + (process-spawn exit-chamber-button (-> s3-1 vector 2) (-> s3-1 vector 3) arg0 #f :to obj) + ) (set! (-> obj sound) (new 'process 'ambient-sound diff --git a/goal_src/levels/sunken/sun-iris-door.gc b/goal_src/levels/sunken/sun-iris-door.gc index 58520b7441..02ede5c020 100644 --- a/goal_src/levels/sunken/sun-iris-door.gc +++ b/goal_src/levels/sunken/sun-iris-door.gc @@ -6,6 +6,7 @@ ;; dgos: L1, SUN, SUNKEN ;; DECOMP BEGINS + (import "goal_src/import/sun-iris-door-ag.gc") (deftype sun-iris-door (process-drawable) @@ -79,8 +80,7 @@ ) (defstate sun-iris-door-closed (sun-iris-door) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go sun-iris-door-opening) @@ -92,8 +92,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (-> self proximity?) (if (should-open? self) (go sun-iris-door-opening) @@ -101,16 +100,14 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) (none) ) - :post - (behavior () + :post (behavior () (when (-> self move-to?) (set! (-> self move-to?) #f) (move-to-point! (-> self root-override) (-> self move-to-pos)) @@ -122,8 +119,7 @@ ) (defstate sun-iris-door-opening (sun-iris-door) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('untrigger) (go sun-iris-door-closing) @@ -135,8 +131,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "irisdoor2") (new-sound-id) 1024 0 0 1 #t) (ja-no-eval :num! (seek!)) (until (ja-done? 0) @@ -147,8 +142,7 @@ (go sun-iris-door-open) (none) ) - :post - (behavior () + :post (behavior () (cond ((-> self move-to?) (set! (-> self move-to?) #f) @@ -217,8 +211,7 @@ ) (defstate sun-iris-door-open (sun-iris-door) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (let ((v0-0 (the-as object (-> *display* base-frame-counter)))) @@ -236,21 +229,18 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (clear-collide-with-as (-> self root-override)) (logior! (-> self draw status) (draw-status hidden)) (none) ) - :exit - (behavior () + :exit (behavior () (restore-collide-with-as (-> self root-override)) (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (when (-> self proximity?) (if (should-close? self) (go sun-iris-door-closing) @@ -263,16 +253,14 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) (none) ) - :post - (behavior () + :post (behavior () (when (-> self move-to?) (set! (-> self move-to?) #f) (move-to-point! (-> self root-override) (-> self move-to-pos)) @@ -284,8 +272,7 @@ ) (defstate sun-iris-door-closing (sun-iris-door) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go sun-iris-door-opening) @@ -297,8 +284,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "irisdoor2") (new-sound-id) 1024 0 0 1 #t) (ja-no-eval :num! (seek! 0.0)) (until (ja-done? 0) @@ -309,8 +295,7 @@ (go sun-iris-door-closed) (none) ) - :post - (behavior () + :post (behavior () (cond ((-> self move-to?) (set! (-> self move-to?) #f) diff --git a/goal_src/levels/sunken/sunken-fish.gc b/goal_src/levels/sunken/sunken-fish.gc index a00f52d393..09cafd11cf 100644 --- a/goal_src/levels/sunken/sunken-fish.gc +++ b/goal_src/levels/sunken/sunken-fish.gc @@ -6,6 +6,7 @@ ;; dgos: L1, SUN, SUNKEN ;; DECOMP BEGINS + (import "goal_src/import/sunkenfisha-ag.gc") (deftype sunkenfisha (process-drawable) @@ -182,8 +183,7 @@ ) (defstate sunkenfisha-idle (sunkenfisha) - :trans - (behavior () + :trans (behavior () (local-vars (at-0 int)) (rlet ((vf0 :class vf) (vf1 :class vf) @@ -214,8 +214,7 @@ (none) ) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -225,8 +224,7 @@ ) (none) ) - :post - (the-as (function none :behavior sunkenfisha) ja-post) + :post (the-as (function none :behavior sunkenfisha) ja-post) ) (defmethod TODO-RENAME-26 sunkenfisha ((obj sunkenfisha)) @@ -351,15 +349,7 @@ (TODO-RENAME-27 obj) (let ((s5-0 (+ (res-lump-value (-> obj entity) 'count uint128 :default (the-as uint128 1)) -1))) (while (> (the-as int s5-0) 0) - (let ((s4-0 (get-process *default-dead-pool* sunkenfisha #x4000))) - (when s4-0 - (let ((t9-4 (method-of-type sunkenfisha activate))) - (t9-4 (the-as sunkenfisha s4-0) obj 'sunkenfisha (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 sunkenfisha-init-by-other (-> obj entity)) - (-> s4-0 ppointer) - ) - ) + (process-spawn sunkenfisha (-> obj entity) :to obj) (+! s5-0 -1) ) ) diff --git a/goal_src/levels/sunken/sunken-obs.gc b/goal_src/levels/sunken/sunken-obs.gc index 4eed4f52df..0ea32ca3ac 100644 --- a/goal_src/levels/sunken/sunken-obs.gc +++ b/goal_src/levels/sunken/sunken-obs.gc @@ -13,6 +13,7 @@ (define-extern *seaweed* seaweed) ;; DECOMP BEGINS + (import "goal_src/import/seaweed-ag.gc") (import "goal_src/import/sunkencam-ag.gc") (import "goal_src/import/side-to-side-plat-ag.gc") @@ -44,15 +45,13 @@ :id 436 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1713 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1713 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1714 :fade-after (meters 160) :falloff-to (meters 160)) ) ) (defpart 1713 - :init-specs - ((sp-flt spt-num 4.0) + :init-specs ((sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters -11) (meters 22) 1.0) (sp-flt spt-y (meters 1)) (sp-int spt-rot-x 5) @@ -71,8 +70,7 @@ ) (defpart 1714 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-x (meters -11) (meters 22) 1.0) (sp-flt spt-y (meters 1.5)) @@ -168,13 +166,11 @@ (defstate pov-camera-playing (sunkencam) :virtual #t - :exit - (behavior () + :exit (behavior () (set! (-> *screen-filter* draw?) #f) (none) ) - :code - (behavior () + :code (behavior () (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) @@ -333,8 +329,7 @@ ) (defstate seaweed-idle (seaweed) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek! max (-> self anim-speed))) (while (not (ja-done? 0)) (suspend) @@ -349,8 +344,7 @@ ) (none) ) - :post - (the-as (function none :behavior seaweed) ja-post) + :post (the-as (function none :behavior seaweed) ja-post) ) (defmethod init-from-entity! seaweed ((obj seaweed) (arg0 entity-actor)) diff --git a/goal_src/levels/sunken/sunken-part.gc b/goal_src/levels/sunken/sunken-part.gc index 3861afb04d..59b519659e 100644 --- a/goal_src/levels/sunken/sunken-part.gc +++ b/goal_src/levels/sunken/sunken-part.gc @@ -19,8 +19,7 @@ (defpartgroup group-sunken-heatpipe-183 :id 332 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1420 :fade-after (meters 80) :falloff-to (meters 80) :binding 1419) + :parts ((sp-item 1420 :fade-after (meters 80) :falloff-to (meters 80) :binding 1419) (sp-item 1419 :flags (bit1 start-dead launch-asap)) (sp-item 1419 :flags (bit1 start-dead launch-asap)) (sp-item 1419 :flags (bit1 start-dead launch-asap)) @@ -51,8 +50,7 @@ ) (defpart 1420 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.5)) (sp-flt spt-y (meters 0.2)) @@ -69,8 +67,7 @@ ) (defpart 1419 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 4)) (sp-flt spt-y (meters 4.2222223)) @@ -93,13 +90,11 @@ ) (defpart 1422 - :init-specs - ((sp-flt spt-fade-a -0.64)) + :init-specs ((sp-flt spt-fade-a -0.64)) ) (defpart 1421 - :init-specs - ((sp-flt spt-num 0.25) + :init-specs ((sp-flt spt-num 0.25) (sp-flt spt-x (meters -2.5)) (sp-flt spt-y (meters 0.2)) (sp-int spt-rot-x 6) @@ -120,8 +115,7 @@ (defpartgroup group-sunken-tunnel-bubbles-27 :id 333 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1425 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1425 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1425 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1426 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1426 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) @@ -223,8 +217,7 @@ ) (defpart 1427 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -37) (meters 64) 1.0) (sp-flt spt-y (meters -2)) @@ -246,8 +239,7 @@ ) (defpart 1428 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -37) (meters 64) 1.0) (sp-flt spt-y (meters -2)) @@ -269,8 +261,7 @@ ) (defpart 1425 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -37) (meters 64) 1.0) (sp-flt spt-y (meters -2)) @@ -287,8 +278,7 @@ ) (defpart 1426 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -37) (meters 64) 1.0) (sp-flt spt-y (meters -2)) @@ -305,21 +295,18 @@ ) (defpart 1429 - :init-specs - ((sp-flt spt-fade-a 0.0) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 1800 1799 1) (sp-launcher-by-id spt-next-launcher 1430) ) ) (defpart 1430 - :init-specs - ((sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-a -0.10666667)) ) (defpart 1423 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -345,8 +332,7 @@ ) (defpart 1431 - :init-specs - ((sp-flt spt-scale-x (meters 1.2)) + :init-specs ((sp-flt spt-scale-x (meters 1.2)) (sp-flt spt-scale-y (meters 1)) (sp-flt spt-scalevel-x (meters 0.010000001)) (sp-flt spt-scalevel-y (meters -0.0033333334)) @@ -357,8 +343,7 @@ ) (defpart 1432 - :init-specs - ((sp-flt spt-scale-x (meters 1.5)) + :init-specs ((sp-flt spt-scale-x (meters 1.5)) (sp-flt spt-scale-y (meters 0.9)) (sp-flt spt-scalevel-x (meters -0.010000001)) (sp-flt spt-scalevel-y (meters 0.0033333334)) @@ -368,8 +353,7 @@ ) (defpart 1433 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 0)) (sp-flt spt-z (meters 0)) @@ -387,8 +371,7 @@ ) (defpart 1424 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.25) (meters 0.5) 1.0) @@ -410,8 +393,7 @@ ) (defpart 1434 - :init-specs - ((sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0016666667) 1.0) + :init-specs ((sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0016666667) 1.0) (sp-flt spt-accel-y -0.27306667) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 1435) @@ -419,15 +401,13 @@ ) (defpart 1435 - :init-specs - ((sp-flt spt-fade-a -0.14222223)) + :init-specs ((sp-flt spt-fade-a -0.14222223)) ) (defpartgroup group-sunken-tunnel-bubbles-32 :id 334 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1436 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1436 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1436 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1437 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1437 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) @@ -529,8 +509,7 @@ ) (defpart 1438 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -24) (meters 48) 1.0) (sp-flt spt-y (meters -2)) @@ -552,8 +531,7 @@ ) (defpart 1439 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -24) (meters 48) 1.0) (sp-flt spt-y (meters -2)) @@ -575,8 +553,7 @@ ) (defpart 1436 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -24) (meters 48) 1.0) (sp-flt spt-y (meters -2)) @@ -593,8 +570,7 @@ ) (defpart 1437 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -24) (meters 48) 1.0) (sp-flt spt-y (meters -2)) @@ -613,8 +589,7 @@ (defpartgroup group-sunken-tunnel-bubbles-33 :id 335 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1440 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1440 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1440 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1441 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1441 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) @@ -716,8 +691,7 @@ ) (defpart 1442 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.02) (sp-rnd-flt spt-x (meters -13) (meters 25) 1.0) (sp-flt spt-y (meters -2)) @@ -739,8 +713,7 @@ ) (defpart 1443 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.02) (sp-rnd-flt spt-x (meters -13) (meters 25) 1.0) (sp-flt spt-y (meters -2)) @@ -762,8 +735,7 @@ ) (defpart 1440 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -13) (meters 25) 1.0) (sp-flt spt-y (meters -2)) @@ -780,8 +752,7 @@ ) (defpart 1441 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -13) (meters 25) 1.0) (sp-flt spt-y (meters -2)) @@ -800,8 +771,7 @@ (defpartgroup group-sunken-tunnel-bubbles-199 :id 336 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1444 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1444 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1444 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1445 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1445 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) @@ -903,8 +873,7 @@ ) (defpart 1446 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -25) (meters 36) 1.0) (sp-flt spt-y (meters -2)) @@ -926,8 +895,7 @@ ) (defpart 1447 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -25) (meters 36) 1.0) (sp-flt spt-y (meters -2)) @@ -949,8 +917,7 @@ ) (defpart 1444 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -25) (meters 36) 1.0) (sp-flt spt-y (meters -2)) @@ -967,8 +934,7 @@ ) (defpart 1445 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -25) (meters 36) 1.0) (sp-flt spt-y (meters -2)) @@ -987,8 +953,7 @@ (defpartgroup group-sunken-tunnel-bubbles-281 :id 337 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1448 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1448 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1448 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1449 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1449 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) @@ -1090,8 +1055,7 @@ ) (defpart 1450 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1113,8 +1077,7 @@ ) (defpart 1451 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1136,8 +1099,7 @@ ) (defpart 1448 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1154,8 +1116,7 @@ ) (defpart 1449 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1174,8 +1135,7 @@ (defpartgroup group-sunken-tunnel-bubbles-202 :id 338 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1452 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1452 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1452 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1453 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1453 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) @@ -1277,8 +1237,7 @@ ) (defpart 1454 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -22) (meters 44) 1.0) (sp-flt spt-y (meters -2)) @@ -1300,8 +1259,7 @@ ) (defpart 1455 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -22) (meters 44) 1.0) (sp-flt spt-y (meters -2)) @@ -1323,8 +1281,7 @@ ) (defpart 1452 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -22) (meters 44) 1.0) (sp-flt spt-y (meters -2)) @@ -1341,8 +1298,7 @@ ) (defpart 1453 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -22) (meters 44) 1.0) (sp-flt spt-y (meters -2)) @@ -1361,8 +1317,7 @@ (defpartgroup group-sunken-window-bubbles-35 :id 339 :bounds (static-bspherem 0 8 0 32) - :parts - ((sp-item 1456 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1456 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1456 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1414,8 +1369,7 @@ ) (defpart 1457 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1437,8 +1391,7 @@ ) (defpart 1456 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1457,13 +1410,11 @@ (defpartgroup group-sunken-helix-bubbles-398 :id 340 :bounds (static-bspherem 0 4 0 40) - :parts - ((sp-item 1458 :fade-after (meters 100) :falloff-to (meters 100))) + :parts ((sp-item 1458 :fade-after (meters 100) :falloff-to (meters 100))) ) (defpart 1458 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.75) (sp-rnd-flt spt-x (meters -5) (meters 10) 1.0) (sp-rnd-flt spt-y (meters -10) (meters 15) 1.0) @@ -1485,28 +1436,24 @@ ) (defpart 1459 - :init-specs - ((sp-flt spt-fade-a 0.0) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 900 899 1) (sp-launcher-by-id spt-next-launcher 1460) ) ) (defpart 1460 - :init-specs - ((sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-a -0.10666667)) ) (defpartgroup group-sunken-helix-bubbles-397 :id 341 :bounds (static-bspherem 0 4 0 40) - :parts - ((sp-item 1461 :fade-after (meters 100) :falloff-to (meters 100))) + :parts ((sp-item 1461 :fade-after (meters 100) :falloff-to (meters 100))) ) (defpart 1461 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.75) (sp-rnd-flt spt-x (meters -5) (meters 10) 1.0) (sp-rnd-flt spt-y (meters -20) (meters 30) 1.0) @@ -1530,8 +1477,7 @@ (defpartgroup group-sunken-heatpipe-355 :id 342 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1463 :fade-after (meters 80) :falloff-to (meters 80) :binding 1462) + :parts ((sp-item 1463 :fade-after (meters 80) :falloff-to (meters 80) :binding 1462) (sp-item 1462 :flags (bit1 start-dead launch-asap)) (sp-item 1462 :flags (bit1 start-dead launch-asap)) (sp-item 1462 :flags (bit1 start-dead launch-asap)) @@ -1562,8 +1508,7 @@ ) (defpart 1463 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -1581,8 +1526,7 @@ ) (defpart 1462 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 2.6666667)) (sp-flt spt-y (meters 3.3333333)) @@ -1605,8 +1549,7 @@ ) (defpart 1464 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -1628,8 +1571,7 @@ (defpartgroup group-sunken-heatpipe-361 :id 343 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1466 :fade-after (meters 80) :falloff-to (meters 80) :binding 1465) + :parts ((sp-item 1466 :fade-after (meters 80) :falloff-to (meters 80) :binding 1465) (sp-item 1465 :flags (bit1 start-dead launch-asap)) (sp-item 1465 :flags (bit1 start-dead launch-asap)) (sp-item 1465 :flags (bit1 start-dead launch-asap)) @@ -1660,8 +1602,7 @@ ) (defpart 1466 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -1679,8 +1620,7 @@ ) (defpart 1465 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 5.5555553)) (sp-flt spt-y (meters 3.3333333)) @@ -1703,8 +1643,7 @@ ) (defpart 1467 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -1726,8 +1665,7 @@ (defpartgroup group-sunken-heatpipe-360 :id 344 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1469 :fade-after (meters 80) :falloff-to (meters 80) :binding 1468) + :parts ((sp-item 1469 :fade-after (meters 80) :falloff-to (meters 80) :binding 1468) (sp-item 1468 :flags (bit1 start-dead launch-asap)) (sp-item 1468 :flags (bit1 start-dead launch-asap)) (sp-item 1468 :flags (bit1 start-dead launch-asap)) @@ -1758,8 +1696,7 @@ ) (defpart 1469 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -1777,8 +1714,7 @@ ) (defpart 1468 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 5.5555553)) (sp-flt spt-y (meters 4.6666665)) @@ -1801,8 +1737,7 @@ ) (defpart 1470 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -1824,8 +1759,7 @@ (defpartgroup group-sunken-heatpipe-377 :id 345 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1472 :fade-after (meters 80) :falloff-to (meters 80) :binding 1471) + :parts ((sp-item 1472 :fade-after (meters 80) :falloff-to (meters 80) :binding 1471) (sp-item 1471 :flags (bit1 start-dead launch-asap)) (sp-item 1471 :flags (bit1 start-dead launch-asap)) (sp-item 1471 :flags (bit1 start-dead launch-asap)) @@ -1856,8 +1790,7 @@ ) (defpart 1472 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -1875,8 +1808,7 @@ ) (defpart 1471 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 4.6666665)) (sp-flt spt-y (meters 4.6666665)) @@ -1899,8 +1831,7 @@ ) (defpart 1473 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -1922,8 +1853,7 @@ (defpartgroup group-sunken-heatpipe-376 :id 346 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1475 :fade-after (meters 80) :falloff-to (meters 80) :binding 1474) + :parts ((sp-item 1475 :fade-after (meters 80) :falloff-to (meters 80) :binding 1474) (sp-item 1474 :flags (bit1 start-dead launch-asap)) (sp-item 1474 :flags (bit1 start-dead launch-asap)) (sp-item 1474 :flags (bit1 start-dead launch-asap)) @@ -1954,8 +1884,7 @@ ) (defpart 1475 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -1973,8 +1902,7 @@ ) (defpart 1474 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 4.6666665)) (sp-flt spt-y (meters 3.3333333)) @@ -1997,8 +1925,7 @@ ) (defpart 1476 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -2020,8 +1947,7 @@ (defpartgroup group-sunken-heatpipe-375 :id 347 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1478 :fade-after (meters 80) :falloff-to (meters 80) :binding 1477) + :parts ((sp-item 1478 :fade-after (meters 80) :falloff-to (meters 80) :binding 1477) (sp-item 1477 :flags (bit1 start-dead launch-asap)) (sp-item 1477 :flags (bit1 start-dead launch-asap)) (sp-item 1477 :flags (bit1 start-dead launch-asap)) @@ -2052,8 +1978,7 @@ ) (defpart 1478 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -2071,8 +1996,7 @@ ) (defpart 1477 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 5.3333335)) (sp-flt spt-y (meters 4.4444447)) @@ -2095,8 +2019,7 @@ ) (defpart 1479 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -2118,8 +2041,7 @@ (defpartgroup group-sunken-heatpipe-374 :id 348 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1481 :fade-after (meters 80) :falloff-to (meters 80) :binding 1480) + :parts ((sp-item 1481 :fade-after (meters 80) :falloff-to (meters 80) :binding 1480) (sp-item 1480 :flags (bit1 start-dead launch-asap)) (sp-item 1480 :flags (bit1 start-dead launch-asap)) (sp-item 1480 :flags (bit1 start-dead launch-asap)) @@ -2150,8 +2072,7 @@ ) (defpart 1481 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -2169,8 +2090,7 @@ ) (defpart 1480 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 5.3333335)) (sp-flt spt-y (meters 3.5555556)) @@ -2193,8 +2113,7 @@ ) (defpart 1482 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -2216,8 +2135,7 @@ (defpartgroup group-sunken-heatpipe-363 :id 349 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1484 :fade-after (meters 80) :falloff-to (meters 80) :binding 1483) + :parts ((sp-item 1484 :fade-after (meters 80) :falloff-to (meters 80) :binding 1483) (sp-item 1483 :flags (bit1 start-dead launch-asap)) (sp-item 1483 :flags (bit1 start-dead launch-asap)) (sp-item 1483 :flags (bit1 start-dead launch-asap)) @@ -2248,8 +2166,7 @@ ) (defpart 1484 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.3)) @@ -2267,8 +2184,7 @@ ) (defpart 1483 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 1.4222223)) (sp-flt spt-y (meters 4.4444447)) @@ -2291,8 +2207,7 @@ ) (defpart 1485 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -2314,8 +2229,7 @@ (defpartgroup group-sunken-heatpipe-362 :id 350 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1487 :fade-after (meters 80) :falloff-to (meters 80) :binding 1486) + :parts ((sp-item 1487 :fade-after (meters 80) :falloff-to (meters 80) :binding 1486) (sp-item 1486 :flags (bit1 start-dead launch-asap)) (sp-item 1486 :flags (bit1 start-dead launch-asap)) (sp-item 1486 :flags (bit1 start-dead launch-asap)) @@ -2346,8 +2260,7 @@ ) (defpart 1487 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -2365,8 +2278,7 @@ ) (defpart 1486 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 1.4222223)) (sp-flt spt-y (meters 3.5555556)) @@ -2389,8 +2301,7 @@ ) (defpart 1488 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -2412,8 +2323,7 @@ (defpartgroup group-sunken-heatpipe-364 :id 351 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1490 :fade-after (meters 80) :falloff-to (meters 80) :binding 1489) + :parts ((sp-item 1490 :fade-after (meters 80) :falloff-to (meters 80) :binding 1489) (sp-item 1489 :flags (bit1 start-dead launch-asap)) (sp-item 1489 :flags (bit1 start-dead launch-asap)) (sp-item 1489 :flags (bit1 start-dead launch-asap)) @@ -2444,8 +2354,7 @@ ) (defpart 1490 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.3)) @@ -2463,8 +2372,7 @@ ) (defpart 1489 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -0.9777778)) (sp-flt spt-y (meters 3.5555556)) @@ -2487,8 +2395,7 @@ ) (defpart 1491 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -2510,8 +2417,7 @@ (defpartgroup group-sunken-heatpipe-365 :id 352 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1493 :fade-after (meters 80) :falloff-to (meters 80) :binding 1492) + :parts ((sp-item 1493 :fade-after (meters 80) :falloff-to (meters 80) :binding 1492) (sp-item 1492 :flags (bit1 start-dead launch-asap)) (sp-item 1492 :flags (bit1 start-dead launch-asap)) (sp-item 1492 :flags (bit1 start-dead launch-asap)) @@ -2542,8 +2448,7 @@ ) (defpart 1493 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -2561,8 +2466,7 @@ ) (defpart 1492 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -1.1111112)) (sp-flt spt-y (meters 4.4444447)) @@ -2585,8 +2489,7 @@ ) (defpart 1494 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) diff --git a/goal_src/levels/sunken/sunken-part2.gc b/goal_src/levels/sunken/sunken-part2.gc index 7ff2918a88..126c21ede4 100644 --- a/goal_src/levels/sunken/sunken-part2.gc +++ b/goal_src/levels/sunken/sunken-part2.gc @@ -10,8 +10,7 @@ (defpartgroup group-sunken-window-bubbles-34 :id 353 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1495 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1495 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1495 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -63,8 +62,7 @@ ) (defpart 1496 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -86,8 +84,7 @@ ) (defpart 1495 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -106,8 +103,7 @@ (defpartgroup group-sunken-window-bubbles-36 :id 354 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1497 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1497 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1497 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -159,8 +155,7 @@ ) (defpart 1498 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -182,8 +177,7 @@ ) (defpart 1497 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -202,8 +196,7 @@ (defpartgroup group-sunken-window-bubbles-30 :id 355 :bounds (static-bspherem 0 4 0 30) - :parts - ((sp-item 1499 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1499 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1499 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -255,8 +248,7 @@ ) (defpart 1500 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -278,8 +270,7 @@ ) (defpart 1499 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -298,8 +289,7 @@ (defpartgroup group-sunken-window-bubbles-31 :id 356 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1501 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1501 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1501 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -351,8 +341,7 @@ ) (defpart 1502 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -374,8 +363,7 @@ ) (defpart 1501 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -394,8 +382,7 @@ (defpartgroup group-sunken-window-bubbles-29 :id 357 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1503 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1503 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1503 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -447,8 +434,7 @@ ) (defpart 1504 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -470,8 +456,7 @@ ) (defpart 1503 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -490,8 +475,7 @@ (defpartgroup group-sunken-window-bubbles-159 :id 358 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1505 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1505 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1505 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -543,8 +527,7 @@ ) (defpart 1506 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -566,8 +549,7 @@ ) (defpart 1505 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -586,8 +568,7 @@ (defpartgroup group-sunken-window-bubbles-161 :id 359 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1507 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1507 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1507 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -639,8 +620,7 @@ ) (defpart 1508 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -662,8 +642,7 @@ ) (defpart 1507 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -682,8 +661,7 @@ (defpartgroup group-sunken-window-bubbles-204 :id 360 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1509 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1509 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1509 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -735,8 +713,7 @@ ) (defpart 1510 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -758,8 +735,7 @@ ) (defpart 1509 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -778,8 +754,7 @@ (defpartgroup group-sunken-window-bubbles-205 :id 361 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1511 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1511 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1511 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -831,8 +806,7 @@ ) (defpart 1512 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -854,8 +828,7 @@ ) (defpart 1511 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -874,8 +847,7 @@ (defpartgroup group-sunken-window-bubbles-203 :id 362 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1513 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1513 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1513 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -927,8 +899,7 @@ ) (defpart 1514 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters -2)) @@ -950,8 +921,7 @@ ) (defpart 1513 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters -2)) @@ -970,8 +940,7 @@ (defpartgroup group-sunken-window-bubbles-42 :id 363 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1515 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1515 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1515 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1023,8 +992,7 @@ ) (defpart 1516 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -25) (meters 50) 1.0) (sp-flt spt-y (meters -2)) @@ -1046,8 +1014,7 @@ ) (defpart 1515 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -25) (meters 50) 1.0) (sp-flt spt-y (meters -2)) @@ -1066,8 +1033,7 @@ (defpartgroup group-sunken-window-bubbles-41 :id 364 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1517 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1517 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1517 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1119,8 +1085,7 @@ ) (defpart 1518 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1142,8 +1107,7 @@ ) (defpart 1517 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1162,8 +1126,7 @@ (defpartgroup group-sunken-window-bubbles-206 :id 365 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1519 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1519 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1519 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1215,8 +1178,7 @@ ) (defpart 1520 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1238,8 +1200,7 @@ ) (defpart 1519 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1258,8 +1219,7 @@ (defpartgroup group-sunken-window-bubbles-201 :id 366 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1521 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1521 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1521 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1311,8 +1271,7 @@ ) (defpart 1522 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1334,8 +1293,7 @@ ) (defpart 1521 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1354,8 +1312,7 @@ (defpartgroup group-sunken-window-bubbles-3 :id 367 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1523 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1523 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1523 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1407,8 +1364,7 @@ ) (defpart 1524 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1430,8 +1386,7 @@ ) (defpart 1523 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1450,8 +1405,7 @@ (defpartgroup group-sunken-window-bubbles-2 :id 368 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1525 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1525 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1525 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1503,8 +1457,7 @@ ) (defpart 1526 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1526,8 +1479,7 @@ ) (defpart 1525 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1546,8 +1498,7 @@ (defpartgroup group-sunken-heatpipe-382 :id 369 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1528 :fade-after (meters 80) :falloff-to (meters 80) :binding 1527) + :parts ((sp-item 1528 :fade-after (meters 80) :falloff-to (meters 80) :binding 1527) (sp-item 1527 :flags (bit1 start-dead launch-asap)) (sp-item 1527 :flags (bit1 start-dead launch-asap)) (sp-item 1527 :flags (bit1 start-dead launch-asap)) @@ -1578,8 +1529,7 @@ ) (defpart 1528 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -1597,8 +1547,7 @@ ) (defpart 1527 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 6.2222223)) (sp-flt spt-y (meters 4)) @@ -1621,8 +1570,7 @@ ) (defpart 1529 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -1644,8 +1592,7 @@ (defpartgroup group-sunken-heatpipe-381 :id 370 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1531 :fade-after (meters 80) :falloff-to (meters 80) :binding 1530) + :parts ((sp-item 1531 :fade-after (meters 80) :falloff-to (meters 80) :binding 1530) (sp-item 1530 :flags (bit1 start-dead launch-asap)) (sp-item 1530 :flags (bit1 start-dead launch-asap)) (sp-item 1530 :flags (bit1 start-dead launch-asap)) @@ -1676,8 +1623,7 @@ ) (defpart 1531 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -1695,8 +1641,7 @@ ) (defpart 1530 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 7.5555553)) (sp-flt spt-y (meters 4)) @@ -1719,8 +1664,7 @@ ) (defpart 1532 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -1742,8 +1686,7 @@ (defpartgroup group-sunken-heatpipe-380 :id 371 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1534 :fade-after (meters 80) :falloff-to (meters 80) :binding 1533) + :parts ((sp-item 1534 :fade-after (meters 80) :falloff-to (meters 80) :binding 1533) (sp-item 1533 :flags (bit1 start-dead launch-asap)) (sp-item 1533 :flags (bit1 start-dead launch-asap)) (sp-item 1533 :flags (bit1 start-dead launch-asap)) @@ -1774,8 +1717,7 @@ ) (defpart 1534 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -1793,8 +1735,7 @@ ) (defpart 1533 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 6.2222223)) (sp-flt spt-y (meters 4)) @@ -1817,8 +1758,7 @@ ) (defpart 1535 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -1840,8 +1780,7 @@ (defpartgroup group-sunken-heatpipe-379 :id 372 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1537 :fade-after (meters 80) :falloff-to (meters 80) :binding 1536) + :parts ((sp-item 1537 :fade-after (meters 80) :falloff-to (meters 80) :binding 1536) (sp-item 1536 :flags (bit1 start-dead launch-asap)) (sp-item 1536 :flags (bit1 start-dead launch-asap)) (sp-item 1536 :flags (bit1 start-dead launch-asap)) @@ -1872,8 +1811,7 @@ ) (defpart 1537 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -1891,8 +1829,7 @@ ) (defpart 1536 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 7.111111)) (sp-flt spt-y (meters 4)) @@ -1915,8 +1852,7 @@ ) (defpart 1538 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -1938,8 +1874,7 @@ (defpartgroup group-sunken-heatpipe-378 :id 373 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1540 :fade-after (meters 80) :falloff-to (meters 80) :binding 1539) + :parts ((sp-item 1540 :fade-after (meters 80) :falloff-to (meters 80) :binding 1539) (sp-item 1539 :flags (bit1 start-dead launch-asap)) (sp-item 1539 :flags (bit1 start-dead launch-asap)) (sp-item 1539 :flags (bit1 start-dead launch-asap)) @@ -1970,8 +1905,7 @@ ) (defpart 1540 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -1989,8 +1923,7 @@ ) (defpart 1539 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 5.111111)) (sp-flt spt-y (meters 4)) @@ -2013,8 +1946,7 @@ ) (defpart 1541 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -2036,8 +1968,7 @@ (defpartgroup group-sunken-window-bubbles-402 :id 374 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1542 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1542 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1542 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -2089,8 +2020,7 @@ ) (defpart 1543 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -2112,8 +2042,7 @@ ) (defpart 1542 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -2132,8 +2061,7 @@ (defpartgroup group-sunken-window-bubbles-401 :id 375 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1544 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1544 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1544 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -2185,8 +2113,7 @@ ) (defpart 1545 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -2208,8 +2135,7 @@ ) (defpart 1544 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -2228,8 +2154,7 @@ (defpartgroup group-sunken-window-bubbles-400 :id 376 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1546 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1546 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1546 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -2281,8 +2206,7 @@ ) (defpart 1547 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -2304,8 +2228,7 @@ ) (defpart 1546 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -2324,8 +2247,7 @@ (defpartgroup group-sunken-window-bubbles-399 :id 377 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1548 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1548 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1548 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -2377,8 +2299,7 @@ ) (defpart 1549 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -2400,8 +2321,7 @@ ) (defpart 1548 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) diff --git a/goal_src/levels/sunken/sunken-part3.gc b/goal_src/levels/sunken/sunken-part3.gc index a149e5f673..158e772e87 100644 --- a/goal_src/levels/sunken/sunken-part3.gc +++ b/goal_src/levels/sunken/sunken-part3.gc @@ -10,8 +10,7 @@ (defpartgroup group-sunken-heatpipe-383 :id 378 :bounds (static-bspherem 0 1 0 3) - :parts - ((sp-item 1551 :fade-after (meters 80) :falloff-to (meters 80) :binding 1550) + :parts ((sp-item 1551 :fade-after (meters 80) :falloff-to (meters 80) :binding 1550) (sp-item 1550 :flags (bit1 start-dead launch-asap)) (sp-item 1550 :flags (bit1 start-dead launch-asap)) (sp-item 1550 :flags (bit1 start-dead launch-asap)) @@ -42,8 +41,7 @@ ) (defpart 1551 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -61,8 +59,7 @@ ) (defpart 1550 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 4)) @@ -85,8 +82,7 @@ ) (defpart 1552 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -108,8 +104,7 @@ (defpartgroup group-sunken-heatpipe-198 :id 379 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1554 :fade-after (meters 80) :falloff-to (meters 80) :binding 1553) + :parts ((sp-item 1554 :fade-after (meters 80) :falloff-to (meters 80) :binding 1553) (sp-item 1553 :flags (bit1 start-dead launch-asap)) (sp-item 1553 :flags (bit1 start-dead launch-asap)) (sp-item 1553 :flags (bit1 start-dead launch-asap)) @@ -140,8 +135,7 @@ ) (defpart 1554 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -159,8 +153,7 @@ ) (defpart 1553 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 1.3333334)) (sp-flt spt-y (meters 4)) @@ -183,8 +176,7 @@ ) (defpart 1555 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -206,8 +198,7 @@ (defpartgroup group-sunken-heatpipe-189 :id 380 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1557 :fade-after (meters 80) :falloff-to (meters 80) :binding 1556) + :parts ((sp-item 1557 :fade-after (meters 80) :falloff-to (meters 80) :binding 1556) (sp-item 1556 :flags (bit1 start-dead launch-asap)) (sp-item 1556 :flags (bit1 start-dead launch-asap)) (sp-item 1556 :flags (bit1 start-dead launch-asap)) @@ -238,8 +229,7 @@ ) (defpart 1557 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 0.7) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -257,8 +247,7 @@ ) (defpart 1556 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-x (meters 1.1555556)) (sp-flt spt-y (meters 4)) @@ -281,8 +270,7 @@ ) (defpart 1558 - :init-specs - ((sp-flt spt-num 0.05) + :init-specs ((sp-flt spt-num 0.05) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -304,8 +292,7 @@ (defpartgroup group-sunken-heatpipe-193 :id 381 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1560 :fade-after (meters 80) :falloff-to (meters 80) :binding 1559) + :parts ((sp-item 1560 :fade-after (meters 80) :falloff-to (meters 80) :binding 1559) (sp-item 1559 :flags (bit1 start-dead launch-asap)) (sp-item 1559 :flags (bit1 start-dead launch-asap)) (sp-item 1559 :flags (bit1 start-dead launch-asap)) @@ -337,8 +324,7 @@ ) (defpart 1560 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 0.4) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters -1.4)) @@ -356,8 +342,7 @@ ) (defpart 1559 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 1.1555556)) (sp-flt spt-y (meters 0)) @@ -380,8 +365,7 @@ ) (defpart 1561 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -1.4) (meters 2.8) 1.0) (sp-int spt-rot-x 6) (sp-flt spt-r 3276.8) @@ -398,8 +382,7 @@ ) (defpart 1562 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -1.4) (meters 2.8) 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) @@ -423,8 +406,7 @@ (defpartgroup group-sunken-heatpipe-207 :id 382 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1564 :fade-after (meters 80) :falloff-to (meters 80) :binding 1563) + :parts ((sp-item 1564 :fade-after (meters 80) :falloff-to (meters 80) :binding 1563) (sp-item 1563 :flags (bit1 start-dead launch-asap)) (sp-item 1563 :flags (bit1 start-dead launch-asap)) (sp-item 1563 :flags (bit1 start-dead launch-asap)) @@ -455,8 +437,7 @@ ) (defpart 1564 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -474,8 +455,7 @@ ) (defpart 1563 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 5.1555557)) (sp-flt spt-y (meters 4)) @@ -498,8 +478,7 @@ ) (defpart 1565 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -521,8 +500,7 @@ (defpartgroup group-sunken-window-bubbles-388 :id 383 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1566 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1566 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1566 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -574,8 +552,7 @@ ) (defpart 1567 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -12) (meters 24) 1.0) (sp-flt spt-y (meters -2)) @@ -597,8 +574,7 @@ ) (defpart 1566 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -12) (meters 24) 1.0) (sp-flt spt-y (meters -2)) @@ -617,8 +593,7 @@ (defpartgroup group-sunken-window-bubbles-387 :id 384 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1568 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1568 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1568 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -670,8 +645,7 @@ ) (defpart 1569 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -693,8 +667,7 @@ ) (defpart 1568 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -713,8 +686,7 @@ (defpartgroup group-sunken-window-bubbles-386 :id 385 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1570 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1570 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1570 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -766,8 +738,7 @@ ) (defpart 1571 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -789,8 +760,7 @@ ) (defpart 1570 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -809,8 +779,7 @@ (defpartgroup group-sunken-window-bubbles-384 :id 386 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1572 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1572 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1572 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -862,8 +831,7 @@ ) (defpart 1573 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -12) (meters 24) 1.0) (sp-flt spt-y (meters -2)) @@ -885,8 +853,7 @@ ) (defpart 1572 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -12) (meters 24) 1.0) (sp-flt spt-y (meters -2)) @@ -905,8 +872,7 @@ (defpartgroup group-sunken-window-bubbles-385 :id 387 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1574 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1574 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1574 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -958,8 +924,7 @@ ) (defpart 1575 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -981,8 +946,7 @@ ) (defpart 1574 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1001,8 +965,7 @@ (defpartgroup group-sunken-window-bubbles-394 :id 388 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1576 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1576 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1576 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1054,8 +1017,7 @@ ) (defpart 1577 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1077,8 +1039,7 @@ ) (defpart 1576 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1097,8 +1058,7 @@ (defpartgroup group-sunken-window-bubbles-390 :id 389 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1578 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1578 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1578 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1150,8 +1110,7 @@ ) (defpart 1579 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1173,8 +1132,7 @@ ) (defpart 1578 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1193,8 +1151,7 @@ (defpartgroup group-sunken-window-bubbles-393 :id 390 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1582 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1582 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1582 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1246,8 +1203,7 @@ ) (defpart 1583 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters -2)) @@ -1269,8 +1225,7 @@ ) (defpart 1582 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters -2)) @@ -1289,8 +1244,7 @@ (defpartgroup group-sunken-window-bubbles-392 :id 391 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1584 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1584 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1584 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1342,8 +1296,7 @@ ) (defpart 1585 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1365,8 +1318,7 @@ ) (defpart 1584 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1385,8 +1337,7 @@ (defpartgroup group-sunken-window-bubbles-38 :id 392 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1586 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1586 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1586 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1438,8 +1389,7 @@ ) (defpart 1587 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1461,8 +1411,7 @@ ) (defpart 1586 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1481,8 +1430,7 @@ (defpartgroup group-sunken-window-bubbles-200 :id 393 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1588 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1588 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1588 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1534,8 +1482,7 @@ ) (defpart 1589 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -10) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1557,8 +1504,7 @@ ) (defpart 1588 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1577,8 +1523,7 @@ (defpartgroup group-sunken-window-bubbles-391 :id 394 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1580 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1580 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1580 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1630,8 +1575,7 @@ ) (defpart 1581 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1653,8 +1597,7 @@ ) (defpart 1580 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) diff --git a/goal_src/levels/sunken/sunken-part4.gc b/goal_src/levels/sunken/sunken-part4.gc index 6b98341a25..2612e6e7d0 100644 --- a/goal_src/levels/sunken/sunken-part4.gc +++ b/goal_src/levels/sunken/sunken-part4.gc @@ -10,8 +10,7 @@ (defpartgroup group-sunken-heatpipe-282 :id 395 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1591 :fade-after (meters 80) :falloff-to (meters 80) :binding 1590) + :parts ((sp-item 1591 :fade-after (meters 80) :falloff-to (meters 80) :binding 1590) (sp-item 1590 :flags (bit1 start-dead launch-asap)) (sp-item 1590 :flags (bit1 start-dead launch-asap)) (sp-item 1590 :flags (bit1 start-dead launch-asap)) @@ -42,8 +41,7 @@ ) (defpart 1591 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -61,8 +59,7 @@ ) (defpart 1590 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 1.1111112)) (sp-flt spt-y (meters 3.3333333)) @@ -85,8 +82,7 @@ ) (defpart 1592 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -108,8 +104,7 @@ (defpartgroup group-sunken-heatpipe-285 :id 396 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1594 :fade-after (meters 80) :falloff-to (meters 80) :binding 1593) + :parts ((sp-item 1594 :fade-after (meters 80) :falloff-to (meters 80) :binding 1593) (sp-item 1593 :flags (bit1 start-dead launch-asap)) (sp-item 1593 :flags (bit1 start-dead launch-asap)) (sp-item 1593 :flags (bit1 start-dead launch-asap)) @@ -140,8 +135,7 @@ ) (defpart 1594 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -159,8 +153,7 @@ ) (defpart 1593 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 0.6666667)) (sp-flt spt-y (meters 3.3333333)) @@ -183,8 +176,7 @@ ) (defpart 1595 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -206,8 +198,7 @@ (defpartgroup group-sunken-heatpipe-288 :id 397 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1597 :fade-after (meters 80) :falloff-to (meters 80) :binding 1596) + :parts ((sp-item 1597 :fade-after (meters 80) :falloff-to (meters 80) :binding 1596) (sp-item 1596 :flags (bit1 start-dead launch-asap)) (sp-item 1596 :flags (bit1 start-dead launch-asap)) (sp-item 1596 :flags (bit1 start-dead launch-asap)) @@ -238,8 +229,7 @@ ) (defpart 1597 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -257,8 +247,7 @@ ) (defpart 1596 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 3.3333333)) @@ -281,8 +270,7 @@ ) (defpart 1598 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -304,8 +292,7 @@ (defpartgroup group-sunken-heatpipe-299 :id 398 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1600 :fade-after (meters 80) :falloff-to (meters 80) :binding 1599) + :parts ((sp-item 1600 :fade-after (meters 80) :falloff-to (meters 80) :binding 1599) (sp-item 1599 :flags (bit1 start-dead launch-asap)) (sp-item 1599 :flags (bit1 start-dead launch-asap)) (sp-item 1599 :flags (bit1 start-dead launch-asap)) @@ -336,8 +323,7 @@ ) (defpart 1600 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -355,8 +341,7 @@ ) (defpart 1599 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -1.1111112)) (sp-flt spt-y (meters 3.3333333)) @@ -379,8 +364,7 @@ ) (defpart 1601 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -402,8 +386,7 @@ (defpartgroup group-sunken-heatpipe-302 :id 399 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1603 :fade-after (meters 80) :falloff-to (meters 80) :binding 1602) + :parts ((sp-item 1603 :fade-after (meters 80) :falloff-to (meters 80) :binding 1602) (sp-item 1602 :flags (bit1 start-dead launch-asap)) (sp-item 1602 :flags (bit1 start-dead launch-asap)) (sp-item 1602 :flags (bit1 start-dead launch-asap)) @@ -434,8 +417,7 @@ ) (defpart 1603 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -453,8 +435,7 @@ ) (defpart 1602 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -1.7777778)) (sp-flt spt-y (meters 3.3333333)) @@ -477,8 +458,7 @@ ) (defpart 1604 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -500,8 +480,7 @@ (defpartgroup group-sunken-heatpipe-367 :id 400 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1606 :fade-after (meters 80) :falloff-to (meters 80) :binding 1605) + :parts ((sp-item 1606 :fade-after (meters 80) :falloff-to (meters 80) :binding 1605) (sp-item 1605 :flags (bit1 start-dead launch-asap)) (sp-item 1605 :flags (bit1 start-dead launch-asap)) (sp-item 1605 :flags (bit1 start-dead launch-asap)) @@ -532,8 +511,7 @@ ) (defpart 1606 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -551,8 +529,7 @@ ) (defpart 1605 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -2.6666667)) (sp-flt spt-y (meters 3.3333333)) @@ -575,8 +552,7 @@ ) (defpart 1607 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -598,8 +574,7 @@ (defpartgroup group-sunken-heatpipe-371 :id 401 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1609 :fade-after (meters 80) :falloff-to (meters 80) :binding 1608) + :parts ((sp-item 1609 :fade-after (meters 80) :falloff-to (meters 80) :binding 1608) (sp-item 1608 :flags (bit1 start-dead launch-asap)) (sp-item 1608 :flags (bit1 start-dead launch-asap)) (sp-item 1608 :flags (bit1 start-dead launch-asap)) @@ -630,8 +605,7 @@ ) (defpart 1609 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -649,8 +623,7 @@ ) (defpart 1608 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -3.5555556)) (sp-flt spt-y (meters 3.3333333)) @@ -673,8 +646,7 @@ ) (defpart 1610 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -696,8 +668,7 @@ (defpartgroup group-sunken-heatpipe-308 :id 402 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1612 :fade-after (meters 80) :falloff-to (meters 80) :binding 1611) + :parts ((sp-item 1612 :fade-after (meters 80) :falloff-to (meters 80) :binding 1611) (sp-item 1611 :flags (bit1 start-dead launch-asap)) (sp-item 1611 :flags (bit1 start-dead launch-asap)) (sp-item 1611 :flags (bit1 start-dead launch-asap)) @@ -728,8 +699,7 @@ ) (defpart 1612 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.3)) @@ -747,8 +717,7 @@ ) (defpart 1611 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 3.7777777)) @@ -771,8 +740,7 @@ ) (defpart 1613 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -794,8 +762,7 @@ (defpartgroup group-sunken-heatpipe-312 :id 403 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1615 :fade-after (meters 80) :falloff-to (meters 80) :binding 1614) + :parts ((sp-item 1615 :fade-after (meters 80) :falloff-to (meters 80) :binding 1614) (sp-item 1614 :flags (bit1 start-dead launch-asap)) (sp-item 1614 :flags (bit1 start-dead launch-asap)) (sp-item 1614 :flags (bit1 start-dead launch-asap)) @@ -826,8 +793,7 @@ ) (defpart 1615 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.3)) @@ -845,8 +811,7 @@ ) (defpart 1614 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -4.4444447)) (sp-flt spt-y (meters 4.4444447)) @@ -869,8 +834,7 @@ ) (defpart 1616 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -892,8 +856,7 @@ (defpartgroup group-sunken-heatpipe-316 :id 404 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1618 :fade-after (meters 80) :falloff-to (meters 80) :binding 1617) + :parts ((sp-item 1618 :fade-after (meters 80) :falloff-to (meters 80) :binding 1617) (sp-item 1617 :flags (bit1 start-dead launch-asap)) (sp-item 1617 :flags (bit1 start-dead launch-asap)) (sp-item 1617 :flags (bit1 start-dead launch-asap)) @@ -924,8 +887,7 @@ ) (defpart 1618 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.3)) @@ -943,8 +905,7 @@ ) (defpart 1617 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -3.1111112)) (sp-flt spt-y (meters 4.4444447)) @@ -967,8 +928,7 @@ ) (defpart 1619 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -990,8 +950,7 @@ (defpartgroup group-sunken-heatpipe-320 :id 405 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1621 :fade-after (meters 80) :falloff-to (meters 80) :binding 1620) + :parts ((sp-item 1621 :fade-after (meters 80) :falloff-to (meters 80) :binding 1620) (sp-item 1620 :flags (bit1 start-dead launch-asap)) (sp-item 1620 :flags (bit1 start-dead launch-asap)) (sp-item 1620 :flags (bit1 start-dead launch-asap)) @@ -1022,8 +981,7 @@ ) (defpart 1621 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.3)) @@ -1041,8 +999,7 @@ ) (defpart 1620 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -0.6666667)) (sp-flt spt-y (meters 4.4444447)) @@ -1065,8 +1022,7 @@ ) (defpart 1622 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -1088,8 +1044,7 @@ (defpartgroup group-sunken-heatpipe-324 :id 406 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1624 :fade-after (meters 80) :falloff-to (meters 80) :binding 1623) + :parts ((sp-item 1624 :fade-after (meters 80) :falloff-to (meters 80) :binding 1623) (sp-item 1623 :flags (bit1 start-dead launch-asap)) (sp-item 1623 :flags (bit1 start-dead launch-asap)) (sp-item 1623 :flags (bit1 start-dead launch-asap)) @@ -1120,8 +1075,7 @@ ) (defpart 1624 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.2)) @@ -1139,8 +1093,7 @@ ) (defpart 1623 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 0.22222222)) (sp-flt spt-y (meters 4.2222223)) @@ -1163,8 +1116,7 @@ ) (defpart 1625 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) (sp-int spt-rot-x 6) @@ -1186,8 +1138,7 @@ (defpartgroup group-sunken-heatpipe-328 :id 407 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1627 :fade-after (meters 80) :falloff-to (meters 80) :binding 1626) + :parts ((sp-item 1627 :fade-after (meters 80) :falloff-to (meters 80) :binding 1626) (sp-item 1626 :flags (bit1 start-dead launch-asap)) (sp-item 1626 :flags (bit1 start-dead launch-asap)) (sp-item 1626 :flags (bit1 start-dead launch-asap)) @@ -1218,8 +1169,7 @@ ) (defpart 1627 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.2)) @@ -1237,8 +1187,7 @@ ) (defpart 1626 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 0.8888889)) (sp-flt spt-y (meters 4.2222223)) @@ -1261,8 +1210,7 @@ ) (defpart 1628 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) (sp-int spt-rot-x 6) @@ -1284,8 +1232,7 @@ (defpartgroup group-sunken-heatpipe-332 :id 408 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1630 :fade-after (meters 80) :falloff-to (meters 80) :binding 1629) + :parts ((sp-item 1630 :fade-after (meters 80) :falloff-to (meters 80) :binding 1629) (sp-item 1629 :flags (bit1 start-dead launch-asap)) (sp-item 1629 :flags (bit1 start-dead launch-asap)) (sp-item 1629 :flags (bit1 start-dead launch-asap)) @@ -1316,8 +1263,7 @@ ) (defpart 1630 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.4)) @@ -1335,8 +1281,7 @@ ) (defpart 1629 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 3.3333333)) (sp-flt spt-y (meters 4.6666665)) @@ -1359,8 +1304,7 @@ ) (defpart 1631 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.70000005)) (sp-int spt-rot-x 6) @@ -1382,8 +1326,7 @@ (defpartgroup group-sunken-heatpipe-333 :id 409 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1633 :fade-after (meters 80) :falloff-to (meters 80) :binding 1632) + :parts ((sp-item 1633 :fade-after (meters 80) :falloff-to (meters 80) :binding 1632) (sp-item 1632 :flags (bit1 start-dead launch-asap)) (sp-item 1632 :flags (bit1 start-dead launch-asap)) (sp-item 1632 :flags (bit1 start-dead launch-asap)) @@ -1414,8 +1357,7 @@ ) (defpart 1633 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.9)) (sp-flt spt-y (meters 0.9)) @@ -1433,8 +1375,7 @@ ) (defpart 1632 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 5.3333335)) (sp-flt spt-y (meters 5.111111)) @@ -1457,8 +1398,7 @@ ) (defpart 1634 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.9)) (sp-flt spt-y (meters 1.2)) (sp-int spt-rot-x 6) @@ -1480,8 +1420,7 @@ (defpartgroup group-sunken-heatpipe-334 :id 410 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1636 :fade-after (meters 80) :falloff-to (meters 80) :binding 1635) + :parts ((sp-item 1636 :fade-after (meters 80) :falloff-to (meters 80) :binding 1635) (sp-item 1635 :flags (bit1 start-dead launch-asap)) (sp-item 1635 :flags (bit1 start-dead launch-asap)) (sp-item 1635 :flags (bit1 start-dead launch-asap)) @@ -1512,8 +1451,7 @@ ) (defpart 1636 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.9)) (sp-flt spt-y (meters 0.7)) @@ -1531,8 +1469,7 @@ ) (defpart 1635 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 5.111111)) (sp-flt spt-y (meters 5.111111)) @@ -1555,8 +1492,7 @@ ) (defpart 1637 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.9)) (sp-flt spt-y (meters 1)) (sp-int spt-rot-x 6) @@ -1578,8 +1514,7 @@ (defpartgroup group-sunken-heatpipe-335 :id 411 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1639 :fade-after (meters 80) :falloff-to (meters 80) :binding 1638) + :parts ((sp-item 1639 :fade-after (meters 80) :falloff-to (meters 80) :binding 1638) (sp-item 1638 :flags (bit1 start-dead launch-asap)) (sp-item 1638 :flags (bit1 start-dead launch-asap)) (sp-item 1638 :flags (bit1 start-dead launch-asap)) @@ -1610,8 +1545,7 @@ ) (defpart 1639 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -1629,8 +1563,7 @@ ) (defpart 1638 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 4.4444447)) (sp-flt spt-y (meters 5.111111)) @@ -1653,8 +1586,7 @@ ) (defpart 1640 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -1676,8 +1608,7 @@ (defpartgroup group-sunken-heatpipe-336 :id 412 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1642 :fade-after (meters 80) :falloff-to (meters 80) :binding 1641) + :parts ((sp-item 1642 :fade-after (meters 80) :falloff-to (meters 80) :binding 1641) (sp-item 1641 :flags (bit1 start-dead launch-asap)) (sp-item 1641 :flags (bit1 start-dead launch-asap)) (sp-item 1641 :flags (bit1 start-dead launch-asap)) @@ -1708,8 +1639,7 @@ ) (defpart 1642 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -1727,8 +1657,7 @@ ) (defpart 1641 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 3.7777777)) (sp-flt spt-y (meters 5.111111)) @@ -1751,8 +1680,7 @@ ) (defpart 1643 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -1774,8 +1702,7 @@ (defpartgroup group-sunken-heatpipe-337 :id 413 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1645 :fade-after (meters 80) :falloff-to (meters 80) :binding 1644) + :parts ((sp-item 1645 :fade-after (meters 80) :falloff-to (meters 80) :binding 1644) (sp-item 1644 :flags (bit1 start-dead launch-asap)) (sp-item 1644 :flags (bit1 start-dead launch-asap)) (sp-item 1644 :flags (bit1 start-dead launch-asap)) @@ -1806,8 +1733,7 @@ ) (defpart 1645 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -1825,8 +1751,7 @@ ) (defpart 1644 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 2.4444444)) (sp-flt spt-y (meters 5.111111)) @@ -1849,8 +1774,7 @@ ) (defpart 1646 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -1872,8 +1796,7 @@ (defpartgroup group-sunken-heatpipe-338 :id 414 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1648 :fade-after (meters 80) :falloff-to (meters 80) :binding 1647) + :parts ((sp-item 1648 :fade-after (meters 80) :falloff-to (meters 80) :binding 1647) (sp-item 1647 :flags (bit1 start-dead launch-asap)) (sp-item 1647 :flags (bit1 start-dead launch-asap)) (sp-item 1647 :flags (bit1 start-dead launch-asap)) @@ -1904,8 +1827,7 @@ ) (defpart 1648 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -1923,8 +1845,7 @@ ) (defpart 1647 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 1.7777778)) (sp-flt spt-y (meters 5.111111)) @@ -1947,8 +1868,7 @@ ) (defpart 1649 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -1970,8 +1890,7 @@ (defpartgroup group-sunken-heatpipe-339 :id 415 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1651 :fade-after (meters 80) :falloff-to (meters 80) :binding 1650) + :parts ((sp-item 1651 :fade-after (meters 80) :falloff-to (meters 80) :binding 1650) (sp-item 1650 :flags (bit1 start-dead launch-asap)) (sp-item 1650 :flags (bit1 start-dead launch-asap)) (sp-item 1650 :flags (bit1 start-dead launch-asap)) @@ -2002,8 +1921,7 @@ ) (defpart 1651 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.3)) @@ -2021,8 +1939,7 @@ ) (defpart 1650 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 0.44444445)) (sp-flt spt-y (meters 4.4444447)) @@ -2045,8 +1962,7 @@ ) (defpart 1652 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -2068,8 +1984,7 @@ (defpartgroup group-sunken-heatpipe-340 :id 416 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1654 :fade-after (meters 80) :falloff-to (meters 80) :binding 1653) + :parts ((sp-item 1654 :fade-after (meters 80) :falloff-to (meters 80) :binding 1653) (sp-item 1653 :flags (bit1 start-dead launch-asap)) (sp-item 1653 :flags (bit1 start-dead launch-asap)) (sp-item 1653 :flags (bit1 start-dead launch-asap)) @@ -2100,8 +2015,7 @@ ) (defpart 1654 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -2119,8 +2033,7 @@ ) (defpart 1653 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 3.1111112)) (sp-flt spt-y (meters 3.5555556)) @@ -2143,8 +2056,7 @@ ) (defpart 1655 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -2166,8 +2078,7 @@ (defpartgroup group-sunken-heatpipe-341 :id 417 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1657 :fade-after (meters 80) :falloff-to (meters 80) :binding 1656) + :parts ((sp-item 1657 :fade-after (meters 80) :falloff-to (meters 80) :binding 1656) (sp-item 1656 :flags (bit1 start-dead launch-asap)) (sp-item 1656 :flags (bit1 start-dead launch-asap)) (sp-item 1656 :flags (bit1 start-dead launch-asap)) @@ -2198,8 +2109,7 @@ ) (defpart 1657 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.3)) @@ -2217,8 +2127,7 @@ ) (defpart 1656 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 3.7777777)) (sp-flt spt-y (meters 3.5555556)) @@ -2241,8 +2150,7 @@ ) (defpart 1658 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -2264,8 +2172,7 @@ (defpartgroup group-sunken-heatpipe-357 :id 418 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1660 :fade-after (meters 80) :falloff-to (meters 80) :binding 1659) + :parts ((sp-item 1660 :fade-after (meters 80) :falloff-to (meters 80) :binding 1659) (sp-item 1659 :flags (bit1 start-dead launch-asap)) (sp-item 1659 :flags (bit1 start-dead launch-asap)) (sp-item 1659 :flags (bit1 start-dead launch-asap)) @@ -2296,8 +2203,7 @@ ) (defpart 1660 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.3)) @@ -2315,8 +2221,7 @@ ) (defpart 1659 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 1.7777778)) (sp-flt spt-y (meters 3.5555556)) @@ -2339,8 +2244,7 @@ ) (defpart 1661 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -2362,8 +2266,7 @@ (defpartgroup group-sunken-heatpipe-356 :id 419 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1663 :fade-after (meters 80) :falloff-to (meters 80) :binding 1662) + :parts ((sp-item 1663 :fade-after (meters 80) :falloff-to (meters 80) :binding 1662) (sp-item 1662 :flags (bit1 start-dead launch-asap)) (sp-item 1662 :flags (bit1 start-dead launch-asap)) (sp-item 1662 :flags (bit1 start-dead launch-asap)) @@ -2394,8 +2297,7 @@ ) (defpart 1663 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.3)) @@ -2413,8 +2315,7 @@ ) (defpart 1662 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 1.7777778)) (sp-flt spt-y (meters 4.4444447)) @@ -2437,8 +2338,7 @@ ) (defpart 1664 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -2460,8 +2360,7 @@ (defpartgroup group-sunken-heatpipe-354 :id 420 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1666 :fade-after (meters 80) :falloff-to (meters 80) :binding 1665) + :parts ((sp-item 1666 :fade-after (meters 80) :falloff-to (meters 80) :binding 1665) (sp-item 1665 :flags (bit1 start-dead launch-asap)) (sp-item 1665 :flags (bit1 start-dead launch-asap)) (sp-item 1665 :flags (bit1 start-dead launch-asap)) @@ -2492,8 +2391,7 @@ ) (defpart 1666 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.3)) @@ -2511,8 +2409,7 @@ ) (defpart 1665 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 2.6666667)) (sp-flt spt-y (meters 4.4444447)) @@ -2535,8 +2432,7 @@ ) (defpart 1667 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -2558,13 +2454,11 @@ (defpartgroup group-sunken-sheild :id 565 :bounds (static-bspherem 0 0 0 32) - :parts - ((sp-item 2311) (sp-item 2312 :flags (is-3d))) + :parts ((sp-item 2311) (sp-item 2312 :flags (is-3d))) ) (defpart 2312 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-rnd-flt spt-num 0.1 0.6 1.0) (sp-rnd-flt spt-x (meters 0) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) @@ -2588,13 +2482,11 @@ ) (defpart 2313 - :init-specs - ((sp-flt spt-fade-a 0.0)) + :init-specs ((sp-flt spt-fade-a 0.0)) ) (defpart 2311 - :init-specs - ((sp-rnd-flt spt-num 4.0 2.0 1.0) + :init-specs ((sp-rnd-flt spt-num 4.0 2.0 1.0) (sp-rnd-flt spt-x (meters 2) (meters 17) 1.0) (sp-flt spt-y (meters -6)) (sp-int spt-rot-x 8) @@ -2612,8 +2504,7 @@ ) (defpart 2314 - :init-specs - ((sp-flt spt-fade-b 32.768)) + :init-specs ((sp-flt spt-fade-b 32.768)) ) diff --git a/goal_src/levels/sunken/sunken-part5.gc b/goal_src/levels/sunken/sunken-part5.gc index 065f54e577..94993ac9f6 100644 --- a/goal_src/levels/sunken/sunken-part5.gc +++ b/goal_src/levels/sunken/sunken-part5.gc @@ -10,8 +10,7 @@ (defpartgroup group-sunken-heatpipe-227 :id 421 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1669 :fade-after (meters 80) :falloff-to (meters 80) :binding 1668) + :parts ((sp-item 1669 :fade-after (meters 80) :falloff-to (meters 80) :binding 1668) (sp-item 1668 :flags (bit1 start-dead launch-asap)) (sp-item 1668 :flags (bit1 start-dead launch-asap)) (sp-item 1668 :flags (bit1 start-dead launch-asap)) @@ -42,8 +41,7 @@ ) (defpart 1669 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) @@ -61,8 +59,7 @@ ) (defpart 1668 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -1.7777778)) (sp-flt spt-y (meters 4.888889)) @@ -85,8 +82,7 @@ ) (defpart 1670 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.90000004)) (sp-int spt-rot-x 6) @@ -108,8 +104,7 @@ (defpartgroup group-sunken-heatpipe-238 :id 422 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1672 :fade-after (meters 80) :falloff-to (meters 80) :binding 1671) + :parts ((sp-item 1672 :fade-after (meters 80) :falloff-to (meters 80) :binding 1671) (sp-item 1671 :flags (bit1 start-dead launch-asap)) (sp-item 1671 :flags (bit1 start-dead launch-asap)) (sp-item 1671 :flags (bit1 start-dead launch-asap)) @@ -140,8 +135,7 @@ ) (defpart 1672 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) @@ -159,8 +153,7 @@ ) (defpart 1671 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -0.44444445)) (sp-flt spt-y (meters 4.888889)) @@ -183,8 +176,7 @@ ) (defpart 1673 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.90000004)) (sp-int spt-rot-x 6) @@ -206,8 +198,7 @@ (defpartgroup group-sunken-heatpipe-239 :id 423 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1675 :fade-after (meters 80) :falloff-to (meters 80) :binding 1674) + :parts ((sp-item 1675 :fade-after (meters 80) :falloff-to (meters 80) :binding 1674) (sp-item 1674 :flags (bit1 start-dead launch-asap)) (sp-item 1674 :flags (bit1 start-dead launch-asap)) (sp-item 1674 :flags (bit1 start-dead launch-asap)) @@ -238,8 +229,7 @@ ) (defpart 1675 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) @@ -257,8 +247,7 @@ ) (defpart 1674 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -1.1111112)) (sp-flt spt-y (meters 4.888889)) @@ -281,8 +270,7 @@ ) (defpart 1676 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.90000004)) (sp-int spt-rot-x 6) @@ -304,8 +292,7 @@ (defpartgroup group-sunken-heatpipe-240 :id 424 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1678 :fade-after (meters 80) :falloff-to (meters 80) :binding 1677) + :parts ((sp-item 1678 :fade-after (meters 80) :falloff-to (meters 80) :binding 1677) (sp-item 1677 :flags (bit1 start-dead launch-asap)) (sp-item 1677 :flags (bit1 start-dead launch-asap)) (sp-item 1677 :flags (bit1 start-dead launch-asap)) @@ -336,8 +323,7 @@ ) (defpart 1678 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) @@ -355,8 +341,7 @@ ) (defpart 1677 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 4.888889)) @@ -379,8 +364,7 @@ ) (defpart 1679 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.90000004)) (sp-int spt-rot-x 6) @@ -402,8 +386,7 @@ (defpartgroup group-sunken-heatpipe-241 :id 425 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1681 :fade-after (meters 80) :falloff-to (meters 80) :binding 1680) + :parts ((sp-item 1681 :fade-after (meters 80) :falloff-to (meters 80) :binding 1680) (sp-item 1680 :flags (bit1 start-dead launch-asap)) (sp-item 1680 :flags (bit1 start-dead launch-asap)) (sp-item 1680 :flags (bit1 start-dead launch-asap)) @@ -434,8 +417,7 @@ ) (defpart 1681 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) @@ -453,8 +435,7 @@ ) (defpart 1680 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -0.6666667)) (sp-flt spt-y (meters 4.888889)) @@ -477,8 +458,7 @@ ) (defpart 1682 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.90000004)) (sp-int spt-rot-x 6) @@ -500,8 +480,7 @@ (defpartgroup group-sunken-heatpipe-242 :id 426 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1684 :fade-after (meters 80) :falloff-to (meters 80) :binding 1683) + :parts ((sp-item 1684 :fade-after (meters 80) :falloff-to (meters 80) :binding 1683) (sp-item 1683 :flags (bit1 start-dead launch-asap)) (sp-item 1683 :flags (bit1 start-dead launch-asap)) (sp-item 1683 :flags (bit1 start-dead launch-asap)) @@ -532,8 +511,7 @@ ) (defpart 1684 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) @@ -551,8 +529,7 @@ ) (defpart 1683 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 4.888889)) @@ -575,8 +552,7 @@ ) (defpart 1685 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.90000004)) (sp-int spt-rot-x 6) @@ -598,8 +574,7 @@ (defpartgroup group-sunken-heatpipe-243 :id 427 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1687 :fade-after (meters 80) :falloff-to (meters 80) :binding 1686) + :parts ((sp-item 1687 :fade-after (meters 80) :falloff-to (meters 80) :binding 1686) (sp-item 1686 :flags (bit1 start-dead launch-asap)) (sp-item 1686 :flags (bit1 start-dead launch-asap)) (sp-item 1686 :flags (bit1 start-dead launch-asap)) @@ -630,8 +605,7 @@ ) (defpart 1687 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.4)) @@ -649,8 +623,7 @@ ) (defpart 1686 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -2.4444444)) (sp-flt spt-y (meters 4.4444447)) @@ -673,8 +646,7 @@ ) (defpart 1688 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.70000005)) (sp-int spt-rot-x 6) @@ -696,8 +668,7 @@ (defpartgroup group-sunken-heatpipe-278 :id 428 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1690 :fade-after (meters 80) :falloff-to (meters 80) :binding 1689) + :parts ((sp-item 1690 :fade-after (meters 80) :falloff-to (meters 80) :binding 1689) (sp-item 1689 :flags (bit1 start-dead launch-asap)) (sp-item 1689 :flags (bit1 start-dead launch-asap)) (sp-item 1689 :flags (bit1 start-dead launch-asap)) @@ -728,8 +699,7 @@ ) (defpart 1690 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.4)) @@ -747,8 +717,7 @@ ) (defpart 1689 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -3.0222223)) (sp-flt spt-y (meters 4.6666665)) @@ -771,8 +740,7 @@ ) (defpart 1691 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.70000005)) (sp-int spt-rot-x 6) @@ -794,8 +762,7 @@ (defpartgroup group-sunken-heatpipe-251 :id 429 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1693 :fade-after (meters 80) :falloff-to (meters 80) :binding 1692) + :parts ((sp-item 1693 :fade-after (meters 80) :falloff-to (meters 80) :binding 1692) (sp-item 1692 :flags (bit1 start-dead launch-asap)) (sp-item 1692 :flags (bit1 start-dead launch-asap)) (sp-item 1692 :flags (bit1 start-dead launch-asap)) @@ -826,8 +793,7 @@ ) (defpart 1693 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.4)) @@ -845,8 +811,7 @@ ) (defpart 1692 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -2.1333334)) (sp-flt spt-y (meters 4.6666665)) @@ -869,8 +834,7 @@ ) (defpart 1694 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.70000005)) (sp-int spt-rot-x 6) @@ -892,8 +856,7 @@ (defpartgroup group-sunken-heatpipe-254 :id 430 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1696 :fade-after (meters 80) :falloff-to (meters 80) :binding 1695) + :parts ((sp-item 1696 :fade-after (meters 80) :falloff-to (meters 80) :binding 1695) (sp-item 1695 :flags (bit1 start-dead launch-asap)) (sp-item 1695 :flags (bit1 start-dead launch-asap)) (sp-item 1695 :flags (bit1 start-dead launch-asap)) @@ -924,8 +887,7 @@ ) (defpart 1696 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.4)) @@ -943,8 +905,7 @@ ) (defpart 1695 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -3.911111)) (sp-flt spt-y (meters 4.6666665)) @@ -967,8 +928,7 @@ ) (defpart 1697 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.70000005)) (sp-int spt-rot-x 6) @@ -990,8 +950,7 @@ (defpartgroup group-sunken-heatpipe-264 :id 431 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1699 :fade-after (meters 80) :falloff-to (meters 80) :binding 1698) + :parts ((sp-item 1699 :fade-after (meters 80) :falloff-to (meters 80) :binding 1698) (sp-item 1698 :flags (bit1 start-dead launch-asap)) (sp-item 1698 :flags (bit1 start-dead launch-asap)) (sp-item 1698 :flags (bit1 start-dead launch-asap)) @@ -1022,8 +981,7 @@ ) (defpart 1699 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.4)) @@ -1041,8 +999,7 @@ ) (defpart 1698 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -4.6666665)) (sp-flt spt-y (meters 4.6666665)) @@ -1065,8 +1022,7 @@ ) (defpart 1700 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.70000005)) (sp-int spt-rot-x 6) @@ -1088,8 +1044,7 @@ (defpartgroup group-sunken-heatpipe-265 :id 432 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1702 :fade-after (meters 80) :falloff-to (meters 80) :binding 1701) + :parts ((sp-item 1702 :fade-after (meters 80) :falloff-to (meters 80) :binding 1701) (sp-item 1701 :flags (bit1 start-dead launch-asap)) (sp-item 1701 :flags (bit1 start-dead launch-asap)) (sp-item 1701 :flags (bit1 start-dead launch-asap)) @@ -1120,8 +1075,7 @@ ) (defpart 1702 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.4)) @@ -1139,8 +1093,7 @@ ) (defpart 1701 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -5.3333335)) (sp-flt spt-y (meters 4.6666665)) @@ -1163,8 +1116,7 @@ ) (defpart 1703 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.70000005)) (sp-int spt-rot-x 6) @@ -1186,8 +1138,7 @@ (defpartgroup group-sunken-heatpipe-266 :id 433 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1705 :fade-after (meters 80) :falloff-to (meters 80) :binding 1704) + :parts ((sp-item 1705 :fade-after (meters 80) :falloff-to (meters 80) :binding 1704) (sp-item 1704 :flags (bit1 start-dead launch-asap)) (sp-item 1704 :flags (bit1 start-dead launch-asap)) (sp-item 1704 :flags (bit1 start-dead launch-asap)) @@ -1218,8 +1169,7 @@ ) (defpart 1705 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) @@ -1237,8 +1187,7 @@ ) (defpart 1704 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -6.4444447)) (sp-flt spt-y (meters 4.888889)) @@ -1261,8 +1210,7 @@ ) (defpart 1706 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.90000004)) (sp-int spt-rot-x 6) @@ -1284,8 +1232,7 @@ (defpartgroup group-sunken-heatpipe-267 :id 434 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1708 :fade-after (meters 80) :falloff-to (meters 80) :binding 1707) + :parts ((sp-item 1708 :fade-after (meters 80) :falloff-to (meters 80) :binding 1707) (sp-item 1707 :flags (bit1 start-dead launch-asap)) (sp-item 1707 :flags (bit1 start-dead launch-asap)) (sp-item 1707 :flags (bit1 start-dead launch-asap)) @@ -1316,8 +1263,7 @@ ) (defpart 1708 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.7)) @@ -1335,8 +1281,7 @@ ) (defpart 1707 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -7.7777777)) (sp-flt spt-y (meters 5.111111)) @@ -1359,8 +1304,7 @@ ) (defpart 1709 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 1)) (sp-int spt-rot-x 6) @@ -1382,8 +1326,7 @@ (defpartgroup group-sunken-heatpipe-268 :id 435 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1711 :fade-after (meters 80) :falloff-to (meters 80) :binding 1710) + :parts ((sp-item 1711 :fade-after (meters 80) :falloff-to (meters 80) :binding 1710) (sp-item 1710 :flags (bit1 start-dead launch-asap)) (sp-item 1710 :flags (bit1 start-dead launch-asap)) (sp-item 1710 :flags (bit1 start-dead launch-asap)) @@ -1414,8 +1357,7 @@ ) (defpart 1711 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.7)) @@ -1433,8 +1375,7 @@ ) (defpart 1710 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -9.333333)) (sp-flt spt-y (meters 4.6666665)) @@ -1457,8 +1398,7 @@ ) (defpart 1712 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 1)) (sp-int spt-rot-x 6) diff --git a/goal_src/levels/sunken/sunken-pipegame.gc b/goal_src/levels/sunken/sunken-pipegame.gc index 54e41b3048..d11b5d957d 100644 --- a/goal_src/levels/sunken/sunken-pipegame.gc +++ b/goal_src/levels/sunken/sunken-pipegame.gc @@ -67,13 +67,11 @@ :id 448 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1741) (sp-item 1742) (sp-item 1743) (sp-item 1744 :flags (is-3d))) + :parts ((sp-item 1741) (sp-item 1742) (sp-item 1743) (sp-item 1744 :flags (is-3d))) ) (defpart 1741 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 10.0) (sp-flt spt-y (meters 6)) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -96,13 +94,11 @@ ) (defpart 1745 - :init-specs - ((sp-flt spt-fade-a 0.0)) + :init-specs ((sp-flt spt-fade-a 0.0)) ) (defpart 1742 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-y (meters 0) (meters 8) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -121,8 +117,7 @@ ) (defpart 1743 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 4)) (sp-rnd-flt spt-scale-x (meters 7) (meters 1) 1.0) @@ -138,8 +133,7 @@ ) (defpart 1744 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.3)) (sp-rnd-flt spt-scale-x (meters 5.5) (meters 2) 1.0) @@ -158,13 +152,11 @@ :id 449 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1746) (sp-item 1742) (sp-item 1747) (sp-item 1748 :flags (is-3d))) + :parts ((sp-item 1746) (sp-item 1742) (sp-item 1747) (sp-item 1748 :flags (is-3d))) ) (defpart 1746 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 10.0) (sp-flt spt-y (meters 6)) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -187,8 +179,7 @@ ) (defpart 1747 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 4)) (sp-rnd-flt spt-scale-x (meters 7) (meters 1) 1.0) @@ -204,8 +195,7 @@ ) (defpart 1748 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.3)) (sp-rnd-flt spt-scale-x (meters 5.5) (meters 2) 1.0) @@ -224,13 +214,11 @@ :id 450 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1749) (sp-item 1742) (sp-item 1750) (sp-item 1751 :flags (is-3d))) + :parts ((sp-item 1749) (sp-item 1742) (sp-item 1750) (sp-item 1751 :flags (is-3d))) ) (defpart 1749 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 10.0) (sp-flt spt-y (meters 6)) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -253,8 +241,7 @@ ) (defpart 1750 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 4)) (sp-rnd-flt spt-scale-x (meters 7) (meters 1) 1.0) @@ -270,8 +257,7 @@ ) (defpart 1751 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.3)) (sp-rnd-flt spt-scale-x (meters 5.5) (meters 2) 1.0) @@ -290,13 +276,11 @@ :id 451 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1752) (sp-item 1753) (sp-item 1754) (sp-item 1755 :flags (is-3d))) + :parts ((sp-item 1752) (sp-item 1753) (sp-item 1754) (sp-item 1755 :flags (is-3d))) ) (defpart 1752 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -319,13 +303,11 @@ ) (defpart 1756 - :init-specs - ((sp-flt spt-fade-a -1.4222223)) + :init-specs ((sp-flt spt-fade-a -1.4222223)) ) (defpart 1753 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-y (meters 0) (meters -8) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -344,8 +326,7 @@ ) (defpart 1754 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -3.5)) (sp-rnd-flt spt-scale-x (meters 3) (meters 0.5) 1.0) @@ -362,8 +343,7 @@ ) (defpart 1755 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.3)) (sp-rnd-flt spt-scale-x (meters 5.5) (meters 2) 1.0) @@ -382,13 +362,11 @@ :id 452 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1757) (sp-item 1753) (sp-item 1758) (sp-item 1759 :flags (is-3d))) + :parts ((sp-item 1757) (sp-item 1753) (sp-item 1758) (sp-item 1759 :flags (is-3d))) ) (defpart 1757 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -411,8 +389,7 @@ ) (defpart 1758 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -3.5)) (sp-rnd-flt spt-scale-x (meters 3) (meters 0.5) 1.0) @@ -429,8 +406,7 @@ ) (defpart 1759 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.3)) (sp-rnd-flt spt-scale-x (meters 5.5) (meters 2) 1.0) @@ -449,13 +425,11 @@ :id 453 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1760) (sp-item 1753) (sp-item 1761) (sp-item 1762 :flags (is-3d))) + :parts ((sp-item 1760) (sp-item 1753) (sp-item 1761) (sp-item 1762 :flags (is-3d))) ) (defpart 1760 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -478,8 +452,7 @@ ) (defpart 1761 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -3.5)) (sp-rnd-flt spt-scale-x (meters 3) (meters 0.5) 1.0) @@ -496,8 +469,7 @@ ) (defpart 1762 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.3)) (sp-rnd-flt spt-scale-x (meters 5.5) (meters 2) 1.0) @@ -533,8 +505,7 @@ ) (defstate sunken-pipegame-start-up (sunken-pipegame) - :code - (behavior () + :code (behavior () (suspend) (send-event (handle->process (-> self prize 0 actor-handle)) 'anim #f) (go sunken-pipegame-idle) @@ -543,8 +514,7 @@ ) (defstate sunken-pipegame-idle (sunken-pipegame) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (when (= (-> arg0 type) sunken-pipegame-button) @@ -554,8 +524,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) @@ -564,8 +533,7 @@ ) (defstate sunken-pipegame-begin-play (sunken-pipegame) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('notify) (case (-> arg0 type) @@ -576,8 +544,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (dummy-21 self #f) (set! (-> self abort-audio-if-beaten?) #f) (dotimes (gp-0 3) @@ -589,8 +556,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (v1-112 symbol)) (let ((gp-0 (-> *display* base-frame-counter))) (if (not (handle->process (-> self prize (-> self challenge) actor-handle))) @@ -601,66 +567,15 @@ (cond ((zero? v1-10) (ambient-hint-spawn "gamcam27" (the-as vector #f) *entity-pool* 'camera) - (let ((s5-0 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-0 - (let ((t9-4 (method-of-type pov-camera activate))) - (t9-4 (the-as pov-camera s5-0) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "pipegame-left" - 0 - #f - '() - ) - (-> s5-0 ppointer) - ) - ) + (process-spawn pov-camera (-> self root trans) *sunkencam-sg* "pipegame-left" 0 #f '() :to self) ) ((= v1-10 1) (ambient-hint-spawn "gamcam25" (the-as vector #f) *entity-pool* 'camera) - (let ((s5-1 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-1 - (let ((t9-8 (method-of-type pov-camera activate))) - (t9-8 (the-as pov-camera s5-1) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "pipegame-middle" - 0 - #f - '() - ) - (-> s5-1 ppointer) - ) - ) + (process-spawn pov-camera (-> self root trans) *sunkencam-sg* "pipegame-middle" 0 #f '() :to self) ) ((= v1-10 2) (ambient-hint-spawn "gamcam26" (the-as vector #f) *entity-pool* 'camera) - (let ((s5-2 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-2 - (let ((t9-12 (method-of-type pov-camera activate))) - (t9-12 (the-as pov-camera s5-2) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-2 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "pipegame-right" - 0 - #f - '() - ) - (-> s5-2 ppointer) - ) - ) + (process-spawn pov-camera (-> self root trans) *sunkencam-sg* "pipegame-right" 0 #f '() :to self) ) ) ) @@ -898,8 +813,7 @@ ) (defstate sunken-pipegame-beat-challenge (sunken-pipegame) - :code - (behavior () + :code (behavior () (logior! (-> self challenges-mask) (ash 1 (-> self challenge))) (if (-> self abort-audio-if-beaten?) (kill-current-level-hint '(camera) '() 'exit) @@ -910,8 +824,7 @@ ) (defstate sunken-pipegame-end-play (sunken-pipegame) - :code - (behavior () + :code (behavior () (local-vars (v1-3 symbol)) (dummy-21 self #t) (set! (-> self abort-audio-if-beaten?) #f) @@ -1122,17 +1035,7 @@ ) ) (vector+! s4-0 s4-0 (-> obj root trans)) - (let* ((s0-3 (get-process *default-dead-pool* sunken-pipegame-button #x4000)) - (v1-102 - (when s0-3 - (let ((t9-23 (method-of-type sunken-pipegame-button activate))) - (t9-23 (the-as sunken-pipegame-button s0-3) obj 'sunken-pipegame-button (the-as pointer #x70004000)) - ) - (run-now-in-process s0-3 sunken-pipegame-button-init-by-other s4-0 s3-0 arg0 s1-1) - (-> s0-3 ppointer) - ) - ) - ) + (let ((v1-102 (process-spawn sunken-pipegame-button s4-0 s3-0 arg0 s1-1 :to obj))) (set! (-> obj button s2-0) (the-as (pointer sunken-pipegame-button) v1-102)) (set! (-> (the-as (pointer sunken-pipegame-button) v1-102) 0 button-id) s2-0) ) diff --git a/goal_src/levels/sunken/sunken-water.gc b/goal_src/levels/sunken/sunken-water.gc index 0d54cbe782..8f079a88cc 100644 --- a/goal_src/levels/sunken/sunken-water.gc +++ b/goal_src/levels/sunken/sunken-water.gc @@ -32,8 +32,7 @@ :count 3 :converted #f :normal-scale 1.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 40.0 :xdiv -1 :zdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) @@ -46,13 +45,11 @@ :id 446 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1736 :fade-after (meters 50))) + :parts ((sp-item 1736 :fade-after (meters 50))) ) (defpart 1736 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 1) (meters 4) 1.0) @@ -72,8 +69,7 @@ ) (defpart 2022 - :init-specs - ((sp-flt spt-r 255.0) (sp-rnd-flt spt-g 128.0 128.0 1.0) (sp-flt spt-b 0.0) (sp-flt spt-fade-a -1.28)) + :init-specs ((sp-flt spt-r 255.0) (sp-rnd-flt spt-g 128.0 128.0 1.0) (sp-flt spt-b 0.0) (sp-flt spt-fade-a -1.28)) ) (defmethod draw-ripple sunken-water ((obj sunken-water)) @@ -99,8 +95,7 @@ (defstate water-vol-idle (sunken-water) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('notify) (if (= (-> arg3 param 0) 'attack) @@ -112,8 +107,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (let ((t9-0 (-> (method-of-type water-anim water-vol-idle) trans))) (if t9-0 (t9-0) @@ -189,8 +183,7 @@ ) (none) ) - :post - (the-as (function none :behavior sunken-water) ja-post) + :post (the-as (function none :behavior sunken-water) ja-post) ) (defmethod TODO-RENAME-25 sunken-water ((obj sunken-water)) diff --git a/goal_src/levels/sunken/target-tube.gc b/goal_src/levels/sunken/target-tube.gc index 6e4a4a009d..0d2f4f492e 100644 --- a/goal_src/levels/sunken/target-tube.gc +++ b/goal_src/levels/sunken/target-tube.gc @@ -427,8 +427,7 @@ ) (defstate target-tube-start (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) 'tube @@ -463,8 +462,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (when (not (or (= (-> self next-state name) 'target-tube) (= (-> self next-state name) 'target-tube-jump) (= (-> self next-state name) 'target-tube-hit) @@ -490,8 +488,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (send-event *camera* 'set-slave-option #x6000) (target-exit) (set! *display-profile* #f) @@ -515,33 +512,35 @@ (set! (-> self control unknown-float01) 0.0) (logior! (-> self control root-prim prim-core action) (collide-action ca-13)) (remove-exit) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 4) - (set! (-> a1-4 message) 'update) - (set! (-> a1-4 param 0) (the-as uint (-> self tube centertube))) - (set! (-> a1-4 param 1) (the-as uint (-> self tube downtube))) - (set! (-> a1-4 param 2) (the-as uint (-> self tube sidetube))) - (set! (-> a1-4 param 3) (the-as uint (-> self tube foretube))) - (cond - ((< (the-as float (send-event-function (handle->process (-> self tube tube)) a1-4)) 0.5) - (vector-normalize-copy! (-> self control transv) (-> self tube downtube) 40960.0) - (forward-up-nopitch->quaternion - (-> self control dir-targ) - (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> self control transv) 1.0) - (-> self control dynam gravity-normal) - ) - (go target-tube-jump (-> *TARGET-bank* tube-jump-height-min) (-> *TARGET-bank* tube-jump-height-max)) - ) - (else - (go target-tube) + (cond + ((< (the-as + float + (send-event + (handle->process (-> self tube tube)) + 'update + (-> self tube centertube) + (-> self tube downtube) + (-> self tube sidetube) + (-> self tube foretube) + ) + ) + 0.5 ) + (vector-normalize-copy! (-> self control transv) (-> self tube downtube) 40960.0) + (forward-up-nopitch->quaternion + (-> self control dir-targ) + (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> self control transv) 1.0) + (-> self control dynam gravity-normal) + ) + (go target-tube-jump (-> *TARGET-bank* tube-jump-height-min) (-> *TARGET-bank* tube-jump-height-max)) + ) + (else + (go target-tube) ) ) (none) ) - :post - target-post + :post target-post ) (defbehavior target-tube-turn-anim target () @@ -596,18 +595,14 @@ ) (defstate target-tube (target) - :event - (-> target-tube-start event) - :enter - (behavior () + :event (-> target-tube-start event) + :enter (behavior () (set! (-> self control unknown-surface00) *tube-mods*) (set! (-> self control surf) *tube-surface*) (none) ) - :exit - (-> target-tube-start exit) - :trans - (behavior () + :exit (-> target-tube-start exit) + :trans (behavior () (if (and (logtest? (logior (logior (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) ) @@ -621,8 +616,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (case (ja-group) (((-> self draw art-group data 41) (-> self draw art-group data 38)) (ja-channel-push! 1 (seconds 0.04)) @@ -644,28 +638,23 @@ ) (none) ) - :post - (behavior () + :post (behavior () (target-tube-post) (none) ) ) (defstate target-tube-jump (target) - :event - (-> target-tube-start event) - :enter - (behavior ((arg0 float) (arg1 float)) + :event (-> target-tube-start event) + :enter (behavior ((arg0 float) (arg1 float)) (set! (-> self state-time) (-> *display* base-frame-counter)) (init-var-jump arg0 arg1 (the-as vector #t) (the-as vector #f) (-> self control transv)) (logclear! (-> self control status) (cshape-moving-flags onsurf onground tsurf)) (set! (-> self control unknown-surface00) *tube-jump-mods*) (none) ) - :exit - (-> target-tube-start exit) - :trans - (behavior () + :exit (-> target-tube-start exit) + :trans (behavior () (if (logtest? (-> self control status) (cshape-moving-flags onsurf)) (go target-tube) ) @@ -677,8 +666,7 @@ ) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (ja-channel-push! 1 (seconds 0.05)) (ja :group! (-> self draw art-group data 41) :num! (identity (ja-aframe 16.0 0))) (let ((f30-0 35.0) @@ -710,15 +698,12 @@ ) (none) ) - :post - (-> target-tube post) + :post (-> target-tube post) ) (defstate target-tube-hit (target) - :event - (-> target-tube-start event) - :enter - (behavior ((arg0 symbol) (arg1 attack-info)) + :event (-> target-tube-start event) + :enter (behavior ((arg0 symbol) (arg1 attack-info)) (send-event (handle->process (-> self tube tube)) 'update @@ -729,8 +714,7 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (if (!= (-> self next-state name) 'target-tube-death) (logclear! (-> self state-flags) (state-flags sf03 sf15)) ) @@ -738,13 +722,12 @@ ((-> target-tube-start exit)) (none) ) - :code - (behavior ((arg0 symbol) (arg1 attack-info)) + :code (behavior ((arg0 symbol) (arg1 attack-info)) (let ((gp-0 (-> self attack-info))) (set! (-> self state-time) (-> *display* base-frame-counter)) (logior! (-> self state-flags) (state-flags sf03)) (set! (-> self game hit-time) (-> *display* base-frame-counter)) - (when (zero? (logand (-> arg1 mask) 2)) + (when (zero? (logand (-> arg1 mask) (attack-mask vector))) (vector-! (-> arg1 vector) (vector+float*! (new 'stack-no-clear 'vector) (-> self tube foretube) (-> self tube downtube) 20480.0) @@ -768,11 +751,14 @@ ) ) ) - (logior! (-> arg1 mask) 2) + (logior! (-> arg1 mask) (attack-mask vector)) ) - (when (and (logtest? (-> arg1 mask) 32) (= (-> arg1 mode) 'darkeco) (zero? (logand (-> arg1 mask) 128))) + (when (and (logtest? (-> arg1 mask) (attack-mask mode)) + (= (-> arg1 mode) 'darkeco) + (zero? (logand (-> arg1 mask) (attack-mask shove-up))) + ) (set! (-> arg1 shove-up) 12288.0) - (logior! (-> arg1 mask) 128) + (logior! (-> arg1 mask) (attack-mask shove-up)) ) (let ((v1-30 gp-0)) (set! (-> v1-30 attacker) (the-as handle #f)) @@ -828,15 +814,12 @@ (go target-tube) (none) ) - :post - target-post + :post target-post ) (defstate target-tube-death (target) - :event - (-> target-death event) - :exit - (behavior () + :event (-> target-death event) + :exit (behavior () (logclear! (-> self state-flags) (state-flags sf03 sf15)) (target-exit) (clear-pending-settings-from-process *setting-control* self 'process-mask) @@ -844,8 +827,7 @@ ((-> target-tube-start exit)) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (local-vars (v1-40 symbol)) (set! (-> self neck flex-blend) 0.0) (target-timed-invulnerable-off self) @@ -876,8 +858,7 @@ (go target-tube) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) (deftype slide-control (process-drawable) @@ -947,16 +928,14 @@ (defstate slide-control-watch (slide-control) :virtual #t - :enter - (behavior () + :enter (behavior () (eval-path-curve-div! (-> self path) (-> self trans) 0.2 'interp) (eval-path-curve-div! (-> self path) (-> self root trans) 0.2 'interp) (TODO-RENAME-12 (-> self path) (-> self rot) 0.2) (set! (-> self pos) 0.2) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (and *target* (>= 81920.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) (and (< 0.0 (vector-dot (vector-! (new 'stack-no-clear 'vector) (-> *target* control trans) (-> self trans)) @@ -970,14 +949,12 @@ ) (none) ) - :code - (the-as (function none :behavior slide-control) anim-loop) + :code (the-as (function none :behavior slide-control) anim-loop) ) (defstate slide-control-ride (slide-control) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('end-mode) (go-virtual slide-control-watch) @@ -1004,21 +981,18 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self pos) 0.0) (set! (-> self target) (process->handle *target*)) (process-entity-status! self (entity-perm-status bit-3) #t) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self target) (the-as handle #f)) (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :trans - (behavior () + :trans (behavior () (let ((gp-0 (handle->process (-> self target)))) (cond ((if (and (nonzero? gp-0) (type-type? (-> gp-0 type) process-drawable)) @@ -1032,8 +1006,7 @@ ) (none) ) - :code - (the-as (function none :behavior slide-control) anim-loop) + :code (the-as (function none :behavior slide-control) anim-loop) ) (defmethod init-from-entity! slide-control ((obj slide-control) (arg0 entity-actor)) diff --git a/goal_src/levels/sunken/wall-plat.gc b/goal_src/levels/sunken/wall-plat.gc index a313261d23..08e91b280d 100644 --- a/goal_src/levels/sunken/wall-plat.gc +++ b/goal_src/levels/sunken/wall-plat.gc @@ -8,6 +8,7 @@ (declare-type wall-plat process-drawable) ;; DECOMP BEGINS + (import "goal_src/import/wall-plat-ag.gc") (deftype wall-plat (process-drawable) @@ -38,16 +39,14 @@ ) (defstate wall-plat-retracted (wall-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go wall-plat-extending) ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self extended-amount) 0.0) (move-to-point! (-> self root-override) (-> self in-trans)) (transform-post) @@ -61,25 +60,21 @@ ) (defstate wall-plat-extending (wall-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) #f ) ) ) ) - :enter - (behavior () + :enter (behavior () (sound-play-by-name (static-sound-name "wall-plat") (new-sound-id) 1024 0 0 1 #t) (none) ) - :trans - (the-as (function none :behavior wall-plat) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior wall-plat) rider-trans) + :code (behavior () (restore-collide-with-as (-> self root-override)) (set! (-> self state-time) (-> *display* base-frame-counter)) (loop @@ -95,21 +90,18 @@ ) (none) ) - :post - (the-as (function none :behavior wall-plat) rider-post) + :post (the-as (function none :behavior wall-plat) rider-post) ) (defstate wall-plat-extended (wall-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('untrigger) (go wall-plat-retracting) ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self extended-amount) 1.0) (move-to-point! (-> self root-override) (-> self out-trans)) (transform-post) @@ -122,25 +114,21 @@ ) (defstate wall-plat-retracting (wall-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) #f ) ) ) ) - :enter - (behavior () + :enter (behavior () (sound-play-by-name (static-sound-name "wall-plat") (new-sound-id) 1024 0 0 1 #t) (none) ) - :trans - (the-as (function none :behavior wall-plat) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior wall-plat) rider-trans) + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (loop (seek! (-> self extended-amount) 0.0 (* 2.5 (-> *display* seconds-per-frame))) @@ -155,35 +143,29 @@ ) (none) ) - :post - (the-as (function none :behavior wall-plat) rider-post) + :post (the-as (function none :behavior wall-plat) rider-post) ) (defstate wall-plat-sync-idle (wall-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) #f ) ) ) ) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (the-as (function none :behavior wall-plat) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior wall-plat) rider-trans) + :code (behavior () (let ((gp-0 #f)) (loop (let ((f30-0 (get-current-phase-with-mirror (-> self sync)))) @@ -214,8 +196,7 @@ ) (none) ) - :post - (the-as (function none :behavior wall-plat) rider-post) + :post (the-as (function none :behavior wall-plat) rider-post) ) (defmethod init-from-entity! wall-plat ((obj wall-plat) (arg0 entity-actor)) diff --git a/goal_src/levels/sunken/wedge-plats.gc b/goal_src/levels/sunken/wedge-plats.gc index 6520b3cbb2..625e27a6b8 100644 --- a/goal_src/levels/sunken/wedge-plats.gc +++ b/goal_src/levels/sunken/wedge-plats.gc @@ -10,8 +10,9 @@ (declare-type wedge-plat process) ;; DECOMP BEGINS -(import "goal_src/import/wedge-plat-ag.gc") + (import "goal_src/import/wedge-plat-outer-ag.gc") +(import "goal_src/import/wedge-plat-ag.gc") (deftype wedge-plat-master (process) ((center vector :inline :offset-assert 112) @@ -30,8 +31,7 @@ (defstate wedge-plat-master-idle (wedge-plat-master) - :code - (behavior () + :code (behavior () (loop (set! (-> self rotate-inner) (the float @@ -120,8 +120,7 @@ ) (defstate wedge-plat-idle (wedge-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'bonk) (dummy-22 self) @@ -129,10 +128,8 @@ ) ) ) - :trans - (the-as (function none :behavior wedge-plat) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior wedge-plat) plat-trans) + :code (behavior () (ja :num-func num-func-identity :frame-num (ja-aframe 0.0 0)) (loop (if (dummy-27 self) @@ -142,30 +139,26 @@ ) (none) ) - :post - (the-as (function none :behavior wedge-plat) plat-post) + :post (the-as (function none :behavior wedge-plat) plat-post) ) (defstate wedge-plat-tip (wedge-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'bonk) (dummy-22 self) ) ((= v1-0 'touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) #f ) ) ) ) ) - :trans - (the-as (function none :behavior wedge-plat) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior wedge-plat) plat-trans) + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! (ja-aframe 60.0 0)) :frame-num (ja-aframe 0.0 0) @@ -202,8 +195,7 @@ (go wedge-plat-idle) (none) ) - :post - (the-as (function none :behavior wedge-plat) plat-post) + :post (the-as (function none :behavior wedge-plat) plat-post) ) (defmethod init-from-entity! wedge-plat ((obj wedge-plat) (arg0 entity-actor)) @@ -294,8 +286,7 @@ ) (defstate wedge-plat-outer-idle (wedge-plat-outer) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'bonk) (dummy-22 self) @@ -303,10 +294,8 @@ ) ) ) - :trans - (the-as (function none :behavior wedge-plat-outer) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior wedge-plat-outer) plat-trans) + :code (behavior () (loop (ja :num-func num-func-identity :frame-num (ja-aframe 0.0 0)) (if (dummy-27 self) @@ -316,29 +305,25 @@ ) (none) ) - :post - (the-as (function none :behavior wedge-plat-outer) plat-post) + :post (the-as (function none :behavior wedge-plat-outer) plat-post) ) (defstate wedge-plat-outer-tip (wedge-plat-outer) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'bonk) (dummy-22 self) ) ((= v1-0 'touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) ) ) ) ) ) - :trans - (the-as (function none :behavior wedge-plat-outer) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior wedge-plat-outer) plat-trans) + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! (ja-aframe 60.0 0)) :frame-num (ja-aframe 0.0 0) @@ -375,8 +360,7 @@ (go wedge-plat-outer-idle) (none) ) - :post - (the-as (function none :behavior wedge-plat-outer) plat-post) + :post (the-as (function none :behavior wedge-plat-outer) plat-post) ) (defmethod init-from-entity! wedge-plat-outer ((obj wedge-plat-outer) (arg0 entity-actor)) diff --git a/goal_src/levels/sunken/whirlpool.gc b/goal_src/levels/sunken/whirlpool.gc index dd7dff80ca..171c19a553 100644 --- a/goal_src/levels/sunken/whirlpool.gc +++ b/goal_src/levels/sunken/whirlpool.gc @@ -6,6 +6,7 @@ ;; dgos: L1, SUN, SUNKEN ;; DECOMP BEGINS + (import "goal_src/import/whirlpool-ag.gc") (deftype whirlpool (process-drawable) @@ -37,8 +38,7 @@ :id 447 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1739 :fade-after (meters 60) :falloff-to (meters 60) :binding 1737) + :parts ((sp-item 1739 :fade-after (meters 60) :falloff-to (meters 60) :binding 1737) (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) @@ -229,8 +229,7 @@ ) (defpart 1739 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 6.6)) (sp-flt spt-scale-x (meters 0.2)) @@ -244,8 +243,7 @@ ) (defpart 1737 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 0)) @@ -270,13 +268,11 @@ ) (defpart 1740 - :init-specs - ((sp-flt spt-fade-a 0.0)) + :init-specs ((sp-flt spt-fade-a 0.0)) ) (defpart 1738 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -323,8 +319,7 @@ ) (defstate whirlpool-idle (whirlpool) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (+ (* (get-current-phase-with-mirror (-> self sync)) (-> self spin-speed-delta)) (-> self spin-speed-idle)) ) @@ -348,10 +343,8 @@ ) (none) ) - :code - (the-as (function none :behavior whirlpool) anim-loop) - :post - (the-as (function none :behavior whirlpool) ja-post) + :code (the-as (function none :behavior whirlpool) anim-loop) + :post (the-as (function none :behavior whirlpool) ja-post) ) (defmethod deactivate whirlpool ((obj whirlpool)) diff --git a/goal_src/levels/swamp/billy.gc b/goal_src/levels/swamp/billy.gc index 7eff48ce50..2842acb68e 100644 --- a/goal_src/levels/swamp/billy.gc +++ b/goal_src/levels/swamp/billy.gc @@ -8,6 +8,7 @@ (declare-type billy-snack process-drawable) ;; DECOMP BEGINS + (import "goal_src/import/farthy-snack-ag.gc") (import "goal_src/import/billy-ag.gc") (import "goal_src/import/billy-sidekick-ag.gc") @@ -72,8 +73,7 @@ ) (defstate billy-snack-eat (billy-snack) - :code - (behavior () + :code (behavior () (ja :group! farthy-snack-eat-ja) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -86,21 +86,18 @@ ) (none) ) - :post - (the-as (function none :behavior billy-snack) ja-post) + :post (the-as (function none :behavior billy-snack) ja-post) ) (defstate billy-snack-idle (billy-snack) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('eat) (go billy-snack-eat) ) ) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -110,8 +107,7 @@ ) (none) ) - :post - (the-as (function none :behavior billy-snack) ja-post) + :post (the-as (function none :behavior billy-snack) ja-post) ) (defbehavior billy-snack-init-by-other billy-snack ((arg0 vector)) @@ -146,19 +142,16 @@ (defstate nav-enemy-idle (billy-rat) :virtual #t - :enter - (behavior () + :enter (behavior () (go-virtual nav-enemy-chase) (none) ) - :post - (the-as (function none :behavior billy-rat) nav-enemy-common-post) + :post (the-as (function none :behavior billy-rat) nav-enemy-common-post) ) (defstate nav-enemy-die (billy-rat) :virtual #t - :code - (behavior () + :code (behavior () (nav-enemy-fall-and-play-death-anim (the-as art-joint-anim (-> self draw art-group data (-> self nav-info die-anim))) 1.0 @@ -173,13 +166,11 @@ ) (defstate billy-rat-eat (billy-rat) - :trans - (behavior () + :trans (behavior () (seek-to-point-toward-point! (-> self collide-info) (-> self destination) 131072.0 (seconds 0.01)) (none) ) - :code - (behavior () + :code (behavior () (send-event (handle->process (-> self snack)) 'eat) (sound-play-by-name (static-sound-name "rat-gulp") (new-sound-id) 1024 0 0 1 #t) (ja-channel-push! 1 (seconds 0.05)) @@ -194,24 +185,20 @@ (go-virtual nav-enemy-chase) (none) ) - :post - (the-as (function none :behavior billy-rat) nav-enemy-simple-post) + :post (the-as (function none :behavior billy-rat) nav-enemy-simple-post) ) (defstate billy-rat-salivate (billy-rat) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior billy-rat) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (dotimes (gp-0 1) (sound-play-by-name (static-sound-name "rat-eat") (new-sound-id) 1024 0 0 1 #t) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info victory-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info victory-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -228,14 +215,12 @@ ) (none) ) - :post - (the-as (function none :behavior billy-rat) nav-enemy-simple-post) + :post (the-as (function none :behavior billy-rat) nav-enemy-simple-post) ) (defstate nav-enemy-victory (billy-rat) :virtual #t - :enter - (behavior () + :enter (behavior () (let ((t9-1 (-> (the-as (state nav-enemy) (find-parent-method billy-rat 33)) enter))) (if t9-1 (t9-1) @@ -254,8 +239,7 @@ (defstate nav-enemy-stare (billy-rat) :virtual #t - :enter - (behavior () + :enter (behavior () (go-virtual nav-enemy-chase) (none) ) @@ -263,8 +247,7 @@ (defstate nav-enemy-chase (billy-rat) :virtual #t - :trans - (behavior () + :trans (behavior () (set! (-> self speed-scale) (-> self billy 0 rat-speed)) (if (or (logtest? (nav-control-flags navcf19) (-> self nav flags)) (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self chase-rest-time)) @@ -273,8 +256,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (swamp-rat-update-wiggle-target (-> self destination)) (nav-enemy-travel-post) (none) @@ -332,15 +314,7 @@ (eval-path-curve-div! (-> obj path-snacks) s5-1 (the float s4-0) 'exact) (set! (-> s5-1 x) (+ -40960.0 (-> s5-1 x))) (set! (-> s5-1 z) (+ 20480.0 (-> s5-1 z))) - (let ((s3-0 (get-process *default-dead-pool* manipy #x4000))) - (when s3-0 - (let ((t9-4 (method-of-type manipy activate))) - (t9-4 (the-as manipy s3-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 manipy-init s5-1 (-> obj entity) *farthy-snack-sg* #f) - (-> s3-0 ppointer) - ) - ) + (manipy-spawn s5-1 (-> obj entity) *farthy-snack-sg* #f :to obj) ) ) ) @@ -348,8 +322,7 @@ :name "billy-introduction" :index 5 :parts 14 - :command-list - '((0 kill "swamp-blimp-3") + :command-list '((0 kill "swamp-blimp-3") (0 kill "swamp-tetherrock-14") (0 kill "swamp-tetherrock-15") (0 kill "flutflut-3") @@ -390,8 +363,7 @@ :name "billy-reminder-1" :index 8 :parts 2 - :command-list - '((0 kill "swamp-blimp-3") + :command-list '((0 kill "swamp-blimp-3") (0 kill "swamp-tetherrock-14") (0 kill "swamp-tetherrock-15") (0 kill "flutflut-3") @@ -425,8 +397,7 @@ :name "billy-resolution" :index 9 :parts 2 - :command-list - '((0 kill "swamp-blimp-3") + :command-list '((0 kill "swamp-blimp-3") (0 kill "swamp-tetherrock-14") (0 kill "swamp-tetherrock-15") (0 kill "flutflut-3") @@ -503,8 +474,7 @@ ) (defstate billy-done (billy) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'billy-rat-needs-destination) (let* ((gp-0 arg0) @@ -522,8 +492,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (init! (-> self query) (lookup-text! *common-text* (game-text-id play-again?) #f) @@ -547,10 +516,7 @@ (let ((a0-24 (get-reminder (-> self tasks) 0))) (save-reminder (-> self tasks) (seekl a0-24 255 1) 0) ) - (let* ((v1-49 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-50 (the-as number (logior #x3f800000 v1-49))) - (f0-2 (+ -1.0 (the-as float v1-50))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.75 f0-2) (play-ambient (-> self ambient) "BIL-TA04" #t (the-as vector #f)) @@ -569,15 +535,13 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (billy-kill-all-but-farthy) (send-event *camera* 'change-target *target*) (send-event *camera* 'change-state *camera-base-mode* 0) (none) ) - :trans - (behavior () + :trans (behavior () (cond ((> (-> self num-snacks) 0) (when (process-grab? *target*) @@ -607,10 +571,8 @@ (spool-push *art-control* "billy-reject" 0 self -99.0) (none) ) - :code - (the-as (function none :behavior billy) process-taskable-anim-loop) - :post - (behavior () + :code (the-as (function none :behavior billy) process-taskable-anim-loop) + :post (behavior () (ja-post) (none) ) @@ -789,17 +751,9 @@ ) (get-random-point (-> self path-starts) gp-0) (get-random-point (-> self path-waypts) s5-0) - (let ((s4-0 (get-process *default-dead-pool* billy-rat #x4000))) - (if (when s4-0 - (let ((t9-4 (method-of-type billy-rat activate))) - (t9-4 (the-as billy-rat s4-0) self 'billy-rat (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 billy-rat-init-by-other self gp-0 s5-0) - (-> s4-0 ppointer) - ) - (+! (-> self num-rats) 1) - ) - ) + (if (process-spawn billy-rat self gp-0 s5-0 :to self) + (+! (-> self num-rats) 1) + ) ) ) 0 @@ -807,14 +761,11 @@ ) (defstate billy-playing (billy) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('billy-rat-die) (+! (-> self num-rats) -1) - (let* ((v1-4 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-5 (the-as number (logior #x3f800000 v1-4))) - (f0-2 (+ -1.0 (the-as float v1-5))) + (let* ((f0-2 (rand-float-gen)) (f0-3 (* 3.0 f0-2)) ) (cond @@ -850,10 +801,7 @@ ) ) (when gp-0 - (let* ((v1-15 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-16 (the-as number (logior #x3f800000 v1-15))) - (f0-6 (+ -1.0 (the-as float v1-16))) - ) + (let ((f0-6 (rand-float-gen))) (cond ((< 0.75 f0-6) (play-ambient (-> self ambient) "BIL-TA01" #t (the-as vector #f)) @@ -935,8 +883,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (push-setting! *setting-control* self 'music 'danger 0.0 0) (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) @@ -949,17 +896,9 @@ (let ((gp-1 (new 'stack-no-clear 'vector))) (dotimes (s5-1 (+ (the int (the float (+ (-> self path-snacks curve num-cverts) -1))) 1)) (eval-path-curve-div! (-> self path-snacks) gp-1 (the float s5-1) 'exact) - (let ((s4-1 (get-process *default-dead-pool* billy-snack #x4000))) - (if (when s4-1 - (let ((t9-7 (method-of-type billy-snack activate))) - (t9-7 (the-as billy-snack s4-1) self 'billy-snack (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 billy-snack-init-by-other gp-1) - (-> s4-1 ppointer) - ) - (+! (-> self num-snacks) 1) - ) - ) + (if (process-spawn billy-snack gp-1 :to self) + (+! (-> self num-snacks) 1) + ) ) ) (backup-load-state-and-set-cmds *load-state* '()) @@ -997,22 +936,19 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (restore-collide-with-as (-> self root-override)) (restore-load-state-and-cleanup *load-state*) (set! (-> *ACTOR-bank* birth-max) 1000) (clear-pending-settings-from-process *setting-control* self 'music) (none) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "billy-resolution" 0 self -99.0) (spool-push *art-control* "billy-reject" 0 self -99.0) (none) ) - :code - (behavior () + :code (behavior () (loop (billy-game-update) (if (or (zero? (-> self num-snacks)) @@ -1025,8 +961,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (ja-post) (none) ) @@ -1034,23 +969,16 @@ (defstate enter-playing (billy) :virtual #t - :trans - (behavior () - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'change-mode) - (set! (-> a1-0 param 0) (the-as uint 'billy)) - (when (send-event-function *target* a1-0) - (send-event *target* 'trans 'reset) - (let ((v1-8 (entity-actor-lookup (-> self entity) 'alt-actor 0))) - (cond - (v1-8 - (move-to-point! (-> *target* control) (-> v1-8 extra trans)) - (go billy-playing) - ) - (else - ) + :trans (behavior () + (when (send-event *target* 'change-mode 'billy) + (send-event *target* 'trans 'reset) + (let ((v1-8 (entity-actor-lookup (-> self entity) 'alt-actor 0))) + (cond + (v1-8 + (move-to-point! (-> *target* control) (-> v1-8 extra trans)) + (go billy-playing) + ) + (else ) ) ) @@ -1061,10 +989,7 @@ (defmethod TODO-RENAME-43 billy ((obj billy)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f30-0 (+ -1.0 (the-as float v1-4))) - ) + (let ((f30-0 (rand-float-gen))) (cond ((< 0.9411765 f30-0) (play-ambient (-> obj ambient) "BIL-AM01" #f (-> obj root-override trans)) @@ -1127,8 +1052,7 @@ (defstate play-anim (billy) :virtual #t - :exit - (behavior () + :exit (behavior () (billy-kill-all-but-farthy) ((-> (method-of-type process-taskable play-anim) exit)) (none) @@ -1137,8 +1061,7 @@ (defstate idle (billy) :virtual #t - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.2)) ) @@ -1186,19 +1109,9 @@ ) ) (set! (-> obj path) (-> obj path-snacks)) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj farthy) - (ppointer->handle - (when s5-1 - (let ((t9-4 (method-of-type manipy activate))) - (t9-4 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *billy-sidekick-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> obj farthy) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *billy-sidekick-sg* #f :to obj)) + ) (send-event (handle->process (-> obj farthy)) 'center-joint 3) (send-event (handle->process (-> obj farthy)) 'anim-mode 'clone-anim) (dummy-42 obj) diff --git a/goal_src/levels/swamp/kermit.gc b/goal_src/levels/swamp/kermit.gc index f94abb46cd..39cf2b0e6f 100644 --- a/goal_src/levels/swamp/kermit.gc +++ b/goal_src/levels/swamp/kermit.gc @@ -8,13 +8,13 @@ (declare-type kermit nav-enemy) ;; DECOMP BEGINS + (import "goal_src/import/kermit-ag.gc") (defpartgroup group-kermit-charging-up :id 298 :bounds (static-bspherem 0 5 0 5) - :parts - ((sp-item 1359 :fade-after (meters 140) :falloff-to (meters 140) :binding 1356) + :parts ((sp-item 1359 :fade-after (meters 140) :falloff-to (meters 140) :binding 1356) (sp-item 1359 :fade-after (meters 140) :falloff-to (meters 140) :binding 1357) (sp-item 1359 :fade-after (meters 140) :falloff-to (meters 140) :binding 1358) (sp-item 1360) @@ -33,8 +33,7 @@ ) (defpart 1360 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -53,8 +52,7 @@ ) (defpart 1359 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 0.05 0.1 1.0) (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -73,8 +71,7 @@ ) (defpart 1356 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-flt spt-num 1.0) (sp-sound (static-sound-spec "eco-blue-spark1" :num 0.05 :volume 70.0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -94,8 +91,7 @@ ) (defpart 1357 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-flt spt-num 1.0) (sp-sound (static-sound-spec "eco-blue-spark2" :num 0.075 :volume 100.0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -115,8 +111,7 @@ ) (defpart 1358 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-flt spt-num 1.0) (sp-sound (static-sound-spec "eco-blue-spark3" :num 0.05 :volume 70.0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -136,8 +131,7 @@ ) (defpart 1361 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.1 0.5 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -159,8 +153,7 @@ ) (defpart 1362 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-rnd-flt spt-num 0.2 0.4 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -182,8 +175,7 @@ ) (defpart 1363 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-rnd-flt spt-num 0.3 0.1 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -205,8 +197,7 @@ ) (defpart 1364 - :init-specs - ((sp-flt spt-r 64.0) + :init-specs ((sp-flt spt-r 64.0) (sp-flt spt-g 64.0) (sp-flt spt-fade-r -1.0) (sp-flt spt-fade-g -1.0) @@ -218,13 +209,11 @@ :id 299 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1365 :period 15 :length 5)) + :parts ((sp-item 1365 :period 15 :length 5)) ) (defpart 1365 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -248,8 +237,7 @@ (defpartgroup group-kermit-pulse :id 300 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1368 :flags (launch-asap) :binding 1366) + :parts ((sp-item 1368 :flags (launch-asap) :binding 1366) (sp-item 1366 :flags (start-dead launch-asap) :binding 1367) (sp-item 1367 :flags (start-dead)) (sp-item 1367 :flags (start-dead)) @@ -257,8 +245,7 @@ ) (defpart 1368 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3)) (sp-copy-from-other spt-scale-y -4) @@ -275,8 +262,7 @@ ) (defpart 1369 - :init-specs - ((sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + :init-specs ((sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-a 100.0 28.0 1.0) (sp-int spt-next-time 5) @@ -285,8 +271,7 @@ ) (defpart 1366 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-y (meters 4) (meters 16) 1.0) (sp-flt spt-z (meters 0)) @@ -308,13 +293,11 @@ ) (defpart 1370 - :init-specs - ((sp-flt spt-vel-z (meters 0))) + :init-specs ((sp-flt spt-vel-z (meters 0))) ) (defpart 1367 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.85)) (sp-copy-from-other spt-scale-y -4) @@ -335,13 +318,11 @@ :id 301 :duration 5 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 1371) (sp-item 1372)) + :parts ((sp-item 1371) (sp-item 1372)) ) (defpart 1371 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -0.1) (meters 0.2) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.2) 1.0) @@ -371,8 +352,7 @@ ) (defpart 1373 - :init-specs - ((sp-flt spt-fade-r -3.2) + :init-specs ((sp-flt spt-fade-r -3.2) (sp-flt spt-fade-g 1.0) (sp-flt spt-fade-b 1.0) (sp-int spt-next-time 30) @@ -381,13 +361,11 @@ ) (defpart 1374 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpart 1372 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -0.1) (meters 0.2) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.2) 1.0) @@ -547,8 +525,7 @@ (defstate kermit-pulse-idle (kermit-pulse) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) @@ -556,18 +533,15 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self sound-id)) (none) ) - :code - (behavior () + :code (behavior () (while (< (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 4)) (sound-play-by-name (static-sound-name "kermit-loop") @@ -593,34 +567,25 @@ (cleanup-for-death self) (none) ) - :post - (behavior () + :post (behavior () (update-transforms! (-> self root-override)) (none) ) ) (defstate kermit-pulse-impact (kermit-pulse) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "get-shocked") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 301) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 301) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (cleanup-for-death self) (none) @@ -660,15 +625,7 @@ ) (defun spawn-kermit-pulse ((arg0 kermit) (arg1 vector) (arg2 entity)) - (let ((s3-0 (get-process *default-dead-pool* kermit-pulse #x4000))) - (when s3-0 - (let ((t9-1 (method-of-type kermit-pulse activate))) - (t9-1 (the-as kermit-pulse s3-0) arg0 'kermit-pulse (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 kermit-pulse-init-by-other arg1 arg2) - (-> s3-0 ppointer) - ) - ) + (process-spawn kermit-pulse arg1 arg2 :to arg0) 0 (none) ) @@ -957,19 +914,16 @@ nav-enemy-default-event-handler ) (defstate kermit-idle (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self notice-time) 0) 0 (none) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= (-> self enemy-info idle-distance) (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) ) @@ -978,8 +932,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (kermit-disable-tongue) (ja :group! kermit-idle-ja :num! min) (loop @@ -988,26 +941,22 @@ nav-enemy-default-event-handler ) (none) ) - :post - (the-as (function none :behavior kermit) ja-post) + :post (the-as (function none :behavior kermit) ja-post) ) (defstate kermit-patrol (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set-mode! (-> self neck) (joint-mod-handler-mode flex-blend)) (kermit-get-new-patrol-point) (dummy-11 (-> self nav) (-> self nav target-pos)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (or (not *target*) (< (-> self enemy-info idle-distance) (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) ) @@ -1025,8 +974,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! kermit-idle-ja :num! (seek! max 3.0) :frame-num 0.0) (until (ja-done? 0) @@ -1037,66 +985,54 @@ nav-enemy-default-event-handler ) (none) ) - :post - kermit-post + :post kermit-post ) (defstate kermit-notice (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set-mode! (-> self neck) (joint-mod-handler-mode look-at)) (none) ) - :trans - (behavior () + :trans (behavior () (kermit-set-rotate-dir-to-player) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (set-mode! (-> self neck) (joint-mod-handler-mode look-at)) (kermit-hop 0.0) (go kermit-chase) (none) ) - :post - kermit-post + :post kermit-post ) (defstate kermit-give-up (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set-mode! (-> self neck) (joint-mod-handler-mode flex-blend)) (none) ) - :code - (behavior () + :code (behavior () (go kermit-patrol) (none) ) - :post - kermit-simple-post + :post kermit-simple-post ) (defstate kermit-chase-new-position (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self miss-count) 0) (let* ((a1-1 (kermit-get-head-dir-xz self (new 'stack-no-clear 'vector))) @@ -1121,8 +1057,7 @@ nav-enemy-default-event-handler (dummy-11 (-> self nav) (-> self nav target-pos)) (none) ) - :trans - (behavior () + :trans (behavior () (when (not (-> self airborne)) (if (or (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) (and (logtest? (nav-control-flags navcf19) (-> self nav flags)) @@ -1134,8 +1069,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.17)) (dotimes (gp-0 3) (ja-no-eval :group! kermit-idle-ja :num! (seek! max 4.0) :frame-num 0.0) @@ -1150,26 +1084,22 @@ nav-enemy-default-event-handler ) (none) ) - :post - kermit-post + :post kermit-post ) (defstate kermit-chase (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set-mode! (-> self neck) (joint-mod-handler-mode look-at)) (kermit-set-nav-mesh-target (-> self collide-info trans)) (dummy-11 (-> self nav) (-> self nav target-pos)) (none) ) - :trans - (behavior () + :trans (behavior () (kermit-set-nav-mesh-target (-> self collide-info trans)) (kermit-set-rotate-dir-to-player) (if (nav-enemy-test-point-in-nav-mesh? (target-pos 0)) @@ -1202,8 +1132,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.17)) (loop (ja-no-eval :group! kermit-idle-ja :num! (seek! max 3.0) :frame-num 0.0) @@ -1217,18 +1146,15 @@ nav-enemy-default-event-handler ) (none) ) - :post - kermit-post + :post kermit-post ) (defstate kermit-attack (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.17)) (set! (-> self tongue-control forward-scale-control) 0.0) (kermit-enable-tongue) @@ -1281,18 +1207,15 @@ nav-enemy-default-event-handler ) (none) ) - :post - kermit-simple-post + :post kermit-simple-post ) (defstate kermit-tongue-stuck (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self miss-count) 0) (set! (-> self tongue-control forward-scale-control) 1.0) (kermit-enable-tongue) @@ -1300,8 +1223,7 @@ nav-enemy-default-event-handler (spawn-kermit-pulse self (kermit-tongue-pos self) (-> self entity)) (none) ) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self sound-id)) (let ((v1-0 (-> self child-override))) (if v1-0 @@ -1310,8 +1232,7 @@ nav-enemy-default-event-handler ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((s5-0 (kermit-player-target-pos)) (gp-0 (kermit-tongue-pos self)) ) @@ -1345,8 +1266,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (loop (ja-no-eval :group! kermit-turn-ja :num! (seek!) :frame-num 0.0) @@ -1366,8 +1286,7 @@ nav-enemy-default-event-handler ) (none) ) - :post - (behavior () + :post (behavior () (seek-to-point-toward-point! (-> self collide-info) (target-pos 0) (-> self rotate-speed) (seconds 0.05)) (kermit-simple-post) (none) @@ -1375,26 +1294,22 @@ nav-enemy-default-event-handler ) (defstate kermit-retract-tongue (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self charged-up) #f) (+! (-> self miss-count) 1) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self tongue-control forward-scale-control) 0.0) (kermit-disable-tongue) (none) ) - :trans - (behavior () + :trans (behavior () (kermit-set-nav-mesh-target (-> self collide-info trans)) (kermit-set-rotate-dir-to-player) (when (not (-> self airborne)) @@ -1406,8 +1321,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! kermit-miss-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1430,8 +1344,7 @@ nav-enemy-default-event-handler ) (none) ) - :post - kermit-post + :post kermit-post ) (define *kermit-nav-enemy-info* (new 'static 'nav-enemy-info diff --git a/goal_src/levels/swamp/swamp-bat.gc b/goal_src/levels/swamp/swamp-bat.gc index c492e78611..9373c49981 100644 --- a/goal_src/levels/swamp/swamp-bat.gc +++ b/goal_src/levels/swamp/swamp-bat.gc @@ -9,6 +9,7 @@ (declare-type swamp-bat process-drawable) ;; DECOMP BEGINS + (import "goal_src/import/swamp-bat-ag.gc") (deftype swamp-bat-idle-path (structure) @@ -188,10 +189,8 @@ swamp-bat-slave-event-handler ) (defstate swamp-bat-slave-idle (swamp-bat-slave) - :event - swamp-bat-slave-event-handler - :code - (behavior () + :event swamp-bat-slave-event-handler + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self launch-ready) #f) (ja-channel-push! 1 (seconds 0.165)) @@ -255,15 +254,12 @@ swamp-bat-slave-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-post) + :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-post) ) (defstate swamp-bat-slave-launch (swamp-bat-slave) - :event - swamp-bat-slave-event-handler - :code - (behavior () + :event swamp-bat-slave-event-handler + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self launch-ready) #f) (ja-channel-push! 1 (seconds 0.1)) @@ -289,15 +285,12 @@ swamp-bat-slave-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-post) + :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-post) ) (defstate swamp-bat-slave-swoop (swamp-bat-slave) - :event - swamp-bat-slave-event-handler - :code - (behavior () + :event swamp-bat-slave-event-handler + :code (behavior () (set! (-> self strafe-envelope) 0.0) (ja-channel-push! 1 (seconds 0.1)) (ja :group! swamp-bat-notice-ja :num! min) @@ -320,15 +313,12 @@ swamp-bat-slave-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-path-post) + :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-path-post) ) (defstate swamp-bat-slave-strafe (swamp-bat-slave) - :event - swamp-bat-slave-event-handler - :code - (behavior () + :event swamp-bat-slave-event-handler + :code (behavior () (set! (-> self strafe-envelope) 20480.0) (ja-channel-push! 1 (seconds 0.1)) (ja :group! swamp-bat-strafe-ja) @@ -341,15 +331,12 @@ swamp-bat-slave-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-path-post) + :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-path-post) ) (defstate swamp-bat-slave-return (swamp-bat-slave) - :event - swamp-bat-slave-event-handler - :code - (behavior () + :event swamp-bat-slave-event-handler + :code (behavior () (set! (-> self strafe-envelope) 0.0) (ja-channel-push! 1 (seconds 0.075)) (ja :group! swamp-bat-strafe-ja) @@ -375,18 +362,15 @@ swamp-bat-slave-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-path-post) + :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-path-post) ) (defstate swamp-bat-slave-die (swamp-bat-slave) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior swamp-bat-slave) process-drawable-death-event-handler ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (ja-channel-push! 1 (seconds 0.07)) (let ((gp-0 (new-stack-vector0))) (let ((v1-1 (handle->process arg0))) @@ -406,8 +390,7 @@ swamp-bat-slave-event-handler (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-post) + :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-post) ) (defbehavior swamp-bat-slave-init-by-other swamp-bat-slave ((arg0 swamp-bat-slave) (arg1 int)) @@ -531,10 +514,8 @@ swamp-bat-slave-event-handler ) (defstate swamp-bat-idle (swamp-bat) - :trans - swamp-bat-debug - :code - (behavior () + :trans swamp-bat-debug + :code (behavior () (when (zero? (-> self path-count)) (process-entity-status! self (entity-perm-status dead) #t) (deactivate self) @@ -563,8 +544,7 @@ swamp-bat-slave-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-bat) #f) + :post (the-as (function none :behavior swamp-bat) #f) ) (defbehavior swamp-bat-launch-slave swamp-bat () @@ -585,10 +565,8 @@ swamp-bat-slave-event-handler ) (defstate swamp-bat-launch-slaves (swamp-bat) - :trans - swamp-bat-debug - :code - (behavior () + :trans swamp-bat-debug + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (loop (swamp-bat-update-path) @@ -602,8 +580,7 @@ swamp-bat-slave-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-bat) #f) + :post (the-as (function none :behavior swamp-bat) #f) ) (defmethod init-from-entity! swamp-bat ((obj swamp-bat) (arg0 entity-actor)) @@ -646,15 +623,7 @@ swamp-bat-slave-event-handler (swamp-bat-setup-new-path 0) (swamp-bat-update-path) (dotimes (s5-1 (-> obj slave-count)) - (let ((s4-1 (get-process *default-dead-pool* swamp-bat-slave 4512))) - (when s4-1 - (let ((t9-16 (method-of-type swamp-bat-slave activate))) - (t9-16 (the-as swamp-bat-slave s4-1) obj 'swamp-bat-slave (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 swamp-bat-slave-init-by-other obj s5-1) - (-> s4-1 ppointer) - ) - ) + (process-spawn swamp-bat-slave obj s5-1 :to obj :stack-size 4512) ) (go swamp-bat-idle) (none) diff --git a/goal_src/levels/swamp/swamp-obs.gc b/goal_src/levels/swamp/swamp-obs.gc index 407542f476..cf8890d731 100644 --- a/goal_src/levels/swamp/swamp-obs.gc +++ b/goal_src/levels/swamp/swamp-obs.gc @@ -19,27 +19,26 @@ (define-extern swamp-spike-gate-down (state swampgate)) ;; DECOMP BEGINS + (import "goal_src/import/swamp-rock-ag.gc") (import "goal_src/import/swamp-spike-ag.gc") (import "goal_src/import/swampcam-ag.gc") -(import "goal_src/import/balance-plat-ag.gc") (import "goal_src/import/tar-plat-ag.gc") +(import "goal_src/import/balance-plat-ag.gc") (defpartgroup group-swamp-spike-up :id 289 :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1325 :fade-after (meters 120) :falloff-to (meters 120)) + :parts ((sp-item 1325 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1326 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1327 :fade-after (meters 60) :falloff-to (meters 60)) ) ) (defpart 1325 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-int-flt spt-x (meters -2) 2 8192.0) (sp-flt spt-y (meters 0.75)) @@ -64,13 +63,11 @@ ) (defpart 1328 - :init-specs - ((sp-flt spt-fade-a -0.32)) + :init-specs ((sp-flt spt-fade-a -0.32)) ) (defpart 1326 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-int-flt spt-x (meters -2) 2 8192.0) (sp-flt spt-y (meters -0.75)) @@ -95,8 +92,7 @@ ) (defpart 1327 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-int-flt spt-x (meters -2) 2 8192.0) (sp-flt spt-y (meters 0.25)) @@ -126,8 +122,7 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1325 :fade-after (meters 120) :falloff-to (meters 120)) + :parts ((sp-item 1325 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1326 :fade-after (meters 120) :falloff-to (meters 120)) ) ) @@ -198,10 +193,8 @@ ) (defstate swamp-spike-idle (swamp-spike) - :event - swamp-spike-default-event-handler - :code - (behavior () + :event swamp-spike-default-event-handler + :code (behavior () (set! (-> self dangerous) #f) (let ((gp-0 (new 'stack-no-clear 'vector))) (new 'stack-no-clear 'vector) @@ -236,26 +229,19 @@ (suspend) (ja :num! (seek!)) ) - (when (logtest? (-> self draw status) (draw-status was-drawn)) - (let ((s5-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-3 - (let ((t9-11 (method-of-type part-tracker activate))) - (t9-11 (the-as part-tracker s5-3) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-3 - part-tracker-init - (-> *part-group-id-table* 289) - -1 - swamp-spike-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root-override trans) - ) - (-> s5-3 ppointer) + (if (logtest? (-> self draw status) (draw-status was-drawn)) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 289) + -1 + swamp-spike-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root-override trans) + :to self ) ) - ) (set! (-> self dangerous) #t) (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -268,26 +254,19 @@ (until (< (get-current-phase (-> self sync)) 0.5) (suspend) ) - (when (logtest? (-> self draw status) (draw-status was-drawn)) - (let ((s5-4 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-4 - (let ((t9-18 (method-of-type part-tracker activate))) - (t9-18 (the-as part-tracker s5-4) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-4 - part-tracker-init - (-> *part-group-id-table* 290) - -1 - swamp-spike-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root-override trans) - ) - (-> s5-4 ppointer) + (if (logtest? (-> self draw status) (draw-status was-drawn)) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 290) + -1 + swamp-spike-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root-override trans) + :to self ) ) - ) (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -300,13 +279,11 @@ ) (none) ) - :post - swamp-spike-post + :post swamp-spike-post ) (defstate swamp-spike-gate-up (swampgate) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'trigger) (let ((v0-0 #t)) @@ -317,31 +294,23 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (ja :group! (-> self draw art-group data 4)) (until (-> self open-gate) (ja :num-func num-func-identity :frame-num 0.0) (suspend) ) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 290) - -1 - swamp-spike-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 290) + -1 + swamp-spike-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root-override trans) + :to self ) (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -351,19 +320,16 @@ (go swamp-spike-gate-down) (none) ) - :post - (the-as (function none :behavior swampgate) swamp-spike-post) + :post (the-as (function none :behavior swampgate) swamp-spike-post) ) (defstate swamp-spike-gate-down (swampgate) - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior swampgate) swamp-spike-post) + :post (the-as (function none :behavior swampgate) swamp-spike-post) ) (defmethod init! swamp-spike ((obj swamp-spike)) @@ -459,8 +425,7 @@ ) (defstate balance-plat-idle (balance-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'grow) (let ((v0-0 #t)) @@ -471,17 +436,15 @@ ) ) ) - :trans - (the-as (function none :behavior balance-plat) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior balance-plat) rider-trans) + :code (behavior () (loop (let ((f30-0 (* -0.025 (+ (-> self y-offset) (-> self y-travel)))) (f28-0 (* -0.025 (- (-> self y-offset) (-> self y-travel)))) ) (cond ((and (-> self root-override riders) (nonzero? (-> self root-override riders num-riders))) - (send-event *target* 'no-look-around 75) + (send-event *target* 'no-look-around (seconds 0.25)) (set! (-> self y-accel) (fmin 4.096 (fmax -4.096 (+ -0.2048 (-> self y-accel))))) (set! (-> self y-vel) (fmin f28-0 (fmax f30-0 (+ (-> self y-vel) (-> self y-accel))))) (send-to-all-after (-> self link) 'grow) @@ -514,8 +477,7 @@ ) (none) ) - :post - (the-as (function none :behavior balance-plat) rider-post) + :post (the-as (function none :behavior balance-plat) rider-post) ) (defmethod init-from-entity! balance-plat ((obj balance-plat) (arg0 entity-actor)) @@ -572,16 +534,14 @@ :duration 300 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1330 :period 1500 :length 5) + :parts ((sp-item 1330 :period 1500 :length 5) (sp-item 1331 :period 1500 :length 5) (sp-item 1332 :period 1500 :length 15) ) ) (defpart 1331 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 15)) (sp-copy-from-other spt-scale-y -4) @@ -596,8 +556,7 @@ ) (defpart 1330 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 16.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -620,8 +579,7 @@ ) (defpart 1332 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) @@ -645,8 +603,7 @@ ) (defpart 1333 - :init-specs - ((sp-flt spt-fade-a -0.2)) + :init-specs ((sp-flt spt-fade-a -0.2)) ) (defskelgroup *swamp-rock-sg* swamp-rock swamp-rock-lod0-jg swamp-rock-idle-ja @@ -655,30 +612,29 @@ ) (defstate swamp-rock-break (swamp-rock) - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (sound-play-by-name (static-sound-name "rock-break") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 291) -1 #f #f #f (-> self root trans)) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 291) + -1 + #f + #f + #f + (-> self root trans) + :to *entity-pool* ) (cleanup-for-death self) (deactivate self) (none) ) - :post - (the-as (function none :behavior swamp-rock) ja-post) + :post (the-as (function none :behavior swamp-rock) ja-post) ) (defstate swamp-rock-idle (swamp-rock) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (if (and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) @@ -687,8 +643,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (transform-post) (loop (logior! (-> self mask) (process-mask sleep)) @@ -814,31 +769,26 @@ (defstate rigid-body-platform-idle (tar-plat) :virtual #t - :enter - (behavior () + :enter (behavior () (ja-channel-set! 0) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior tar-plat) ja-post) + :post (the-as (function none :behavior tar-plat) ja-post) ) (defstate rigid-body-platform-float (tar-plat) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior tar-plat) rigid-body-platform-event-handler ) - :trans - (behavior () + :trans (behavior () (cond ((or (not *target*) (< (-> self info idle-distance) (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) @@ -857,8 +807,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja :group! (-> self draw art-group data 3)) (ja :num-func num-func-identity :frame-num 0.0) @@ -867,8 +816,7 @@ ) (none) ) - :post - (the-as (function none :behavior tar-plat) rigid-body-platform-post) + :post (the-as (function none :behavior tar-plat) rigid-body-platform-post) ) (defmethod TODO-RENAME-30 tar-plat ((obj tar-plat)) @@ -955,23 +903,14 @@ (defstate battlecontroller-play-intro-camera (swamp-battlecontroller) :virtual #t - :code - (behavior () + :code (behavior () (suspend) (process-drawable-delay-player (seconds 1)) - (let* ((gp-0 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-1 - (ppointer->handle - (when gp-0 - (let ((t9-2 (method-of-type pov-camera activate))) - (t9-2 (the-as pov-camera gp-0) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 pov-camera-init-by-other (-> self root trans) *swampcam-sg* "swamp-ambush" 0 #f '()) - (-> gp-0 ppointer) - ) - ) - ) - ) + (let ((gp-1 (ppointer->handle + (process-spawn pov-camera (-> self root trans) *swampcam-sg* "swamp-ambush" 0 #f '() :to self) + ) + ) + ) (while (handle->process (the-as handle gp-1)) (suspend) ) @@ -983,8 +922,7 @@ (defstate battlecontroller-die (swamp-battlecontroller) :virtual #t - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) ((the-as (function none :behavior battlecontroller) diff --git a/goal_src/levels/swamp/swamp-part.gc b/goal_src/levels/swamp/swamp-part.gc index cf4ac648e5..5453bc2a4f 100644 --- a/goal_src/levels/swamp/swamp-part.gc +++ b/goal_src/levels/swamp/swamp-part.gc @@ -19,8 +19,7 @@ (defpartgroup group-swamp-bayou-billy-hut :id 302 :bounds (static-bspherem -4 -3 0 12) - :parts - ((sp-item 1377 :fade-after (meters 175) :falloff-to (meters 175) :period 1500 :length 300) + :parts ((sp-item 1377 :fade-after (meters 175) :falloff-to (meters 175) :period 1500 :length 300) (sp-item 1377 :fade-after (meters 175) :falloff-to (meters 175) :period 2928 :length 360) (sp-item 1377 :fade-after (meters 175) :falloff-to (meters 175) :period 4602 :length 180) (sp-item 1378 :fade-after (meters 175) :falloff-to (meters 175) :period 1500 :length 300) @@ -100,8 +99,7 @@ ) (defpart 2305 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-x (meters 6)) (sp-flt spt-y (meters -13)) @@ -118,13 +116,11 @@ ) (defpart 2308 - :init-specs - ((sp-int spt-timer 300) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 2308)) + :init-specs ((sp-int spt-timer 300) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 2308)) ) (defpart 2306 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-x (meters 5)) (sp-flt spt-y (meters -13.5)) @@ -141,8 +137,7 @@ ) (defpart 2307 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-x (meters 6.5)) (sp-flt spt-y (meters -12.5)) @@ -159,8 +154,7 @@ ) (defpart 2303 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-int spt-num 1065353216 1 2.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.5) (meters 1) 1.0) @@ -182,8 +176,7 @@ ) (defpart 2304 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 3.0) (sp-flt spt-scale-x (meters 0.075)) @@ -199,8 +192,7 @@ ) (defpart 1384 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 15) (meters 30) 1.0) (sp-rnd-flt spt-y (meters 14) (meters 3) 1.0) @@ -221,8 +213,7 @@ ) (defpart 1385 - :init-specs - ((sp-flt spt-g 128.0) + :init-specs ((sp-flt spt-g 128.0) (sp-flt spt-vel-x (meters 0)) (sp-flt spt-vel-y (meters 0)) (sp-flt spt-vel-z (meters 0)) @@ -235,16 +226,14 @@ ) (defpart 1386 - :init-specs - ((sp-flt spt-b 128.0) + :init-specs ((sp-flt spt-b 128.0) (sp-rnd-int spt-accel-x -1070677186 1 5.4613333) (sp-rnd-int spt-accel-z -1070677186 1 5.4613333) ) ) (defpart 1383 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 15) (meters 30) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 3) 1.0) @@ -265,8 +254,7 @@ ) (defpart 1375 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -290,8 +278,7 @@ ) (defpart 1387 - :init-specs - ((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) + :init-specs ((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) (sp-int-plain-rnd spt-next-time 150 449 1) @@ -300,8 +287,7 @@ ) (defpart 1376 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 4.0) (sp-flt spt-scale-x (meters 1)) @@ -318,8 +304,7 @@ ) (defpart 1377 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-flt spt-y (meters -0.25)) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) @@ -350,8 +335,7 @@ ) (defpart 1378 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.9 1.0) (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -379,8 +363,7 @@ ) (defpart 1379 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-flt spt-y (meters -0.25)) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) @@ -411,8 +394,7 @@ ) (defpart 1380 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -440,8 +422,7 @@ ) (defpart 1381 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.9 1.0) (sp-flt spt-x (meters -7.8)) (sp-flt spt-y (meters -8.5)) @@ -471,8 +452,7 @@ ) (defpart 1382 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-flt spt-x (meters -7.8)) (sp-flt spt-y (meters -8.5)) @@ -504,8 +484,7 @@ (defpartgroup group-swamp-bubbles-01 :id 303 :bounds (static-bspherem 0 0 -8 30) - :parts - ((sp-item 1390 :fade-after (meters 125) :period 150 :length 5 :binding 1388) + :parts ((sp-item 1390 :fade-after (meters 125) :period 150 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -559,8 +538,7 @@ ) (defpart 1390 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 35) 1.0) (sp-rnd-flt spt-z (meters -35) (meters 55) 1.0) @@ -574,8 +552,7 @@ ) (defpart 1388 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x20 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x20 :page #x2)) (sp-rnd-flt spt-num 0.05 0.1 1.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-z (meters -2) (meters 4) 1.0) @@ -596,18 +573,15 @@ ) (defpart 1391 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 1050) (sp-launcher-by-id spt-next-launcher 1392)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 1050) (sp-launcher-by-id spt-next-launcher 1392)) ) (defpart 1392 - :init-specs - ((sp-flt spt-g 0.0) (sp-flt spt-b 0.0) (sp-flt spt-a 0.0) (sp-int spt-timer 5)) + :init-specs ((sp-flt spt-g 0.0) (sp-flt spt-b 0.0) (sp-flt spt-a 0.0) (sp-int spt-timer 5)) ) (defpart 1389 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -624,8 +598,7 @@ ) (defpart 1393 - :init-specs - ((sp-rnd-flt spt-a 8.0 32.0 1.0) + :init-specs ((sp-rnd-flt spt-a 8.0 32.0 1.0) (sp-flt spt-scalevel-x (meters 0.04)) (sp-copy-from-other spt-scalevel-y -4) (sp-int spt-timer 5) @@ -635,8 +608,7 @@ (defpartgroup group-swamp-bubbles-02 :id 304 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1394 :fade-after (meters 125) :period 450 :length 5 :binding 1388) + :parts ((sp-item 1394 :fade-after (meters 125) :period 450 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -673,8 +645,7 @@ ) (defpart 1394 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -8) (meters 16) 1.0) (sp-rnd-flt spt-z (meters -20) (meters 40) 1.0) @@ -691,8 +662,7 @@ (defpartgroup group-swamp-bubbles-03 :id 305 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1395 :fade-after (meters 125) :period 450 :length 5 :binding 1388) + :parts ((sp-item 1395 :fade-after (meters 125) :period 450 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -746,8 +716,7 @@ ) (defpart 1395 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -4) (meters 12) 1.0) (sp-rnd-flt spt-z (meters -40) (meters 60) 1.0) @@ -764,8 +733,7 @@ (defpartgroup group-swamp-bubbles-04 :id 306 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1396 :fade-after (meters 125) :period 150 :length 5 :binding 1388) + :parts ((sp-item 1396 :fade-after (meters 125) :period 150 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -819,8 +787,7 @@ ) (defpart 1396 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -35) (meters 60) 1.0) (sp-rnd-flt spt-z (meters -12) (meters 18) 1.0) @@ -837,8 +804,7 @@ (defpartgroup group-swamp-bubbles-05 :id 307 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1397 :fade-after (meters 125) :period 600 :length 5 :binding 1388) + :parts ((sp-item 1397 :fade-after (meters 125) :period 600 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1389 :flags (start-dead launch-asap)) @@ -861,8 +827,7 @@ ) (defpart 1397 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-rnd-flt spt-z (meters -6) (meters 12) 1.0) @@ -879,8 +844,7 @@ (defpartgroup group-swamp-bubbles-06 :id 308 :bounds (static-bspherem 0 0 0 40) - :parts - ((sp-item 1398 :fade-after (meters 200) :period 120 :length 5 :binding 1388) + :parts ((sp-item 1398 :fade-after (meters 200) :period 120 :length 5 :binding 1388) (sp-item 1399 :fade-after (meters 200) :period 450 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -953,8 +917,7 @@ ) (defpart 1398 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -45) (meters 80) 1.0) (sp-rnd-flt spt-z (meters -20) (meters 40) 1.0) @@ -969,8 +932,7 @@ ) (defpart 1399 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 40) 1.0) (sp-rnd-flt spt-z (meters 18) (meters 15) 1.0) @@ -987,8 +949,7 @@ (defpartgroup group-swamp-bubbles-07 :id 309 :bounds (static-bspherem 0 0 0 40) - :parts - ((sp-item 1400 :fade-after (meters 125) :period 450 :length 5 :binding 1388) + :parts ((sp-item 1400 :fade-after (meters 125) :period 450 :length 5 :binding 1388) (sp-item 1401 :fade-after (meters 125) :period 450 :length 5 :binding 1388) (sp-item 1402 :fade-after (meters 125) :period 450 :length 5 :binding 1388) (sp-item 1403 :fade-after (meters 125) :period 600 :length 5 :binding 1388) @@ -1063,8 +1024,7 @@ ) (defpart 1400 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 15) 1.0) (sp-rnd-flt spt-z (meters -8) (meters 38) 1.0) @@ -1079,8 +1039,7 @@ ) (defpart 1401 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -17.5) (meters 10) 1.0) (sp-rnd-flt spt-z (meters -15) (meters 50) 1.0) @@ -1095,8 +1054,7 @@ ) (defpart 1402 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 45) 1.0) (sp-rnd-flt spt-z (meters 21) (meters 8) 1.0) @@ -1111,8 +1069,7 @@ ) (defpart 1403 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -33) (meters 6) 1.0) (sp-rnd-flt spt-z (meters -25) (meters 25) 1.0) @@ -1130,8 +1087,7 @@ (defpartgroup group-swamp-bubbles-08 :id 310 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1404 :fade-after (meters 125) :period 150 :length 5 :binding 1388) + :parts ((sp-item 1404 :fade-after (meters 125) :period 150 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -1173,8 +1129,7 @@ ) (defpart 1404 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -18) (meters 45) 1.0) (sp-rnd-flt spt-z (meters -25) (meters 40) 1.0) @@ -1191,8 +1146,7 @@ (defpartgroup group-swamp-bubbles-09 :id 311 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1405 :fade-after (meters 125) :period 450 :length 5 :binding 1388) + :parts ((sp-item 1405 :fade-after (meters 125) :period 450 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -1221,8 +1175,7 @@ ) (defpart 1405 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 42) 1.0) (sp-rnd-flt spt-z (meters -10) (meters 18) 1.0) @@ -1239,8 +1192,7 @@ (defpartgroup group-swamp-bubbles-10 :id 312 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1406 :fade-after (meters 125) :period 450 :length 5 :binding 1388) + :parts ((sp-item 1406 :fade-after (meters 125) :period 450 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -1282,8 +1234,7 @@ ) (defpart 1406 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -30) (meters 52) 1.0) (sp-rnd-flt spt-z (meters -10) (meters 18) 1.0) @@ -1300,8 +1251,7 @@ (defpartgroup group-swamp-bubbles-11 :id 313 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1407 :fade-after (meters 125) :period 450 :length 5 :binding 1388) + :parts ((sp-item 1407 :fade-after (meters 125) :period 450 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -1343,8 +1293,7 @@ ) (defpart 1407 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -14) (meters 22) 1.0) (sp-rnd-flt spt-z (meters -13) (meters 30) 1.0) @@ -1361,8 +1310,7 @@ (defpartgroup group-swamp-bubbles-12 :id 314 :bounds (static-bspherem 0 0 0 40) - :parts - ((sp-item 1408 :fade-after (meters 125) :period 150 :length 5 :binding 1388) + :parts ((sp-item 1408 :fade-after (meters 125) :period 150 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -1391,8 +1339,7 @@ ) (defpart 1408 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 33) 1.0) (sp-rnd-flt spt-z (meters -13) (meters 70) 1.0) @@ -1409,8 +1356,7 @@ (defpartgroup group-swamp-bubbles-13 :id 315 :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 1409 :fade-after (meters 125) :period 600 :length 5 :binding 1388) + :parts ((sp-item 1409 :fade-after (meters 125) :period 600 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -1439,8 +1385,7 @@ ) (defpart 1409 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -8) (meters 20) 1.0) (sp-rnd-flt spt-z (meters -8) (meters 20) 1.0) @@ -1457,8 +1402,7 @@ (defpartgroup group-swamp-bubbles-14 :id 316 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1410 :fade-after (meters 125) :period 120 :length 5 :binding 1388) + :parts ((sp-item 1410 :fade-after (meters 125) :period 120 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -1500,8 +1444,7 @@ ) (defpart 1410 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -35) (meters 50) 1.0) (sp-rnd-flt spt-z (meters -40) (meters 55) 1.0) @@ -1518,8 +1461,7 @@ (defpartgroup group-swamp-torch :id 317 :bounds (static-bspherem 0 3 0 4) - :parts - ((sp-item 1411 :fade-after (meters 200) :falloff-to (meters 220)) + :parts ((sp-item 1411 :fade-after (meters 200) :falloff-to (meters 220)) (sp-item 1412 :fade-after (meters 140) :falloff-to (meters 140)) (sp-item 1413 :fade-after (meters 50) :falloff-to (meters 50) :period 600 :length 90) (sp-item 1414 :fade-after (meters 50) :falloff-to (meters 50) :period 369 :length 69) @@ -1529,8 +1471,7 @@ ) (defpart 1416 - :init-specs - ((sp-flt spt-num 0.3) + :init-specs ((sp-flt spt-num 0.3) (sp-flt spt-x (meters 0.2)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) (sp-int spt-rot-x 5) @@ -1548,13 +1489,11 @@ ) (defpart 1417 - :init-specs - ((sp-flt spt-fade-b -6.826667)) + :init-specs ((sp-flt spt-fade-b -6.826667)) ) (defpart 1411 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1069547520 1 1.0) (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) (sp-rnd-flt spt-z (meters -0.35) (meters 0.7) 1.0) @@ -1576,13 +1515,11 @@ ) (defpart 1418 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) (defpart 1413 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-flt spt-y (meters 1)) @@ -1605,8 +1542,7 @@ ) (defpart 1414 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1629,8 +1565,7 @@ ) (defpart 1415 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0) (sp-flt spt-y (meters 0.6)) @@ -1653,8 +1588,7 @@ ) (defpart 1412 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.3)) diff --git a/goal_src/levels/swamp/swamp-rat-nest.gc b/goal_src/levels/swamp/swamp-rat-nest.gc index a9fc02f447..e684249081 100644 --- a/goal_src/levels/swamp/swamp-rat-nest.gc +++ b/goal_src/levels/swamp/swamp-rat-nest.gc @@ -10,6 +10,7 @@ (declare-type swamp-rat-nest process-drawable) ;; DECOMP BEGINS + (import "goal_src/import/swamp-rat-nest-ag.gc") (defpartgroup group-swamp-rat-nest-a-explosion @@ -17,8 +18,7 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1334) (sp-item 1335) (sp-item 1336) (sp-item 1337) (sp-item 1338) (sp-item 1339)) + :parts ((sp-item 1334) (sp-item 1335) (sp-item 1336) (sp-item 1337) (sp-item 1338) (sp-item 1339)) ) (defpartgroup group-swamp-rat-nest-b-explosion @@ -26,8 +26,7 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1342) (sp-item 1339) (sp-item 1337) (sp-item 1334)) + :parts ((sp-item 1342) (sp-item 1339) (sp-item 1337) (sp-item 1334)) ) (defpartgroup group-swamp-rat-nest-c-explosion @@ -35,37 +34,32 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1335) (sp-item 1339) (sp-item 1337) (sp-item 1334)) + :parts ((sp-item 1335) (sp-item 1339) (sp-item 1337) (sp-item 1334)) ) (defpartgroup group-swamp-rat-nest-a-puff :id 295 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1346) (sp-item 1347) (sp-item 1348)) + :parts ((sp-item 1346) (sp-item 1347) (sp-item 1348)) ) (defpartgroup group-swamp-rat-nest-b-puff :id 296 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1350) (sp-item 1351)) + :parts ((sp-item 1350) (sp-item 1351)) ) (defpartgroup group-swamp-rat-nest-c-puff :id 297 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1353) (sp-item 1354)) + :parts ((sp-item 1353) (sp-item 1354)) ) (defpart 1353 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -90,8 +84,7 @@ ) (defpart 1354 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.05) 1.0) @@ -114,8 +107,7 @@ ) (defpart 1355 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -4.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -140,8 +132,7 @@ ) (defpart 1350 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -166,8 +157,7 @@ ) (defpart 1351 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -1) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.05) 1.0) @@ -190,8 +180,7 @@ ) (defpart 1352 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -10.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -216,8 +205,7 @@ ) (defpart 1334 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 16)) @@ -234,8 +222,7 @@ ) (defpart 1341 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -12)) (sp-flt spt-scale-x (meters 16)) @@ -252,8 +239,7 @@ ) (defpart 1339 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 8.0 1.0) (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.75) (meters 1) 1.0) @@ -279,8 +265,7 @@ ) (defpart 1335 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 16.0 8.0 1.0) (sp-rnd-flt spt-y (meters -2) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -305,8 +290,7 @@ ) (defpart 1340 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 10.0 5.0 1.0) (sp-rnd-flt spt-y (meters -12) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -331,8 +315,7 @@ ) (defpart 1336 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 12.0 8.0 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -357,8 +340,7 @@ ) (defpart 1337 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-y (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.6) 1.0) @@ -382,8 +364,7 @@ ) (defpart 1338 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 32.0 32.0 1.0) (sp-rnd-flt spt-y (meters 2) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.5) 1.0) @@ -407,8 +388,7 @@ ) (defpart 1346 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -433,8 +413,7 @@ ) (defpart 1349 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -12) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -459,8 +438,7 @@ ) (defpart 1347 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.05) 1.0) @@ -483,8 +461,7 @@ ) (defpart 1348 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-y (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.5) 1.0) @@ -507,8 +484,7 @@ ) (defpart 1342 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 20.0 8.0 1.0) (sp-rnd-flt spt-y (meters -3.5) (meters 2.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -533,8 +509,7 @@ ) (defpart 1343 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 16.0 5.0 1.0) (sp-rnd-flt spt-y (meters -10.5) (meters 2.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -559,8 +534,7 @@ ) (defpart 1344 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num -5.0) (sp-flt spt-y (meters -12)) (sp-flt spt-scale-x (meters 16)) @@ -577,8 +551,7 @@ ) (defpart 1345 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 12.0 4.0 1.0) (sp-rnd-flt spt-y (meters -4) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -720,7 +693,7 @@ ((and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) (swamp-rat-nest-dummy-take-damage 3) (if (< (vector-vector-distance (target-pos 0) (-> self top-sphere)) (-> self top-sphere w)) - (send-event *target* 'no-look-around 75) + (send-event *target* 'no-look-around (seconds 0.25)) ) (go swamp-rat-nest-dummy-hit) ) @@ -743,33 +716,27 @@ ) (defstate swamp-rat-nest-dummy-idle (swamp-rat-nest-dummy) - :event - swamp-rat-nest-dummy-event-handler - :code - (behavior () + :event swamp-rat-nest-dummy-event-handler + :code (behavior () (loop (ja :num-func num-func-identity :frame-num max) (suspend) ) (none) ) - :post - (the-as (function none :behavior swamp-rat-nest-dummy) transform-post) + :post (the-as (function none :behavior swamp-rat-nest-dummy) transform-post) ) (defstate swamp-rat-nest-dummy-hit (swamp-rat-nest-dummy) - :event - swamp-rat-nest-dummy-event-handler - :enter - (behavior () + :event swamp-rat-nest-dummy-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (if (<= (-> self parent-process 0 hit-points) 0) (go swamp-rat-nest-dummy-die) ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (< (-> self parent-process 0 hit-points) 3) @@ -781,15 +748,12 @@ (go swamp-rat-nest-dummy-idle) (none) ) - :post - (the-as (function none :behavior swamp-rat-nest-dummy) transform-post) + :post (the-as (function none :behavior swamp-rat-nest-dummy) transform-post) ) (defstate swamp-rat-nest-dummy-shake (swamp-rat-nest-dummy) - :event - swamp-rat-nest-dummy-event-handler - :code - (behavior () + :event swamp-rat-nest-dummy-event-handler + :code (behavior () (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -798,34 +762,24 @@ (go swamp-rat-nest-dummy-idle) (none) ) - :post - (the-as (function none :behavior swamp-rat-nest-dummy) transform-post) + :post (the-as (function none :behavior swamp-rat-nest-dummy) transform-post) ) (defstate swamp-rat-nest-dummy-die (swamp-rat-nest-dummy) - :event - (the-as (function process int symbol event-message-block object :behavior swamp-rat-nest-dummy) #f) - :code - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior swamp-rat-nest-dummy) #f) + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self parent-process 0 dummy) (the-as (pointer swamp-rat-nest-dummy) #f)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> self death-part) - -1 - #f - #f - #f - (-> self node-list data (-> self particle-spawn-joint) bone transform vector 3) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> self death-part) + -1 + #f + #f + #f + (-> self node-list data (-> self particle-spawn-joint) bone transform vector 3) + :to *entity-pool* ) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (suspend) @@ -913,15 +867,8 @@ swamp-rat-nest-default-event-handler 9 ) ) - (s3-0 (get-process *default-dead-pool* swamp-rat #x4000)) ) - (when s3-0 - (let ((t9-3 (method-of-type swamp-rat activate))) - (t9-3 (the-as swamp-rat s3-0) self 'swamp-rat (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 swamp-rat-init-by-other self gp-0 s5-0 s4-0 t2-0) - (-> s3-0 ppointer) - ) + (process-spawn swamp-rat self gp-0 s5-0 s4-0 t2-0 :to self) ) ) ) @@ -932,52 +879,19 @@ swamp-rat-nest-default-event-handler (let ((v1-1 (-> self dummy-type))) (cond ((zero? v1-1) - (let ((gp-0 (get-process *default-dead-pool* swamp-rat-nest-dummy-a #x4000))) - (set! (-> self dummy) - (the-as - (pointer swamp-rat-nest-dummy) - (when gp-0 - (let ((t9-1 (method-of-type swamp-rat-nest-dummy-a activate))) - (t9-1 (the-as swamp-rat-nest-dummy-a gp-0) self 'swamp-rat-nest-dummy-a (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 swamp-rat-nest-dummy-init-by-other self) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! (-> self dummy) + (process-spawn swamp-rat-nest-dummy-a :init swamp-rat-nest-dummy-init-by-other self :to self) + ) ) ((= v1-1 1) - (let ((gp-1 (get-process *default-dead-pool* swamp-rat-nest-dummy-b #x4000))) - (set! (-> self dummy) - (the-as - (pointer swamp-rat-nest-dummy) - (when gp-1 - (let ((t9-4 (method-of-type swamp-rat-nest-dummy-b activate))) - (t9-4 (the-as swamp-rat-nest-dummy-b gp-1) self 'swamp-rat-nest-dummy-b (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 swamp-rat-nest-dummy-init-by-other self) - (-> gp-1 ppointer) - ) - ) - ) - ) + (set! (-> self dummy) + (process-spawn swamp-rat-nest-dummy-b :init swamp-rat-nest-dummy-init-by-other self :to self) + ) ) ((= v1-1 2) - (let ((gp-2 (get-process *default-dead-pool* swamp-rat-nest-dummy-c #x4000))) - (set! (-> self dummy) - (the-as - (pointer swamp-rat-nest-dummy) - (when gp-2 - (let ((t9-7 (method-of-type swamp-rat-nest-dummy-c activate))) - (t9-7 (the-as swamp-rat-nest-dummy-c gp-2) self 'swamp-rat-nest-dummy-c (the-as pointer #x70004000)) - ) - (run-now-in-process gp-2 swamp-rat-nest-dummy-init-by-other self) - (-> gp-2 ppointer) - ) - ) - ) - ) + (set! (-> self dummy) + (process-spawn swamp-rat-nest-dummy-c :init swamp-rat-nest-dummy-init-by-other self :to self) + ) ) (else (go swamp-rat-nest-die) @@ -991,21 +905,18 @@ swamp-rat-nest-default-event-handler ) (defstate swamp-rat-nest-idle (swamp-rat-nest) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hit) (go swamp-rat-nest-active) ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= (-> self fact-override idle-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans)) ) @@ -1014,28 +925,23 @@ swamp-rat-nest-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (swamp-rat-nest-check-dummy) (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior swamp-rat-nest) #f) + :post (the-as (function none :behavior swamp-rat-nest) #f) ) (defstate swamp-rat-nest-active (swamp-rat-nest) - :event - swamp-rat-nest-default-event-handler - :enter - (behavior () + :event swamp-rat-nest-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (swamp-rat-nest-check-dummy) (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self test-interval)) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -1056,27 +962,22 @@ swamp-rat-nest-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior swamp-rat-nest) #f) + :post (the-as (function none :behavior swamp-rat-nest) #f) ) (defstate swamp-rat-nest-gestate (swamp-rat-nest) - :event - swamp-rat-nest-default-event-handler - :enter - (behavior () + :event swamp-rat-nest-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (swamp-rat-nest-check-dummy) (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (the int (* (-> self spawn-period-scale) (-> self spawn-period))) @@ -1087,22 +988,18 @@ swamp-rat-nest-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior swamp-rat-nest) #f) + :post (the-as (function none :behavior swamp-rat-nest) #f) ) (defstate swamp-rat-nest-victory (swamp-rat-nest) - :event - (the-as (function process int symbol event-message-block object :behavior swamp-rat-nest) #f) - :code - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior swamp-rat-nest) #f) + :code (behavior () (let ((gp-0 (the-as (pointer process-tree) (-> self child-process)))) (while gp-0 (let* ((s5-0 (ppointer->process gp-0)) @@ -1121,15 +1018,12 @@ swamp-rat-nest-default-event-handler (go swamp-rat-nest-active) (none) ) - :post - (the-as (function none :behavior swamp-rat-nest) #f) + :post (the-as (function none :behavior swamp-rat-nest) #f) ) (defstate swamp-rat-nest-die (swamp-rat-nest) - :event - swamp-rat-nest-default-event-handler - :code - (behavior () + :event swamp-rat-nest-default-event-handler + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (process-entity-status! self (entity-perm-status dead) #t) (drop-pickup (-> self fact-override) #t *entity-pool* (-> self fact-override) 0) @@ -1138,8 +1032,7 @@ swamp-rat-nest-default-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-rat-nest) #f) + :post (the-as (function none :behavior swamp-rat-nest) #f) ) (defmethod init-from-entity! swamp-rat-nest ((obj swamp-rat-nest) (arg0 entity-actor)) diff --git a/goal_src/levels/swamp/swamp-rat.gc b/goal_src/levels/swamp/swamp-rat.gc index e3e531b6e7..cd780d4379 100644 --- a/goal_src/levels/swamp/swamp-rat.gc +++ b/goal_src/levels/swamp/swamp-rat.gc @@ -9,6 +9,7 @@ (declare-type billy process-taskable) ;; DECOMP BEGINS + (import "goal_src/import/swamp-rat-ag.gc") (deftype swamp-rat (nav-enemy) @@ -112,10 +113,8 @@ swamp-rat-default-event-handler (defstate nav-enemy-idle (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :post - (behavior () + :event swamp-rat-default-event-handler + :post (behavior () (ja-post) (none) ) @@ -123,14 +122,11 @@ swamp-rat-default-event-handler (defstate nav-enemy-patrol (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :code - (behavior () + :event swamp-rat-default-event-handler + :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (loop - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info walk-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -146,10 +142,8 @@ swamp-rat-default-event-handler (defstate nav-enemy-notice (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :code - (behavior () + :event swamp-rat-default-event-handler + :code (behavior () (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.17)) (ja-no-eval :group! swamp-rat-notice-ja :num! (seek! (ja-aframe 30.0 0)) :frame-num 0.0) @@ -200,18 +194,15 @@ swamp-rat-default-event-handler (defstate nav-enemy-chase (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :trans - (behavior () + :event swamp-rat-default-event-handler + :trans (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self chase-rest-time)) (go-virtual nav-enemy-victory) ) ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self target-nav-time) (-> *display* base-frame-counter)) (set! (-> self wiggle-time) (+ (-> *display* base-frame-counter) (seconds -10))) (set! (-> self wiggle-angle) 0.0) @@ -228,8 +219,7 @@ swamp-rat-default-event-handler ) (none) ) - :post - (behavior () + :post (behavior () (swamp-rat-update-wiggle-target (target-pos 0)) (nav-enemy-travel-post) (none) @@ -238,18 +228,14 @@ swamp-rat-default-event-handler (defstate nav-enemy-stop-chase (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :code - (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) + :event swamp-rat-default-event-handler + :code (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) ) (defstate nav-enemy-stare (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :code - (behavior () + :event swamp-rat-default-event-handler + :code (behavior () (set! (-> self rotate-speed) 1456355.5) (set! (-> self turn-time) (seconds 0.075)) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) @@ -281,10 +267,8 @@ swamp-rat-default-event-handler (defstate nav-enemy-give-up (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :code - (behavior () + :event swamp-rat-default-event-handler + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! swamp-rat-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -311,10 +295,8 @@ swamp-rat-default-event-handler (defstate nav-enemy-attack (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :code - (behavior () + :event swamp-rat-default-event-handler + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! swamp-rat-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -328,17 +310,13 @@ swamp-rat-default-event-handler (defstate nav-enemy-victory (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :code - (-> (method-of-type nav-enemy nav-enemy-victory) code) + :event swamp-rat-default-event-handler + :code (-> (method-of-type nav-enemy nav-enemy-victory) code) ) (defstate swamp-rat-spawn (swamp-rat) - :event - swamp-rat-default-event-handler - :code - (behavior () + :event swamp-rat-default-event-handler + :code (behavior () (let ((gp-0 (new-stack-vector0))) (set! (-> gp-0 x) 0.0) (set! (-> gp-0 y) (- (-> *standard-dynamics* gravity-length))) @@ -390,8 +368,7 @@ swamp-rat-default-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-rat) nav-enemy-simple-post) + :post (the-as (function none :behavior swamp-rat) nav-enemy-simple-post) ) (define *swamp-rat-nav-enemy-info* (new 'static 'nav-enemy-info diff --git a/goal_src/levels/title/title-obs.gc b/goal_src/levels/title/title-obs.gc index ddd57cfa9c..9a97d0eaf7 100644 --- a/goal_src/levels/title/title-obs.gc +++ b/goal_src/levels/title/title-obs.gc @@ -6,13 +6,14 @@ ;; dgos: TIT ;; DECOMP BEGINS + (import "goal_src/import/logo-cam-ag.gc") (import "goal_src/import/logo-black-ag.gc") -(import "goal_src/import/logo-volumes-ag.gc") -(import "goal_src/import/ndi-volumes-ag.gc") (import "goal_src/import/logo-ag.gc") -(import "goal_src/import/ndi-ag.gc") +(import "goal_src/import/logo-volumes-ag.gc") (import "goal_src/import/ndi-cam-ag.gc") +(import "goal_src/import/ndi-ag.gc") +(import "goal_src/import/ndi-volumes-ag.gc") (deftype logo (process-drawable) ((camera handle :offset-assert 176) @@ -114,8 +115,7 @@ (defstate idle (logo-slave) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 uint)) (let ((v1-0 arg2)) (the-as object (cond @@ -141,8 +141,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja-post) (loop (clone-anim-once @@ -187,8 +186,7 @@ (defstate startup (logo) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'update) (clear-pending-settings-from-process *setting-control* self 'process-mask) @@ -196,8 +194,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (let ((a0-0 (-> self anim))) (when (nonzero? a0-0) (ja-abort-spooled-anim a0-0 (the-as art-joint-anim #f) -1) @@ -212,8 +209,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (none-reserved? *art-control*)) (go-virtual hidden) ) @@ -222,84 +218,43 @@ ) (none) ) - :code - (behavior () + :code (behavior () (while (!= (file-status *art-control* (-> self next-anim name) 0) 'active) (set-blackout-frames (seconds 0.05)) (suspend) ) (set! (-> *setting-control* current bg-a) 1.0) (set-setting! *setting-control* self 'bg-a 'abs 0.0 0) - (let ((gp-1 (get-process *default-dead-pool* logo-slave #x4000))) - (set! (-> self camera-anim) - (ppointer->handle (when gp-1 - (let ((t9-4 (method-of-type logo-slave activate))) - (t9-4 (the-as logo-slave gp-1) self 'logo-slave (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 logo-slave-init-by-other (-> self entity) *logo-cam-sg*) - (-> gp-1 ppointer) - ) - ) - ) - ) - (let ((gp-2 (get-process *default-dead-pool* othercam #x4000))) - (set! (-> self camera) - (ppointer->handle - (when gp-2 - (let ((t9-7 (method-of-type othercam activate))) - (t9-7 (the-as othercam gp-2) (handle->process (-> self camera-anim)) 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-2 othercam-init-by-other (handle->process (-> self camera-anim)) 4 #t 'logo) - (-> gp-2 ppointer) - ) + (set! (-> self camera-anim) + (ppointer->handle (process-spawn logo-slave (-> self entity) *logo-cam-sg* :to self)) + ) + (set! (-> self camera) + (ppointer->handle + (process-spawn + othercam + (handle->process (-> self camera-anim)) + 4 + #t + 'logo + :to (handle->process (-> self camera-anim)) ) ) - ) + ) (send-event (handle->process (-> self camera)) 'mask 0) (case (scf-get-territory) ((2) - (let ((gp-3 (get-process *default-dead-pool* logo-slave #x4000))) - (set! (-> self volumes) - (ppointer->handle - (when gp-3 - (let ((t9-12 (method-of-type logo-slave activate))) - (t9-12 (the-as logo-slave gp-3) self 'logo-slave (the-as pointer #x70004000)) - ) - (run-now-in-process gp-3 logo-slave-init-by-other (-> self entity) *logo-volumes-japan-sg*) - (-> gp-3 ppointer) - ) - ) - ) - ) + (set! (-> self volumes) + (ppointer->handle (process-spawn logo-slave (-> self entity) *logo-volumes-japan-sg* :to self)) + ) ) (else - (let ((gp-4 (get-process *default-dead-pool* logo-slave #x4000))) - (set! (-> self volumes) - (ppointer->handle (when gp-4 - (let ((t9-15 (method-of-type logo-slave activate))) - (t9-15 (the-as logo-slave gp-4) self 'logo-slave (the-as pointer #x70004000)) - ) - (run-now-in-process gp-4 logo-slave-init-by-other (-> self entity) *logo-volumes-sg*) - (-> gp-4 ppointer) - ) - ) - ) - ) + (set! (-> self volumes) + (ppointer->handle (process-spawn logo-slave (-> self entity) *logo-volumes-sg* :to self)) + ) ) ) (send-event (handle->process (-> self volumes)) 'origin-joint-index 3) - (let ((gp-5 (get-process *default-dead-pool* logo-slave #x4000))) - (set! (-> self black) - (ppointer->handle (when gp-5 - (let ((t9-19 (method-of-type logo-slave activate))) - (t9-19 (the-as logo-slave gp-5) self 'logo-slave (the-as pointer #x70004000)) - ) - (run-now-in-process gp-5 logo-slave-init-by-other (-> self entity) *logo-black-sg*) - (-> gp-5 ppointer) - ) - ) - ) - ) + (set! (-> self black) (ppointer->handle (process-spawn logo-slave (-> self entity) *logo-black-sg* :to self))) (send-event (handle->process (-> self black)) 'origin-joint-index 3) (set! (-> self anim) (-> self next-anim)) (set! (-> self next-anim) @@ -307,8 +262,7 @@ :name "logo-intro-2" :index 7 :parts 15 - :command-list - '((260 want-force-inside village1 #t) + :command-list '((260 want-force-inside village1 #t) (261 kill "sage-23") (261 kill "assistant-11") (261 kill "explorer-4") @@ -357,8 +311,7 @@ :name "logo-loop" :index 9 :parts 17 - :command-list - '((61 kill "sage-23") + :command-list '((61 kill "sage-23") (61 kill "assistant-11") (61 kill "explorer-4") ((new 'static 'bfloat :data 61.5) kill "farmer-3") @@ -386,8 +339,7 @@ (go-virtual idle) (none) ) - :post - (behavior () + :post (behavior () (if *progress-process* (logior! (-> self draw status) (draw-status skip-bones)) (logclear! (-> self draw status) (draw-status skip-bones)) @@ -425,29 +377,25 @@ (defstate idle (logo) :virtual #t - :exit - (-> (method-of-type logo startup) exit) - :trans - (-> (method-of-type logo startup) trans) - :code - (behavior () + :exit (-> (method-of-type logo startup) exit) + :trans (-> (method-of-type logo startup) trans) + :code (behavior () (loop (set! (-> self anim) (-> self next-anim)) - (when (not (handle->process (-> self camera))) - (let ((gp-0 (get-process *default-dead-pool* othercam #x4000))) + (if (not (handle->process (-> self camera))) (set! (-> self camera) (ppointer->handle - (when gp-0 - (let ((t9-1 (method-of-type othercam activate))) - (t9-1 (the-as othercam gp-0) (handle->process (-> self camera-anim)) 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 othercam-init-by-other (handle->process (-> self camera-anim)) 4 #t 'logo) - (-> gp-0 ppointer) + (process-spawn + othercam + (handle->process (-> self camera-anim)) + 4 + #t + 'logo + :to (handle->process (-> self camera-anim)) ) ) ) ) - ) (set! *spawn-actors* #f) (ja-channel-set! 1) (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) @@ -466,21 +414,18 @@ ) (none) ) - :post - (-> (method-of-type logo startup) post) + :post (-> (method-of-type logo startup) post) ) (defstate hidden (logo) :virtual #t - :trans - (behavior () + :trans (behavior () (if (nonzero? (-> self next-anim)) (spool-push *art-control* (-> self next-anim name) 0 self -1.0) ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (ja-post) (let ((gp-0 *master-mode*)) @@ -507,8 +452,7 @@ (defstate ndi (logo) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'blackout) (set-setting! *setting-control* self 'bg-a 'abs 1.0 0) @@ -516,8 +460,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set-setting! *setting-control* self 'bg-a 'abs 0.0 0) (copy-settings-from-target! *setting-control*) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -527,14 +470,12 @@ (set! (-> self done?) #f) (none) ) - :exit - (behavior () + :exit (behavior () ((-> (method-of-type logo startup) exit)) (set-blackout-frames (seconds 0.035)) (none) ) - :trans - (behavior () + :trans (behavior () ((-> (method-of-type logo startup) trans)) (if (and *debug-segment* (cpad-pressed? 0 start circle x) @@ -568,78 +509,36 @@ ) (none) ) - :code - (behavior () + :code (behavior () (while (!= (file-status *art-control* (-> self next-anim name) 0) 'active) (set-blackout-frames (seconds 0.05)) (suspend) ) (set! (-> *setting-control* current bg-a) 1.0) - (let ((gp-1 (get-process *default-dead-pool* logo-slave #x4000))) - (set! (-> self camera-anim) - (ppointer->handle (when gp-1 - (let ((t9-3 (method-of-type logo-slave activate))) - (t9-3 (the-as logo-slave gp-1) self 'logo-slave (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 logo-slave-init-by-other (-> self entity) *ndi-cam-sg*) - (-> gp-1 ppointer) - ) - ) - ) - ) - (let ((gp-2 (get-process *default-dead-pool* othercam #x4000))) - (set! (-> self camera) - (ppointer->handle - (when gp-2 - (let ((t9-6 (method-of-type othercam activate))) - (t9-6 (the-as othercam gp-2) (handle->process (-> self camera-anim)) 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-2 othercam-init-by-other (handle->process (-> self camera-anim)) 3 #t 'logo) - (-> gp-2 ppointer) - ) + (set! (-> self camera-anim) + (ppointer->handle (process-spawn logo-slave (-> self entity) *ndi-cam-sg* :to self)) + ) + (set! (-> self camera) + (ppointer->handle + (process-spawn + othercam + (handle->process (-> self camera-anim)) + 3 + #t + 'logo + :to (handle->process (-> self camera-anim)) ) ) - ) + ) (send-event (handle->process (-> self camera)) 'mask 0) - (let ((gp-3 (get-process *default-dead-pool* logo-slave #x4000))) - (set! (-> self volumes) - (ppointer->handle (when gp-3 - (let ((t9-10 (method-of-type logo-slave activate))) - (t9-10 (the-as logo-slave gp-3) self 'logo-slave (the-as pointer #x70004000)) - ) - (run-now-in-process gp-3 logo-slave-init-by-other (-> self entity) *ndi-volumes-sg*) - (-> gp-3 ppointer) - ) - ) - ) - ) + (set! (-> self volumes) + (ppointer->handle (process-spawn logo-slave (-> self entity) *ndi-volumes-sg* :to self)) + ) (send-event (handle->process (-> self volumes)) 'origin-joint-index 3) - (let ((gp-4 (get-process *default-dead-pool* logo-slave #x4000))) - (set! (-> self target) - (ppointer->handle (when gp-4 - (let ((t9-14 (method-of-type logo-slave activate))) - (t9-14 (the-as logo-slave gp-4) self 'logo-slave (the-as pointer #x70004000)) - ) - (run-now-in-process gp-4 logo-slave-init-by-other #f *jchar-sg*) - (-> gp-4 ppointer) - ) - ) - ) - ) + (set! (-> self target) (ppointer->handle (process-spawn logo-slave #f *jchar-sg* :to self))) (send-event (handle->process (-> self target)) 'blend-shape #t) (send-event (handle->process (-> self target)) 'origin-joint-index 33) - (let ((gp-5 (get-process *default-dead-pool* logo-slave #x4000))) - (set! (-> self sidekick) - (ppointer->handle (when gp-5 - (let ((t9-19 (method-of-type logo-slave activate))) - (t9-19 (the-as logo-slave gp-5) self 'logo-slave (the-as pointer #x70004000)) - ) - (run-now-in-process gp-5 logo-slave-init-by-other #f *sidekick-sg*) - (-> gp-5 ppointer) - ) - ) - ) - ) + (set! (-> self sidekick) (ppointer->handle (process-spawn logo-slave #f *sidekick-sg* :to self))) (send-event (handle->process (-> self sidekick)) 'blend-shape #t) (send-event (handle->process (-> self sidekick)) 'origin-joint-index 6) (set! (-> self anim) (-> self next-anim)) @@ -655,8 +554,7 @@ (anim-loop) (none) ) - :post - (behavior () + :post (behavior () (ja-post) (none) ) @@ -686,8 +584,7 @@ :name "logo-intro" :index 5 :parts 3 - :command-list - '((0 want-levels title village1) + :command-list '((0 want-levels title village1) (5 display-level village1 special) (5 want-vis vi1) (5 want-force-inside village1 #t) @@ -747,10 +644,8 @@ ) (defstate target-title (target) - :event - target-generic-event-handler - :enter - (behavior () + :event target-generic-event-handler + :enter (behavior () (set-setting! *setting-control* self 'music-volume 'abs 0.0 0) (set-setting! *setting-control* self 'sfx-volume 'abs 0.0 0) (set-setting! *setting-control* self 'ambient-volume 'abs 0.0 0) @@ -765,8 +660,7 @@ (send-event *camera* 'change-state cam-fixed 0) (none) ) - :exit - (behavior () + :exit (behavior () (when (not (or (= (-> self next-state name) 'target-title-play) (= (-> self next-state name) 'target-title-wait))) (if (-> self manipy) (deactivate (-> self manipy 0)) @@ -774,15 +668,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (hide-hud-quick) (spool-push *art-control* "ndi-intro" 0 self -1.0) (sound-group-pause (the-as uint 2)) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (the-as handle #f))) (case (scf-get-territory) ((2) @@ -845,16 +737,7 @@ ) (label cfg-41) (let ((gp-3 (entity-by-name "logo-1"))) - (let* ((s5-3 (get-process *default-dead-pool* logo #x4000)) - (v1-53 (when s5-3 - (let ((t9-17 (method-of-type logo activate))) - (t9-17 (the-as logo s5-3) self 'logo (the-as pointer #x70004000)) - ) - (run-now-in-process s5-3 logo-init-by-other gp-3 (-> gp-3 extra trans) 'ndi) - (-> s5-3 ppointer) - ) - ) - ) + (let ((v1-53 (process-spawn logo gp-3 (-> gp-3 extra trans) 'ndi :to self))) (set! (-> self manipy) (the-as (pointer manipy) v1-53)) (let ((s5-4 (ppointer->handle v1-53))) (while (handle->process (the-as handle s5-4)) @@ -862,29 +745,18 @@ ) ) ) - (let ((s5-5 (get-process *default-dead-pool* logo #x4000))) - (set! (-> self manipy) - (the-as (pointer manipy) (when s5-5 - (let ((t9-20 (method-of-type logo activate))) - (t9-20 (the-as logo s5-5) self 'logo (the-as pointer #x70004000)) - ) - (run-now-in-process s5-5 logo-init-by-other gp-3 (-> gp-3 extra trans) 'logo) - (-> s5-5 ppointer) - ) - ) - ) - ) + (set! (-> self manipy) + (the-as (pointer manipy) (process-spawn logo gp-3 (-> gp-3 extra trans) 'logo :to self)) + ) ) (go target-title-play) (none) ) - :post - target-no-move-post + :post target-no-move-post ) (defstate target-title-play (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'wait) @@ -900,25 +772,19 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set-setting! *setting-control* self 'allow-pause #f 0.0 0) (set-setting! *setting-control* self 'allow-progress #f 0.0 0) (none) ) - :exit - (-> target-title exit) - :trans - (the-as (function none :behavior target) hide-hud-quick) - :code - (the-as (function none :behavior target) anim-loop) - :post - target-no-move-post + :exit (-> target-title exit) + :trans (the-as (function none :behavior target) hide-hud-quick) + :code (the-as (function none :behavior target) anim-loop) + :post target-no-move-post ) (defstate target-title-wait (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'play) @@ -934,8 +800,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (clear-pending-settings-from-process *setting-control* self 'ambient-volume) (clear-pending-settings-from-process *setting-control* self 'sfx-volume) (clear-pending-settings-from-process *setting-control* self 'music-volume) @@ -947,8 +812,7 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (when *time-of-day-proc* (set! (-> *time-of-day-proc* 0 time-ratio) 300.0) (set! *time-of-day-fast* #f) @@ -957,8 +821,7 @@ ((-> target-title exit)) (none) ) - :trans - (behavior () + :trans (behavior () (hide-hud-quick) (if (cpad-pressed? 0 start) (activate-progress *dproc* (progress-screen title)) @@ -980,10 +843,8 @@ ) (none) ) - :code - (the-as (function none :behavior target) anim-loop) - :post - target-no-move-post + :code (the-as (function none :behavior target) anim-loop) + :post target-no-move-post ) diff --git a/goal_src/levels/training/training-obs.gc b/goal_src/levels/training/training-obs.gc index a9fc52ba09..26a9517cee 100644 --- a/goal_src/levels/training/training-obs.gc +++ b/goal_src/levels/training/training-obs.gc @@ -6,10 +6,11 @@ ;; dgos: L1, TRA ;; DECOMP BEGINS -(import "goal_src/import/trainingcam-ag.gc") + (import "goal_src/import/scarecrow-b-ag.gc") -(import "goal_src/import/scarecrow-a-ag.gc") (import "goal_src/import/pontoonfive-ag.gc") +(import "goal_src/import/trainingcam-ag.gc") +(import "goal_src/import/scarecrow-a-ag.gc") (import "goal_src/import/jng-iris-door-ag.gc") (deftype training-water (water-anim) @@ -25,8 +26,7 @@ :count 3 :converted #f :normal-scale 1.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 40.0 :xdiv -1 :zdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) @@ -80,8 +80,7 @@ (defstate idle (training-cam) :virtual #t - :code - (behavior () + :code (behavior () (loop (when (and *target* (< (vector-vector-distance (target-pos 0) (-> self root trans)) (-> self range)) @@ -148,24 +147,7 @@ *entity-pool* (game-task none) ) - (let ((gp-2 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-2 - (let ((t9-13 (method-of-type pov-camera activate))) - (t9-13 (the-as pov-camera gp-2) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-2 - pov-camera-init-by-other - (-> self entity extra trans) - *training-cam-sg* - "orbcam" - 0 - #f - '() - ) - (-> gp-2 ppointer) - ) - ) + (process-spawn pov-camera (-> self entity extra trans) *training-cam-sg* "orbcam" 0 #f '() :to self) ) ((= v1-61 1) (level-hint-spawn @@ -175,24 +157,7 @@ *entity-pool* (game-task none) ) - (let ((gp-3 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-3 - (let ((t9-17 (method-of-type pov-camera activate))) - (t9-17 (the-as pov-camera gp-3) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-3 - pov-camera-init-by-other - (-> self entity extra trans) - *training-cam-sg* - "fuelcellcam" - 0 - #f - '() - ) - (-> gp-3 ppointer) - ) - ) + (process-spawn pov-camera (-> self entity extra trans) *training-cam-sg* "fuelcellcam" 0 #f '() :to self) ) ((= v1-61 2) (level-hint-spawn @@ -202,24 +167,7 @@ *entity-pool* (game-task none) ) - (let ((gp-4 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-4 - (let ((t9-21 (method-of-type pov-camera activate))) - (t9-21 (the-as pov-camera gp-4) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-4 - pov-camera-init-by-other - (-> self entity extra trans) - *training-cam-sg* - "ecocam" - 0 - #f - '() - ) - (-> gp-4 ppointer) - ) - ) + (process-spawn pov-camera (-> self entity extra trans) *training-cam-sg* "ecocam" 0 #f '() :to self) ) ((= v1-61 3) (level-hint-spawn @@ -229,24 +177,7 @@ *entity-pool* (game-task none) ) - (let ((gp-5 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-5 - (let ((t9-25 (method-of-type pov-camera activate))) - (t9-25 (the-as pov-camera gp-5) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-5 - pov-camera-init-by-other - (-> self entity extra trans) - *training-cam-sg* - "precursordoorcam" - 0 - #f - '() - ) - (-> gp-5 ppointer) - ) - ) + (process-spawn pov-camera (-> self entity extra trans) *training-cam-sg* "precursordoorcam" 0 #f '() :to self) ) ((= v1-61 4) (level-hint-spawn @@ -256,24 +187,7 @@ *entity-pool* (game-task none) ) - (let ((gp-6 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-6 - (let ((t9-29 (method-of-type pov-camera activate))) - (t9-29 (the-as pov-camera gp-6) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-6 - pov-camera-init-by-other - (-> self entity extra trans) - *training-cam-sg* - "ecoventcam" - 0 - #f - '() - ) - (-> gp-6 ppointer) - ) - ) + (process-spawn pov-camera (-> self entity extra trans) *training-cam-sg* "ecoventcam" 0 #f '() :to self) ) ((= v1-61 5) (level-hint-spawn @@ -283,24 +197,7 @@ *entity-pool* (game-task none) ) - (let ((gp-7 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-7 - (let ((t9-33 (method-of-type pov-camera activate))) - (t9-33 (the-as pov-camera gp-7) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-7 - pov-camera-init-by-other - (-> self entity extra trans) - *training-cam-sg* - "greenecocam" - 0 - #f - '() - ) - (-> gp-7 ppointer) - ) - ) + (process-spawn pov-camera (-> self entity extra trans) *training-cam-sg* "greenecocam" 0 #f '() :to self) ) ((= v1-61 6) (when (not (task-complete? *game-info* (game-task training-climb))) @@ -525,13 +422,11 @@ :id 143 :duration 15 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2912) (sp-item 2913) (sp-item 2914) (sp-item 2915) (sp-item 2916)) + :parts ((sp-item 2912) (sp-item 2913) (sp-item 2914) (sp-item 2915) (sp-item 2916)) ) (defpart 2912 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 2.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) @@ -557,18 +452,15 @@ ) (defpart 2917 - :init-specs - ((sp-flt spt-fade-a -0.4) (sp-int-plain-rnd spt-next-time 30 29 1) (sp-launcher-by-id spt-next-launcher 2918)) + :init-specs ((sp-flt spt-fade-a -0.4) (sp-int-plain-rnd spt-next-time 30 29 1) (sp-launcher-by-id spt-next-launcher 2918)) ) (defpart 2918 - :init-specs - ((sp-flt spt-fade-a -0.04)) + :init-specs ((sp-flt spt-fade-a -0.04)) ) (defpart 2913 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 2.5)) (sp-rnd-flt spt-scale-x (meters 6) (meters 3) 1.0) @@ -592,13 +484,11 @@ ) (defpart 2919 - :init-specs - ((sp-flt spt-fade-a -2.1333334)) + :init-specs ((sp-flt spt-fade-a -2.1333334)) ) (defpart 2914 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 2.5) (sp-flt spt-y (meters 1.5)) (sp-flt spt-scale-x (meters 12)) @@ -614,8 +504,7 @@ ) (defpart 2915 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x2)) (sp-rnd-flt spt-num 8.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 2.5) (meters 1.5) 1.0) @@ -643,16 +532,14 @@ ) (defpart 2920 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0033333334)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0033333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -3.4) ) ) (defpart 2916 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x2)) (sp-rnd-flt spt-num 8.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 2.5) (meters 1.5) 1.0) @@ -683,16 +570,14 @@ :id 144 :duration 15 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2912)) + :parts ((sp-item 2912)) ) (defpartgroup group-scarecrow-hit :id 145 :duration 15 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2913)) + :parts ((sp-item 2913)) ) (deftype scarecrow-a (process-drawable) @@ -739,8 +624,7 @@ (defstate idle (scarecrow-a) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -835,15 +719,13 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 40960.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) (get-reminder (get-task-control (game-task training-gimmie)) 0) ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.12)) (loop (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) @@ -854,14 +736,12 @@ ) (none) ) - :post - (the-as (function none :behavior scarecrow-a) ja-post) + :post (the-as (function none :behavior scarecrow-a) ja-post) ) (defstate hit (scarecrow-a) :virtual #t - :code - (behavior ((arg0 float) (arg1 vector) (arg2 symbol)) + :code (behavior ((arg0 float) (arg1 vector) (arg2 symbol)) (when (not arg2) (dummy-10 (-> self skel effect) 'group-scarecrow-hit 4.0 -1) (ja-channel-push! 1 (seconds 0.07)) @@ -904,38 +784,26 @@ (set! (-> s5-2 fountain-rand-transv-hi z) 20480.0) (set! (-> s5-2 fountain-rand-transv-hi w) 49152.0) (set! (-> s5-2 fountain-rand-transv-lo quad) (-> arg1 quad)) - (let ((gp-1 (get-process *default-dead-pool* joint-exploder #x4000))) - (when gp-1 - (let ((t9-21 (method-of-type joint-exploder activate))) - (t9-21 (the-as joint-exploder gp-1) self 'joint-exploder (the-as pointer #x70004000)) + (process-spawn + joint-exploder + *scarecrow-a-break-sg* + 5 + s5-2 + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 12) + (new 'static 'joint-exploder-static-joint-params :joint-index 10) + (new 'static 'joint-exploder-static-joint-params :joint-index 20) + (new 'static 'joint-exploder-static-joint-params :joint-index 4) + (new 'static 'joint-exploder-static-joint-params :joint-index 5) + (new 'static 'joint-exploder-static-joint-params :joint-index 11) + (new 'static 'joint-exploder-static-joint-params :joint-index 9) + (new 'static 'joint-exploder-static-joint-params :joint-index 7) + (new 'static 'joint-exploder-static-joint-params :joint-index 14) + (new 'static 'joint-exploder-static-joint-params :joint-index 13) ) - (run-now-in-process - gp-1 - joint-exploder-init-by-other - *scarecrow-a-break-sg* - 5 - s5-2 - (new 'static 'joint-exploder-static-params - :joints - (new - 'static - 'boxed-array - :type joint-exploder-static-joint-params :length 10 :allocated-length 10 - (new 'static 'joint-exploder-static-joint-params :joint-index 12) - (new 'static 'joint-exploder-static-joint-params :joint-index 10) - (new 'static 'joint-exploder-static-joint-params :joint-index 20) - (new 'static 'joint-exploder-static-joint-params :joint-index 4) - (new 'static 'joint-exploder-static-joint-params :joint-index 5) - (new 'static 'joint-exploder-static-joint-params :joint-index 11) - (new 'static 'joint-exploder-static-joint-params :joint-index 9) - (new 'static 'joint-exploder-static-joint-params :joint-index 7) - (new 'static 'joint-exploder-static-joint-params :joint-index 14) - (new 'static 'joint-exploder-static-joint-params :joint-index 13) - ) - ) - ) - (-> gp-1 ppointer) ) + :to self ) ) (while (-> self child) @@ -944,8 +812,7 @@ (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior scarecrow-a) ja-post) + :post (the-as (function none :behavior scarecrow-a) ja-post) ) (defmethod init-from-entity! scarecrow-a ((obj scarecrow-a) (arg0 entity-actor)) @@ -995,10 +862,8 @@ (defstate idle (scarecrow-b) :virtual #t - :event - (-> (method-of-type scarecrow-a idle) event) - :code - (behavior () + :event (-> (method-of-type scarecrow-a idle) event) + :code (behavior () (ja-channel-push! 1 (seconds 0.12)) (loop (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) @@ -1009,14 +874,12 @@ ) (none) ) - :post - (the-as (function none :behavior scarecrow-b) ja-post) + :post (the-as (function none :behavior scarecrow-b) ja-post) ) (defstate hit (scarecrow-b) :virtual #t - :code - (behavior ((arg0 float) (arg1 vector) (arg2 symbol)) + :code (behavior ((arg0 float) (arg1 vector) (arg2 symbol)) (when (not arg2) (dummy-10 (-> self skel effect) 'group-scarecrow-hit 4.0 -1) (ja-channel-push! 1 (seconds 0.07)) @@ -1058,42 +921,30 @@ (set! (-> s5-2 fountain-rand-transv-hi z) 40960.0) (set! (-> s5-2 fountain-rand-transv-hi w) 102400.0) (set! (-> s5-2 fountain-rand-transv-lo quad) (-> arg1 quad)) - (let ((gp-1 (get-process *default-dead-pool* joint-exploder #x4000))) - (when gp-1 - (let ((t9-21 (method-of-type joint-exploder activate))) - (t9-21 (the-as joint-exploder gp-1) self 'joint-exploder (the-as pointer #x70004000)) + (process-spawn + joint-exploder + *scarecrow-b-break-sg* + 5 + s5-2 + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 12) + (new 'static 'joint-exploder-static-joint-params :joint-index 10) + (new 'static 'joint-exploder-static-joint-params :joint-index 21) + (new 'static 'joint-exploder-static-joint-params :joint-index 4) + (new 'static 'joint-exploder-static-joint-params :joint-index 5) + (new 'static 'joint-exploder-static-joint-params :joint-index 11) + (new 'static 'joint-exploder-static-joint-params :joint-index 9) + (new 'static 'joint-exploder-static-joint-params :joint-index 7) + (new 'static 'joint-exploder-static-joint-params :joint-index 14) + (new 'static 'joint-exploder-static-joint-params :joint-index 13) + (new 'static 'joint-exploder-static-joint-params :joint-index 14) + (new 'static 'joint-exploder-static-joint-params :joint-index 13) + (new 'static 'joint-exploder-static-joint-params :joint-index 16) + (new 'static 'joint-exploder-static-joint-params :joint-index 15) ) - (run-now-in-process - gp-1 - joint-exploder-init-by-other - *scarecrow-b-break-sg* - 5 - s5-2 - (new 'static 'joint-exploder-static-params - :joints - (new - 'static - 'boxed-array - :type joint-exploder-static-joint-params :length 14 :allocated-length 14 - (new 'static 'joint-exploder-static-joint-params :joint-index 12) - (new 'static 'joint-exploder-static-joint-params :joint-index 10) - (new 'static 'joint-exploder-static-joint-params :joint-index 21) - (new 'static 'joint-exploder-static-joint-params :joint-index 4) - (new 'static 'joint-exploder-static-joint-params :joint-index 5) - (new 'static 'joint-exploder-static-joint-params :joint-index 11) - (new 'static 'joint-exploder-static-joint-params :joint-index 9) - (new 'static 'joint-exploder-static-joint-params :joint-index 7) - (new 'static 'joint-exploder-static-joint-params :joint-index 14) - (new 'static 'joint-exploder-static-joint-params :joint-index 13) - (new 'static 'joint-exploder-static-joint-params :joint-index 14) - (new 'static 'joint-exploder-static-joint-params :joint-index 13) - (new 'static 'joint-exploder-static-joint-params :joint-index 16) - (new 'static 'joint-exploder-static-joint-params :joint-index 15) - ) - ) - ) - (-> gp-1 ppointer) ) + :to self ) ) (while (-> self child) @@ -1102,8 +953,7 @@ (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior scarecrow-b) ja-post) + :post (the-as (function none :behavior scarecrow-b) ja-post) ) (defmethod init-from-entity! scarecrow-b ((obj scarecrow-b) (arg0 entity-actor)) diff --git a/goal_src/levels/training/training-part.gc b/goal_src/levels/training/training-part.gc index 9acd727d00..8d571e6b06 100644 --- a/goal_src/levels/training/training-part.gc +++ b/goal_src/levels/training/training-part.gc @@ -20,8 +20,7 @@ :id 146 :flags (always-draw) :bounds (static-bspherem 0 32 0 70) - :parts - ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 4500) + :parts ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 4500) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1140 :offset 4530) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1080 :offset 4560) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1020 :offset 4590) @@ -54,8 +53,7 @@ :id 147 :flags (always-draw) :bounds (static-bspherem 0 32 0 70) - :parts - ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 900) + :parts ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 900) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1140 :offset 930) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1080 :offset 960) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1020 :offset 990) @@ -88,8 +86,7 @@ :id 149 :flags (always-draw) :bounds (static-bspherem 0 32 0 70) - :parts - ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 2100) + :parts ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 2100) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1140 :offset 2130) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1080 :offset 2160) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1020 :offset 2190) @@ -114,8 +111,7 @@ :id 148 :flags (always-draw) :bounds (static-bspherem 0 32 0 70) - :parts - ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 3300) + :parts ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 3300) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1140 :offset 3330) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1080 :offset 3360) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1020 :offset 3390) @@ -145,8 +141,7 @@ ) (defpart 752 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.2) (sp-sound (static-sound-spec "geyser" :num 0.1 :fo-min 50 :fo-max 200)) (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0) @@ -172,13 +167,11 @@ ) (defpart 761 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.06666667)) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.06666667)) (sp-flt spt-fade-a -1.0666667)) ) (defpart 753 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 85) (meters 10) 1.0) @@ -210,8 +203,7 @@ ) (defpart 762 - :init-specs - ((sp-flt spt-fade-a -0.03678161)) + :init-specs ((sp-flt spt-fade-a -0.03678161)) ) (defun check-drop-level-training-mist ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) @@ -223,8 +215,7 @@ ) (defpart 754 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 0.035) (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 85) (meters 10) 1.0) @@ -256,8 +247,7 @@ ) (defpart 763 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-int spt-num 0 1 1.0) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -276,8 +266,7 @@ ) (defpart 764 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.02)) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -300,13 +289,9 @@ (when (< (-> arg2 y) (-> arg1 user-float)) (let ((gp-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) - ) - ) + (if (< (rand-float-gen) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) (sp-launch-particles-var *sp-particle-system-2d* @@ -330,8 +315,7 @@ ) (defpart 759 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0) (sp-rnd-flt spt-y (meters 10) (meters 20) 1.0) @@ -351,8 +335,7 @@ ) (defpart 760 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0) (sp-rnd-flt spt-y (meters 10) (meters 20) 1.0) @@ -370,8 +353,7 @@ ) (defpart 757 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 8) 1.0) @@ -391,8 +373,7 @@ ) (defpart 758 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 10) 1.0) @@ -410,8 +391,7 @@ ) (defpart 755 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0) (sp-rnd-flt spt-y (meters 10) (meters 10) 1.0) @@ -431,8 +411,7 @@ ) (defpart 756 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0) (sp-rnd-flt spt-y (meters 10) (meters 20) 1.0) @@ -452,8 +431,7 @@ (defpartgroup group-training-warpgate :id 150 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 767 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 767 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 768 :fade-after (meters 60) :falloff-to (meters 100) :binding 765) (sp-item 765 :flags (bit1 start-dead launch-asap)) (sp-item 765 :flags (bit1 start-dead launch-asap)) @@ -629,8 +607,7 @@ ) (defpart 770 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-x (meters 0)) (sp-flt spt-scale-x (meters 5)) @@ -647,8 +624,7 @@ ) (defpart 769 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-x (meters -2)) (sp-flt spt-scale-x (meters 0.25)) @@ -663,8 +639,7 @@ ) (defpart 766 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.6666667)) (sp-flt spt-y (meters 4)) @@ -687,8 +662,7 @@ ) (defpart 767 - :init-specs - ((sp-rnd-flt spt-num 3.0 3.0 1.0) + :init-specs ((sp-rnd-flt spt-num 3.0 3.0 1.0) (sp-flt spt-x (meters -0.5)) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) @@ -705,8 +679,7 @@ ) (defpart 768 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.25)) (sp-copy-from-other spt-scale-y -4) @@ -720,8 +693,7 @@ ) (defpart 765 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.6666667)) (sp-flt spt-y (meters 4)) @@ -747,8 +719,7 @@ (defpartgroup group-training-butterflies :id 151 :bounds (static-bspherem 0 0 0 30) - :parts - ((sp-item 773 :fade-after (meters 120) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 771) + :parts ((sp-item 773 :fade-after (meters 120) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 771) (sp-item 773 :fade-after (meters 120) :period 6637 :length 5 :hour-mask #b111111100000000000111111 :binding 771) (sp-item 773 :fade-after (meters 120) :period 9846 :length 5 :hour-mask #b111111100000000000111111 :binding 771) (sp-item 771 :flags (start-dead launch-asap) :binding 772) @@ -765,8 +736,7 @@ ) (defpart 773 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 7.5) 1.0) (sp-rnd-flt spt-y (meters 14) (meters 3) 1.0) @@ -785,21 +755,18 @@ ) (defpart 774 - :init-specs - ((sp-flt spt-accel-y 0.0) + :init-specs ((sp-flt spt-accel-y 0.0) (sp-int-plain-rnd spt-next-time 2700 1499 1) (sp-launcher-by-id spt-next-launcher 775) ) ) (defpart 775 - :init-specs - ((sp-flt spt-accel-y 1.3653333)) + :init-specs ((sp-flt spt-accel-y 1.3653333)) ) (defpart 771 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -822,8 +789,7 @@ ) (defpart 776 - :init-specs - ((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) + :init-specs ((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) (sp-int-plain-rnd spt-next-time 150 449 1) @@ -832,8 +798,7 @@ ) (defpart 772 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 0.9)) @@ -852,8 +817,7 @@ (defpartgroup group-training-birds :id 152 :bounds (static-bspherem 0 8 0 45) - :parts - ((sp-item 779 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 777) + :parts ((sp-item 779 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 777) (sp-item 779 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 777) (sp-item 779 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 777) (sp-item 777 :flags (start-dead launch-asap) :binding 778) @@ -875,8 +839,7 @@ ) (defpart 779 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-func spt-birth-func 'birth-func-random-next-time) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) @@ -900,8 +863,7 @@ ) (defpart 777 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-func spt-birth-func 'birth-func-copy-omega-to-z) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) @@ -926,8 +888,7 @@ ) (defpart 780 - :init-specs - ((sp-flt spt-scale-x (meters 8)) + :init-specs ((sp-flt spt-scale-x (meters 8)) (sp-flt spt-scalevel-x (meters -0.08)) (sp-int spt-timer 600) (sp-int spt-next-time 100) @@ -936,8 +897,7 @@ ) (defpart 781 - :init-specs - ((sp-flt spt-scale-x (meters 0)) + :init-specs ((sp-flt spt-scale-x (meters 0)) (sp-flt spt-scalevel-x (meters -0.04)) (sp-int spt-timer 600) (sp-int spt-next-time 199) @@ -946,8 +906,7 @@ ) (defpart 778 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-func spt-birth-func 'birth-func-copy2-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 4)) @@ -962,8 +921,7 @@ :id 153 :flags (always-draw) :bounds (static-bspherem 0 16 0 32) - :parts - ((sp-item 782 :fade-after (meters 160) :falloff-to (meters 160)) + :parts ((sp-item 782 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 783 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 784 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 785 :fade-after (meters 80) :falloff-to (meters 80)) @@ -973,23 +931,19 @@ ) (defpart 789 - :init-specs - ((sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-a -0.10666667)) ) (defpart 790 - :init-specs - ((sp-flt spt-fade-a -0.16)) + :init-specs ((sp-flt spt-fade-a -0.16)) ) (defpart 791 - :init-specs - ((sp-flt spt-fade-a -2.6666667)) + :init-specs ((sp-flt spt-fade-a -2.6666667)) ) (defpart 782 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 0.9) (sp-rnd-flt spt-x (meters -9) (meters 1) 1.0) (sp-flt spt-y (meters 47)) @@ -1017,8 +971,7 @@ ) (defpart 783 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 0.9) (sp-rnd-flt spt-x (meters -9) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 39) (meters 5) 1.0) @@ -1046,8 +999,7 @@ ) (defpart 784 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -2) (meters 3) 1.0) (sp-rnd-flt spt-y (meters 24) (meters 6) 1.0) @@ -1074,8 +1026,7 @@ ) (defpart 785 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -9) (meters 1) 1.0) (sp-flt spt-y (meters 47)) @@ -1101,8 +1052,7 @@ ) (defpart 786 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.4 1.0) (sp-rnd-flt spt-x (meters -7) (meters 3.5) 1.0) (sp-flt spt-y (meters 47)) @@ -1131,8 +1081,7 @@ ) (defpart 787 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.133) (sp-rnd-flt spt-x (meters 0) (meters 6) 1.0) (sp-flt spt-y (meters -3.5)) @@ -1165,8 +1114,7 @@ :id 154 :flags (always-draw) :bounds (static-bspherem 0 12 0 12) - :parts - ((sp-item 792 :fade-after (meters 160) :falloff-to (meters 160)) + :parts ((sp-item 792 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 793 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 794 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 795 :fade-after (meters 160) :falloff-to (meters 160)) @@ -1176,8 +1124,7 @@ ) (defpart 792 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -6) (meters 1) 1.0) (sp-flt spt-y (meters 15.5)) @@ -1205,8 +1152,7 @@ ) (defpart 793 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 1.4) (sp-rnd-flt spt-x (meters -4) (meters 1) 1.0) (sp-flt spt-y (meters 15.5)) @@ -1234,8 +1180,7 @@ ) (defpart 794 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.4 1.0) (sp-rnd-flt spt-x (meters -6) (meters 1) 1.0) (sp-flt spt-y (meters 15.5)) @@ -1264,8 +1209,7 @@ ) (defpart 795 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.4 1.0) (sp-rnd-flt spt-x (meters -4) (meters 1) 1.0) (sp-flt spt-y (meters 15.5)) @@ -1294,8 +1238,7 @@ ) (defpart 796 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.133) (sp-rnd-flt spt-x (meters 0) (meters 6) 1.0) (sp-flt spt-y (meters -3.5)) @@ -1325,8 +1268,7 @@ ) (defpart 797 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-x (meters 0) (meters 5) 1.0) (sp-rnd-flt spt-z (meters -8) (meters 8) 1.0) diff --git a/goal_src/levels/village1/assistant.gc b/goal_src/levels/village1/assistant.gc index ee3add9b2e..eff090cb0f 100644 --- a/goal_src/levels/village1/assistant.gc +++ b/goal_src/levels/village1/assistant.gc @@ -6,6 +6,7 @@ ;; dgos: L1, VI1 ;; DECOMP BEGINS + (import "goal_src/import/assistant-ag.gc") (deftype assistant (process-taskable) @@ -67,113 +68,102 @@ ) (defmethod play-anim! assistant ((obj assistant) (arg0 symbol)) - (with-pp - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) - (case (current-task (-> obj tasks)) - (((game-task jungle-eggtop)) - (when arg0 - (let* ((s5-1 (-> obj tasks)) - (s4-0 (method-of-object s5-1 save-reminder)) - (a1-3 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (s4-0 s5-1 (the int (the-as float (send-event-function *target* a1-3))) 1) - ) - (close-status! (-> obj tasks) (task-status need-introduction)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) + (case (current-task (-> obj tasks)) + (((game-task jungle-eggtop)) + (when arg0 + (let* ((s5-1 (-> obj tasks)) + (s4-0 (method-of-object s5-1 save-reminder)) + ) + (s4-0 s5-1 (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 1) ) - (new 'static 'spool-anim - :name - "assistant-introduction-blue-eco-switch" - :index 10 - :parts 11 - :command-list - '((0 want-levels village1 beach) - (128 joint "cameraB") - (312 joint "camera") - (492 joint "cameraB") - (537 joint "camera") - (734 display-level beach movie) - (734 want-force-vis beach #t) - (735 alive "ecovent-48") - (742 blackout 10) - (743 joint "cameraB") - (745 blackout 0) - (839 alive "ecovent-200") - (841 joint "camera") - (842 dead "ecovent-48") - (942 blackout 10) - (944 joint "cameraB") - (945 blackout 0) - (945 dead "ecovent-200") - (945 display-level beach #f) - (1049 blackout 10) - (1051 joint "camera") - (1052 blackout 0) - (1135 blackout 10) - (1137 joint "cameraB") - (1138 blackout 0) - (1216 joint "camera") - ) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "assistant-introduction-blue-eco-switch" + :index 10 + :parts 11 + :command-list '((0 want-levels village1 beach) + (128 joint "cameraB") + (312 joint "camera") + (492 joint "cameraB") + (537 joint "camera") + (734 display-level beach movie) + (734 want-force-vis beach #t) + (735 alive "ecovent-48") + (742 blackout 10) + (743 joint "cameraB") + (745 blackout 0) + (839 alive "ecovent-200") + (841 joint "camera") + (842 dead "ecovent-48") + (942 blackout 10) + (944 joint "cameraB") + (945 blackout 0) + (945 dead "ecovent-200") + (945 display-level beach #f) + (1049 blackout 10) + (1051 joint "camera") + (1052 blackout 0) + (1135 blackout 10) + (1137 joint "cameraB") + (1138 blackout 0) + (1216 joint "camera") ) ) - (else - (if arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "assistant-introduction-race-bike" - :index 12 - :parts 6 - :command-list - '((0 want-levels village1 beach) (129 joint "cameraB") (319 joint "camera") (505 joint "cameraB")) - ) - ) - ) - ) - (((task-status need-reminder) (task-status need-reminder-a)) - (set! (-> obj skippable) #t) - (cond - ((= (current-task (-> obj tasks)) (game-task none)) - (new 'static 'spool-anim :name "assistant-reminder-1-generic" :index 14 :parts 2 :command-list '()) - ) - ((closed? (-> obj tasks) (game-task jungle-eggtop) (task-status need-resolution)) - (new 'static 'spool-anim :name "assistant-reminder-1-race-bike" :index 13 :parts 3 :command-list '()) - ) - ((or (closed? (-> obj tasks) (game-task misty-bike) (task-status need-resolution)) - (not (closed? (-> obj tasks) (game-task misty-bike) (task-status need-introduction))) - ) - (new 'static 'spool-anim :name "assistant-reminder-1-blue-eco-switch" :index 11 :parts 3 :command-list '()) - ) - ((zero? (get-reminder (-> obj tasks) 2)) - (if arg0 - (save-reminder (-> obj tasks) 1 2) - ) - (new 'static 'spool-anim :name "assistant-reminder-1-race-bike" :index 13 :parts 3 :command-list '()) - ) - (else - (if arg0 - (save-reminder (-> obj tasks) 0 2) - ) - (new 'static 'spool-anim :name "assistant-reminder-1-blue-eco-switch" :index 11 :parts 3 :command-list '()) - ) - ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (-> obj draw art-group data 3) ) + (else + (if arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "assistant-introduction-race-bike" + :index 12 + :parts 6 + :command-list '((0 want-levels village1 beach) (129 joint "cameraB") (319 joint "camera") (505 joint "cameraB")) + ) + ) + ) + ) + (((task-status need-reminder) (task-status need-reminder-a)) + (set! (-> obj skippable) #t) + (cond + ((= (current-task (-> obj tasks)) (game-task none)) + (new 'static 'spool-anim :name "assistant-reminder-1-generic" :index 14 :parts 2 :command-list '()) + ) + ((closed? (-> obj tasks) (game-task jungle-eggtop) (task-status need-resolution)) + (new 'static 'spool-anim :name "assistant-reminder-1-race-bike" :index 13 :parts 3 :command-list '()) + ) + ((or (closed? (-> obj tasks) (game-task misty-bike) (task-status need-resolution)) + (not (closed? (-> obj tasks) (game-task misty-bike) (task-status need-introduction))) + ) + (new 'static 'spool-anim :name "assistant-reminder-1-blue-eco-switch" :index 11 :parts 3 :command-list '()) + ) + ((zero? (get-reminder (-> obj tasks) 2)) + (if arg0 + (save-reminder (-> obj tasks) 1 2) + ) + (new 'static 'spool-anim :name "assistant-reminder-1-race-bike" :index 13 :parts 3 :command-list '()) + ) + (else + (if arg0 + (save-reminder (-> obj tasks) 0 2) + ) + (new 'static 'spool-anim :name "assistant-reminder-1-blue-eco-switch" :index 11 :parts 3 :command-list '()) + ) + ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (-> obj draw art-group data 3) ) ) ) @@ -185,10 +175,7 @@ (defmethod TODO-RENAME-43 assistant ((obj assistant)) (let ((s5-0 (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj))) (when s5-0 - (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-3 (the-as number (logior #x3f800000 v1-2))) - (f0-2 (+ -1.0 (the-as float v1-3))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 16384.0 (-> s5-0 y)) #f @@ -216,105 +203,88 @@ (defstate idle (assistant) :virtual #t - :code - (behavior () + :code (behavior () (if (!= (ja-group) assistant-idle-leaning-right-ja) (ja-channel-push! 1 (seconds 0.2)) ) (loop (TODO-RENAME-43 self) (ja :group! assistant-idle-leaning-right-ja) - (let* ((v1-11 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-12 (the-as number (logior #x3f800000 v1-11))) - ) - (countdown (gp-0 (+ (the int (+ -1.0 (the-as float v1-12))) 2)) - (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) + (countdown (gp-0 (+ (the int (rand-float-gen)) 2)) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) ) ) - (let* ((v1-46 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-47 (the-as number (logior #x3f800000 v1-46))) + (cond + ((< (rand-float-gen) 0.66) + (ja-no-eval :group! assistant-idle-transition-to-welding-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (sound-play-by-name + (static-sound-name "welding-loop") + (-> self sound-id) + 1024 + 0 + 0 + 1 + (the-as symbol (target-pos 0)) + ) + (ja :group! assistant-idle-welding-ja) + (let* ((f30-0 4.0) + (v1-76 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-77 (the-as number (logior #x3f800000 v1-76))) + ) + (countdown (gp-2 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-77)))) 4)) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (suspend) + (ja :num! (seek!)) + ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) + (until (ja-done? 0) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (suspend) + (ja :num! (seek! 0.0)) + ) ) - (cond - ((< (+ -1.0 (the-as float v1-47)) 0.66) - (ja-no-eval :group! assistant-idle-transition-to-welding-ja :num! (seek!) :frame-num 0.0) + ) + (sound-stop (-> self sound-id)) + (ja-no-eval :group! assistant-idle-transition-to-welding-ja :num! (seek! 0.0) :frame-num max) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! 0.0)) + ) + (when (< (rand-float-gen) 0.66) + (ja-no-eval :group! assistant-idle-wiping-brow-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) - (sound-play-by-name - (static-sound-name "welding-loop") - (-> self sound-id) - 1024 - 0 - 0 - 1 - (the-as symbol (target-pos 0)) - ) - (ja :group! assistant-idle-welding-ja) - (let* ((f30-0 4.0) - (v1-76 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-77 (the-as number (logior #x3f800000 v1-76))) - ) - (countdown (gp-2 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-77)))) 4)) - (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) - (suspend) - (ja :num! (seek!)) - ) - (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) - (until (ja-done? 0) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) - (suspend) - (ja :num! (seek! 0.0)) - ) - ) - ) - (sound-stop (-> self sound-id)) - (ja-no-eval :group! assistant-idle-transition-to-welding-ja :num! (seek! 0.0) :frame-num max) - (until (ja-done? 0) - (suspend) - (ja :num! (seek! 0.0)) - ) - (let* ((v1-159 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-160 (the-as number (logior #x3f800000 v1-159))) - ) - (when (< (+ -1.0 (the-as float v1-160)) 0.66) - (ja-no-eval :group! assistant-idle-wiping-brow-ja :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) - ) - ) ) - (else - (ja-no-eval :group! assistant-idle-transition-right-to-left-ja :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) - (let* ((v1-208 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-209 (the-as number (logior #x3f800000 v1-208))) - ) - (countdown (gp-3 (+ (the int (+ -1.0 (the-as float v1-209))) 1)) - (ja-no-eval :group! assistant-idle-leaning-left-ja :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) - ) - ) - (ja-no-eval :group! assistant-idle-transition-left-to-right-ja :num! (seek!) :frame-num 0.0) + ) + (else + (ja-no-eval :group! assistant-idle-transition-right-to-left-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (countdown (gp-3 (+ (the int (rand-float-gen)) 1)) + (ja-no-eval :group! assistant-idle-leaning-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) + (ja-no-eval :group! assistant-idle-transition-left-to-right-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) ) ) ) @@ -325,15 +295,13 @@ (defpartgroup group-assistant-torch :id 122 :bounds (static-bspherem 0 0 0 15) - :parts - ((sp-item 365 :fade-after (meters 30) :falloff-to (meters 30)) + :parts ((sp-item 365 :fade-after (meters 30) :falloff-to (meters 30)) (sp-item 366 :fade-after (meters 60) :falloff-to (meters 80)) ) ) (defpart 365 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -349,8 +317,7 @@ ) (defpart 366 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -375,8 +342,7 @@ ) (defpart 367 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 3.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.075) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -397,13 +363,9 @@ (when (< (-> arg2 y) (-> arg1 user-float)) (let ((gp-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) - ) - ) + (if (< (rand-float-gen) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) (sp-launch-particles-var *sp-particle-system-2d* diff --git a/goal_src/levels/village1/explorer.gc b/goal_src/levels/village1/explorer.gc index 467b74cb79..9dd1cd03b9 100644 --- a/goal_src/levels/village1/explorer.gc +++ b/goal_src/levels/village1/explorer.gc @@ -6,6 +6,7 @@ ;; dgos: L1, VI1 ;; DECOMP BEGINS + (import "goal_src/import/explorer-ag.gc") (deftype explorer (process-taskable) @@ -76,8 +77,7 @@ :name "explorer-introduction" :index 9 :parts 11 - :command-list - '((418 joint "cameraB") (695 shadow self #f) (695 joint "camera") (838 shadow self #t) (838 joint "cameraB")) + :command-list '((418 joint "cameraB") (695 shadow self #f) (695 joint "camera") (838 shadow self #t) (838 joint "cameraB")) ) ) (((task-status need-reminder)) @@ -91,8 +91,7 @@ :name "explorer-reminder-1" :index 10 :parts 5 - :command-list - '((0 send-event target draw #f) + :command-list '((0 send-event target draw #f) (148 send-event target draw #t) (148 joint "cameraB") (390 send-event target draw #f) @@ -125,8 +124,7 @@ :name "explorer-resolution" :index 12 :parts 5 - :command-list - '((167 joint "cameraB") (310 joint "camera")) + :command-list '((167 joint "cameraB") (310 joint "camera")) ) ) (else @@ -149,10 +147,7 @@ (defmethod TODO-RENAME-43 explorer ((obj explorer)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.85714287 f0-2) (play-ambient (-> obj ambient) "EXP-AM05" #f (-> obj root-override trans)) @@ -190,8 +185,7 @@ (defstate idle (explorer) :virtual #t - :code - (behavior () + :code (behavior () (if (!= (ja-group) explorer-idle-ja) (ja-channel-push! 1 (seconds 0.2)) ) @@ -210,154 +204,130 @@ ) ) ) - (let* ((v1-40 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-41 (the-as number (logior #x3f800000 v1-40))) + (cond + ((< (rand-float-gen) 0.5) + (ja-no-eval :group! explorer-idle2-look-at-map-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (let ((gp-1 (-> *display* base-frame-counter))) + (while (let ((s5-0 (-> *display* base-frame-counter)) + (f30-1 300.0) + (f28-0 0.5) + (f26-0 0.5) + ) + (< (- s5-0 (the-as time-frame (the int (* f30-1 (+ f28-0 (* f26-0 (rand-float-gen))))))) gp-1) + ) + (suspend) ) - (cond - ((< (+ -1.0 (the-as float v1-41)) 0.5) - (ja-no-eval :group! explorer-idle2-look-at-map-ja :num! (seek!) :frame-num 0.0) + ) + (when (< (rand-float-gen) 0.75) + (ja-no-eval :group! explorer-idle2-look-right-map-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) - (let ((gp-1 (-> *display* base-frame-counter))) - (while (let* ((s5-0 (-> *display* base-frame-counter)) - (f30-1 300.0) - (f28-0 0.5) - (f26-0 0.5) - (v1-68 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-69 (the-as number (logior #x3f800000 v1-68))) - ) - (< (- s5-0 (the-as time-frame (the int (* f30-1 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-69)))))))) gp-1) + (let ((gp-2 (-> *display* base-frame-counter))) + (while (let ((s5-1 (-> *display* base-frame-counter)) + (f30-2 300.0) + (f28-1 0.5) + (f26-1 0.5) + ) + (< (- s5-1 (the-as time-frame (the int (* f30-2 (+ f28-1 (* f26-1 (rand-float-gen))))))) gp-2) ) (suspend) ) ) - (let* ((v1-75 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-76 (the-as number (logior #x3f800000 v1-75))) - ) - (when (< (+ -1.0 (the-as float v1-76)) 0.75) - (ja-no-eval :group! explorer-idle2-look-right-map-ja :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) - (let ((gp-2 (-> *display* base-frame-counter))) - (while (let* ((s5-1 (-> *display* base-frame-counter)) - (f30-2 300.0) - (f28-1 0.5) - (f26-1 0.5) - (v1-104 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-105 (the-as number (logior #x3f800000 v1-104))) - ) - (< (- s5-1 (the-as time-frame (the int (* f30-2 (+ f28-1 (* f26-1 (+ -1.0 (the-as float v1-105)))))))) gp-2) - ) - (suspend) - ) - ) - (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) - (until (ja-done? 0) - (suspend) - (ja :num! (seek! 0.0)) - ) - (let* ((v1-135 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-136 (the-as number (logior #x3f800000 v1-135))) - ) - (when (< (+ -1.0 (the-as float v1-136)) 0.5) - (ja-no-eval :group! explorer-idle2-look-right-map-ja :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) - (let ((gp-3 (-> *display* base-frame-counter))) - (while (let* ((s5-2 (-> *display* base-frame-counter)) - (f30-3 300.0) - (f28-2 0.5) - (f26-2 0.5) - (v1-164 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-165 (the-as number (logior #x3f800000 v1-164))) - ) - (< (- s5-2 (the-as time-frame (the int (* f30-3 (+ f28-2 (* f26-2 (+ -1.0 (the-as float v1-165)))))))) gp-3) - ) - (suspend) - ) - ) - (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) - (until (ja-done? 0) - (suspend) - (ja :num! (seek! 0.0)) - ) - ) - ) - ) - ) - (ja-no-eval :group! explorer-idle2-look-at-map-ja :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) ) + (when (< (rand-float-gen) 0.5) + (ja-no-eval :group! explorer-idle2-look-right-map-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (let ((gp-3 (-> *display* base-frame-counter))) + (while (let ((s5-2 (-> *display* base-frame-counter)) + (f30-3 300.0) + (f28-2 0.5) + (f26-2 0.5) + ) + (< (- s5-2 (the-as time-frame (the int (* f30-3 (+ f28-2 (* f26-2 (rand-float-gen))))))) gp-3) + ) + (suspend) + ) + ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! 0.0)) + ) + ) ) - (else - (ja-no-eval :group! explorer-idle3-step-right-ja :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) + (ja-no-eval :group! explorer-idle2-look-at-map-ja :num! (seek! 0.0) :frame-num max) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! 0.0)) + ) + ) + (else + (ja-no-eval :group! explorer-idle3-step-right-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (let ((gp-4 (-> *display* base-frame-counter))) + (while (let ((s5-3 (-> *display* base-frame-counter)) + (f30-4 300.0) + (f28-3 0.5) + (f26-3 0.5) + ) + (< (- s5-3 (the-as time-frame (the int (* f30-4 (+ f28-3 (* f26-3 (rand-float-gen))))))) gp-4) + ) (suspend) - (ja :num! (seek!)) ) - (let ((gp-4 (-> *display* base-frame-counter))) - (while (let* ((s5-3 (-> *display* base-frame-counter)) - (f30-4 300.0) - (f28-3 0.5) - (f26-3 0.5) - (v1-237 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-238 (the-as number (logior #x3f800000 v1-237))) - ) - (< (- s5-3 (the-as time-frame (the int (* f30-4 (+ f28-3 (* f26-3 (+ -1.0 (the-as float v1-238)))))))) gp-4) - ) - (suspend) - ) - ) - (ja-no-eval :group! explorer-idle3-looking-ja :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) + ) + (ja-no-eval :group! explorer-idle3-looking-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (let ((gp-5 (-> *display* base-frame-counter))) + (while (let ((s5-4 (-> *display* base-frame-counter)) + (f30-5 300.0) + (f28-4 0.5) + (f26-4 0.5) + ) + (< (- s5-4 (the-as time-frame (the int (* f30-5 (+ f28-4 (* f26-4 (rand-float-gen))))))) gp-5) + ) (suspend) - (ja :num! (seek!)) ) - (let ((gp-5 (-> *display* base-frame-counter))) - (while (let* ((s5-4 (-> *display* base-frame-counter)) - (f30-5 300.0) - (f28-4 0.5) - (f26-4 0.5) - (v1-268 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-269 (the-as number (logior #x3f800000 v1-268))) - ) - (< (- s5-4 (the-as time-frame (the int (* f30-5 (+ f28-4 (* f26-4 (+ -1.0 (the-as float v1-269)))))))) gp-5) - ) - (suspend) - ) - ) - (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) - (until (ja-done? 0) + ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! 0.0)) + ) + (let ((gp-6 (-> *display* base-frame-counter))) + (while (let ((s5-5 (-> *display* base-frame-counter)) + (f30-6 300.0) + (f28-5 0.5) + (f26-5 0.5) + ) + (< (- s5-5 (the-as time-frame (the int (* f30-6 (+ f28-5 (* f26-5 (rand-float-gen))))))) gp-6) + ) (suspend) - (ja :num! (seek! 0.0)) - ) - (let ((gp-6 (-> *display* base-frame-counter))) - (while (let* ((s5-5 (-> *display* base-frame-counter)) - (f30-6 300.0) - (f28-5 0.5) - (f26-5 0.5) - (v1-301 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-302 (the-as number (logior #x3f800000 v1-301))) - ) - (< (- s5-5 (the-as time-frame (the int (* f30-6 (+ f28-5 (* f26-5 (+ -1.0 (the-as float v1-302)))))))) gp-6) - ) - (suspend) - ) - ) - (ja-no-eval :group! explorer-idle3-step-left-ja :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) ) ) + (ja-no-eval :group! explorer-idle3-step-left-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) ) ) ) diff --git a/goal_src/levels/village1/farmer.gc b/goal_src/levels/village1/farmer.gc index 0eea6cd3c3..78500ca77c 100644 --- a/goal_src/levels/village1/farmer.gc +++ b/goal_src/levels/village1/farmer.gc @@ -6,6 +6,7 @@ ;; dgos: L1, VI1 ;; DECOMP BEGINS + (import "goal_src/import/farmer-ag.gc") (deftype farmer (process-taskable) @@ -82,10 +83,7 @@ (defmethod TODO-RENAME-43 farmer ((obj farmer)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.8333333 f0-2) (play-ambient (-> obj ambient) "FAR-LO1A" #f (-> obj root-override trans)) diff --git a/goal_src/levels/village1/fishermans-boat.gc b/goal_src/levels/village1/fishermans-boat.gc index 364feb5383..b2de7ed37f 100644 --- a/goal_src/levels/village1/fishermans-boat.gc +++ b/goal_src/levels/village1/fishermans-boat.gc @@ -8,9 +8,10 @@ (declare-type fishermans-boat rigid-body-platform) ;; DECOMP BEGINS + +(import "goal_src/import/evilbro-ag.gc") (import "goal_src/import/fishermans-boat-ag.gc") (import "goal_src/import/evilsis-ag.gc") -(import "goal_src/import/evilbro-ag.gc") (define *fishermans-boat-constants* (new 'static 'rigid-body-platform-constants :drag-factor 2.0 @@ -656,8 +657,7 @@ ) (defpart 2896 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) (sp-flt spt-num 0.06) (sp-flt spt-x (meters 10)) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 3) 1.0) @@ -758,17 +758,7 @@ (defbehavior fishermans-boat-post fishermans-boat () (when (and *target* (-> self kill-player)) (set! (-> self kill-player) #f) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'attack) - (set! (-> a1-0 param 0) (the-as uint #f)) - (let ((a0-0 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-0 mode) 'endlessfall) - (set! (-> a1-0 param 1) (the-as uint a0-0)) - ) - (when (send-event-function *target* a1-0) - ) + (when (send-event *target* 'attack #f (static-attack-info ((mode 'endlessfall)))) ) ) (when (and *target* (-> self ignition)) @@ -906,18 +896,15 @@ ) (defstate fishermans-boat-docked-village (fishermans-boat) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior fishermans-boat) rigid-body-platform-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (fishermans-boat-leave-dock?) (go fishermans-boat-ride-to-misty) ) @@ -927,14 +914,12 @@ ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self anim) (new 'static 'spool-anim :name "fishermans-boat-ride-to-misty" :index 15 :parts 3 - :command-list - '((0 want-levels village1 misty) + :command-list '((0 want-levels village1 misty) (0 shadow target #f) (0 shadow sidekick #f) (250 display-level misty display) @@ -953,13 +938,11 @@ (anim-loop) (none) ) - :post - fishermans-boat-post + :post fishermans-boat-post ) (defstate fishermans-boat-leaving-village (fishermans-boat) - :trans - (behavior () + :trans (behavior () (when (< 614400.0 (vector-vector-xz-distance (-> self root-overlay trans) (-> self dock-point))) (load-state-want-display-level 'village1 'special) (load-state-want-display-level 'misty 'display) @@ -970,34 +953,26 @@ (rider-trans) (none) ) - :code - (behavior () + :code (behavior () (load-state-want-levels 'village1 'misty) - (let ((gp-0 (get-process *default-dead-pool* camera-tracker #x4000))) - (set! (-> self cam-tracker) - (ppointer->handle (when gp-0 - (let ((t9-2 (method-of-type camera-tracker activate))) - (t9-2 (the-as camera-tracker gp-0) self 'camera-tracker (the-as pointer #x70004000)) + (set! (-> self cam-tracker) + (ppointer->handle (process-spawn + camera-tracker + :init camera-tracker-init + (lambda :behavior fishermans-boat + () + (camera-change-to "camera-282" 0 #f) + (while (!= (-> self rbody lin-momentum-damping-factor) 'release) + (suspend) ) - (run-now-in-process - gp-0 - camera-tracker-init - (lambda :behavior fishermans-boat - () - (camera-change-to "camera-282" 0 #f) - (while (!= (-> self rbody lin-momentum-damping-factor) 'release) - (suspend) - ) - (set! (-> self rbody lin-momentum-damping-factor) (the-as float #f)) - (camera-change-to (the-as string 'base) 0 #f) - (none) - ) - ) - (-> gp-0 ppointer) + (set! (-> self rbody lin-momentum-damping-factor) (the-as float #f)) + (camera-change-to (the-as string 'base) 0 #f) + (none) ) + :to self ) - ) - ) + ) + ) (send-event (handle->process (-> self cam-tracker)) 'border #t) (send-event (handle->process (-> self cam-tracker)) 'mask #x20800) (fishermans-boat-set-path-point 0) @@ -1007,13 +982,11 @@ ) (none) ) - :post - fishermans-boat-post + :post fishermans-boat-post ) (defstate fishermans-boat-entering-village (fishermans-boat) - :trans - (behavior () + :trans (behavior () (when (fishermans-boat-enter-dock?) (set! (-> self waiting-for-player) #f) (when #t @@ -1028,8 +1001,7 @@ (rider-trans) (none) ) - :code - (behavior () + :code (behavior () (load-state-want-levels 'village1 'beach) (load-state-want-vis 'vi1) (fishermans-boat-set-dock-point 0) @@ -1037,23 +1009,19 @@ (anim-loop) (none) ) - :post - fishermans-boat-post + :post fishermans-boat-post ) (defstate fishermans-boat-docked-misty (fishermans-boat) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior fishermans-boat) rigid-body-platform-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (fishermans-boat-leave-dock?) (go fishermans-boat-ride-to-village1) ) @@ -1063,15 +1031,13 @@ ) (none) ) - :code - (behavior () + :code (behavior () (if #t (set! (-> self anim) (new 'static 'spool-anim :name "fishermans-boat-ride-to-village1" :index 16 :parts 3 - :command-list - '((0 want-levels village1 misty) + :command-list '((0 want-levels village1 misty) (0 shadow target #f) (0 shadow sidekick #f) (250 display-level village1 display) @@ -1089,8 +1055,7 @@ :name "fishermans-boat-ride-to-village1-alt" :index 17 :parts 12 - :command-list - '((0 want-levels village1 misty) + :command-list '((0 want-levels village1 misty) (105 want-levels village1 intro) (150 display-level intro display) (150 want-vis int) @@ -1116,13 +1081,11 @@ (anim-loop) (none) ) - :post - fishermans-boat-post + :post fishermans-boat-post ) (defstate fishermans-boat-leaving-misty (fishermans-boat) - :trans - (behavior () + :trans (behavior () (when (< 409600.0 (vector-vector-xz-distance (-> self root-overlay trans) (-> self dock-point))) (load-state-want-force-vis 'village1 #t) (load-state-want-display-level 'village1 'display) @@ -1133,33 +1096,25 @@ (rider-trans) (none) ) - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* camera-tracker #x4000))) - (set! (-> self cam-tracker) - (ppointer->handle (when gp-0 - (let ((t9-1 (method-of-type camera-tracker activate))) - (t9-1 (the-as camera-tracker gp-0) self 'camera-tracker (the-as pointer #x70004000)) + :code (behavior () + (set! (-> self cam-tracker) + (ppointer->handle (process-spawn + camera-tracker + :init camera-tracker-init + (lambda :behavior fishermans-boat + () + (camera-change-to "camera-287" 0 #f) + (while (!= (-> self rbody lin-momentum-damping-factor) 'release) + (suspend) ) - (run-now-in-process - gp-0 - camera-tracker-init - (lambda :behavior fishermans-boat - () - (camera-change-to "camera-287" 0 #f) - (while (!= (-> self rbody lin-momentum-damping-factor) 'release) - (suspend) - ) - (set! (-> self rbody lin-momentum-damping-factor) (the-as float #f)) - (camera-change-to (the-as string 'base) 0 #f) - (none) - ) - ) - (-> gp-0 ppointer) + (set! (-> self rbody lin-momentum-damping-factor) (the-as float #f)) + (camera-change-to (the-as string 'base) 0 #f) + (none) ) + :to self ) - ) - ) + ) + ) (send-event (handle->process (-> self cam-tracker)) 'border #t) (send-event (handle->process (-> self cam-tracker)) 'mask #x20800) (fishermans-boat-set-path-point 4) @@ -1169,13 +1124,11 @@ ) (none) ) - :post - fishermans-boat-post + :post fishermans-boat-post ) (defstate fishermans-boat-entering-misty (fishermans-boat) - :trans - (behavior () + :trans (behavior () (when (fishermans-boat-enter-dock?) (set! (-> self waiting-for-player) #f) (level-hint-spawn @@ -1194,8 +1147,7 @@ (rider-trans) (none) ) - :code - (behavior () + :code (behavior () (set-continue! *game-info* "misty-start") (fishermans-boat-set-dock-point 4) (fishermans-boat-set-path-point 2) @@ -1204,19 +1156,16 @@ ) (none) ) - :post - fishermans-boat-post + :post fishermans-boat-post ) (defstate fishermans-boat-player-control (fishermans-boat) - :exit - (behavior () + :exit (behavior () (send-event *camera* 'change-state *camera-base-mode* 0) (set! (-> self auto-pilot) #t) (none) ) - :trans - (behavior () + :trans (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) (nth-point (-> self boat-path) 0 gp-0) (if (< (vector-vector-xz-distance (-> self root-overlay trans) gp-0) 614400.0) @@ -1230,8 +1179,7 @@ 0 (none) ) - :code - (behavior () + :code (behavior () (send-event (handle->process (-> self cam-tracker)) 'message 'release) (suspend) (send-event *camera* 'change-state cam-stick 0) @@ -1243,8 +1191,7 @@ ) (none) ) - :post - fishermans-boat-post + :post fishermans-boat-post ) (defbehavior fishermans-boat-set-throttle-by-speed fishermans-boat ((arg0 float)) @@ -1260,20 +1207,17 @@ ) (defstate fishermans-boat-measurements (fishermans-boat) - :exit - (behavior () + :exit (behavior () (set! (-> self measure-parameters) #f) (none) ) - :trans - (behavior () + :trans (behavior () (if (cpad-pressed? 1 square) (go fishermans-boat-player-control) ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self auto-pilot) #f) (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 1) @@ -1311,8 +1255,7 @@ (go fishermans-boat-player-control) (none) ) - :post - fishermans-boat-post + :post fishermans-boat-post ) (defmethod relocate fishermans-boat ((obj fishermans-boat) (arg0 int)) @@ -1500,60 +1443,44 @@ ) (defstate fishermans-boat-ride-to-misty (fishermans-boat) - :code - (behavior () + :code (behavior () (set! (-> self propeller enable) #f) (quaternion-identity! (-> self root-overlay quat)) (set! (-> self root-overlay trans quad) (-> self entity extra trans quad)) (set! (-> self player-riding) #f) (set! (-> self auto-pilot) #f) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'clone-anim) - (set! (-> a1-0 param 0) (the-as uint self)) - (when (send-event-function *target* a1-0) - (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) - (send-event *target* 'blend-shape #t) - (let* ((gp-0 (get-process *default-dead-pool* othercam #x4000)) - (v1-20 (when gp-0 - (let ((t9-5 (method-of-type othercam activate))) - (t9-5 (the-as othercam gp-0) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 othercam-init-by-other self 5 #f #t) - (-> gp-0 ppointer) - ) - ) - ) - (send-event (ppointer->process v1-20) 'mask 2048) - ) - (set! (-> self draw force-lod) 0) - (ja-play-spooled-anim - (-> self anim) - (the-as art-joint-anim fishermans-boat-idle-ja) - (the-as art-joint-anim #f) - (the-as (function process-drawable symbol) false-func) - ) - (set! (-> self draw force-lod) -1) - (send-event *target* 'blend-shape #f) - (ja-channel-set! 1) - (ja :group! fishermans-boat-idle-ja) - (vector<-cspace! (-> self root-overlay trans) (-> self node-list data 3)) - (matrix->quaternion (-> self root-overlay quat) (-> self node-list data 3 bone transform)) - (fishermans-boat-reset-physics) - (transform-post) - (when *target* - (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) - (send-event *target* 'trans 'restore (-> self old-target-pos)) - (send-event *target* 'end-mode) - (update-transforms! (-> self root-overlay)) - (move-to-ground (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) - (logior! (-> *target* control status) (cshape-moving-flags onsurf onground tsurf)) - (suspend) - (send-event *camera* 'teleport-to-other-start-string) - ) - (set-continue! *game-info* "misty-start") + (when (send-event *target* 'clone-anim self) + (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) + (send-event *target* 'blend-shape #t) + (let ((v1-20 (process-spawn othercam self 5 #f #t :to self))) + (send-event (ppointer->process v1-20) 'mask 2048) ) + (set! (-> self draw force-lod) 0) + (ja-play-spooled-anim + (-> self anim) + (the-as art-joint-anim fishermans-boat-idle-ja) + (the-as art-joint-anim #f) + (the-as (function process-drawable symbol) false-func) + ) + (set! (-> self draw force-lod) -1) + (send-event *target* 'blend-shape #f) + (ja-channel-set! 1) + (ja :group! fishermans-boat-idle-ja) + (vector<-cspace! (-> self root-overlay trans) (-> self node-list data 3)) + (matrix->quaternion (-> self root-overlay quat) (-> self node-list data 3 bone transform)) + (fishermans-boat-reset-physics) + (transform-post) + (when *target* + (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) + (send-event *target* 'trans 'restore (-> self old-target-pos)) + (send-event *target* 'end-mode) + (update-transforms! (-> self root-overlay)) + (move-to-ground (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) + (logior! (-> *target* control status) (cshape-moving-flags onsurf onground tsurf)) + (suspend) + (send-event *camera* 'teleport-to-other-start-string) + ) + (set-continue! *game-info* "misty-start") ) (set! (-> self waiting-for-player) #t) (set! (-> self ignition) #f) @@ -1561,43 +1488,37 @@ (set! (-> self propeller enable) #t) (fishermans-boat-play-sounds) (copy-settings-from-target! *setting-control*) - (let ((gp-1 (get-process *default-dead-pool* process #x4000))) - (when gp-1 - (let ((t9-25 (method-of-type process activate))) - (t9-25 gp-1 self 'process (the-as pointer #x70004000)) + (process-spawn-function + process + (lambda :behavior fishermans-boat + () + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 1)) + (suspend) + ) ) - (run-next-time-in-process gp-1 (lambda :behavior fishermans-boat - () - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 1)) - (suspend) - ) - ) - (while (or (-> *setting-control* current ambient) - (-> *setting-control* current hint) - (-> *setting-control* current movie) - ) - (suspend) - ) - (suspend) - (level-hint-spawn - (game-text-id misty-daxter-scared) - "sksp0060" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (none) - ) - ) - (-> gp-1 ppointer) + (while (or (-> *setting-control* current ambient) + (-> *setting-control* current hint) + (-> *setting-control* current movie) + ) + (suspend) + ) + (suspend) + (level-hint-spawn + (game-text-id misty-daxter-scared) + "sksp0060" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (none) ) + :to self ) (go fishermans-boat-docked-misty) (none) ) - :post - (behavior () + :post (behavior () (ja-post) (fishermans-boat-spawn-particles 81920.0) (fishermans-boat-play-sounds) @@ -1606,8 +1527,7 @@ ) (defstate fishermans-boat-ride-to-village1 (fishermans-boat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -1616,19 +1536,9 @@ (when (= (level-status *level* 'intro) 'active) (let ((gp-1 (entity-by-name "evilbro-2"))) (when gp-1 - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self evilbro) - (ppointer->handle - (when s5-0 - (let ((t9-3 (method-of-type manipy activate))) - (t9-3 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> self root-overlay trans) gp-1 *fb-evilbro-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> self evilbro) + (ppointer->handle (manipy-spawn (-> self root-overlay trans) gp-1 *fb-evilbro-sg* #f :to self)) + ) (send-event (handle->process (-> self evilbro)) 'anim-mode 'clone-anim) (send-event (handle->process (-> self evilbro)) 'blend-shape #t) (send-event (handle->process (-> self evilbro)) 'center-joint 3) @@ -1636,19 +1546,9 @@ ) (let ((gp-2 (entity-by-name "evilsis-2"))) (when gp-2 - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self evilsis) - (ppointer->handle - (when s5-1 - (let ((t9-10 (method-of-type manipy activate))) - (t9-10 (the-as manipy s5-1) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> self root-overlay trans) gp-2 *fb-evilsis-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> self evilsis) + (ppointer->handle (manipy-spawn (-> self root-overlay trans) gp-2 *fb-evilsis-sg* #f :to self)) + ) (send-event (handle->process (-> self evilsis)) 'anim-mode 'clone-anim) (send-event (handle->process (-> self evilsis)) 'blend-shape #t) (send-event (handle->process (-> self evilsis)) 'center-joint 3) @@ -1672,8 +1572,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self propeller enable) #f) (set! (-> self evilbro) (the-as handle #f)) (set! (-> self evilsis) (the-as handle #f)) @@ -1681,53 +1580,38 @@ (set! (-> self root-overlay trans quad) (-> self entity extra trans quad)) (set! (-> self player-riding) #f) (set! (-> self auto-pilot) #f) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'clone-anim) - (set! (-> a1-0 param 0) (the-as uint self)) - (when (send-event-function *target* a1-0) - (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) - (send-event *target* 'blend-shape #t) - (let* ((gp-0 (get-process *default-dead-pool* othercam #x4000)) - (v1-20 (when gp-0 - (let ((t9-5 (method-of-type othercam activate))) - (t9-5 (the-as othercam gp-0) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 othercam-init-by-other self 5 #f #t) - (-> gp-0 ppointer) - ) - ) - ) - (send-event (ppointer->process v1-20) 'mask 2048) - ) - (set! (-> self draw force-lod) 0) - (ja-play-spooled-anim - (-> self anim) - (the-as art-joint-anim fishermans-boat-idle-ja) - (the-as art-joint-anim #f) - (the-as (function process-drawable symbol) false-func) - ) - (set! (-> self draw force-lod) -1) - (send-event *target* 'blend-shape #f) - (ja-channel-set! 1) - (ja :group! fishermans-boat-idle-ja) - (vector<-cspace! (-> self root-overlay trans) (-> self node-list data 3)) - (matrix->quaternion (-> self root-overlay quat) (-> self node-list data 3 bone transform)) - (fishermans-boat-reset-physics) - (transform-post) - (when *target* - (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) - (send-event *target* 'trans 'restore (-> self old-target-pos)) - (send-event *target* 'end-mode) - (update-transforms! (-> self root-overlay)) - (move-to-ground (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) - (logior! (-> *target* control status) (cshape-moving-flags onsurf onground tsurf)) - (suspend) - (send-event *camera* 'teleport-to-other-start-string) - ) - (set-continue! *game-info* "village1-hut") + (when (send-event *target* 'clone-anim self) + (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) + (send-event *target* 'blend-shape #t) + (let ((v1-20 (process-spawn othercam self 5 #f #t :to self))) + (send-event (ppointer->process v1-20) 'mask 2048) ) + (set! (-> self draw force-lod) 0) + (ja-play-spooled-anim + (-> self anim) + (the-as art-joint-anim fishermans-boat-idle-ja) + (the-as art-joint-anim #f) + (the-as (function process-drawable symbol) false-func) + ) + (set! (-> self draw force-lod) -1) + (send-event *target* 'blend-shape #f) + (ja-channel-set! 1) + (ja :group! fishermans-boat-idle-ja) + (vector<-cspace! (-> self root-overlay trans) (-> self node-list data 3)) + (matrix->quaternion (-> self root-overlay quat) (-> self node-list data 3 bone transform)) + (fishermans-boat-reset-physics) + (transform-post) + (when *target* + (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) + (send-event *target* 'trans 'restore (-> self old-target-pos)) + (send-event *target* 'end-mode) + (update-transforms! (-> self root-overlay)) + (move-to-ground (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) + (logior! (-> *target* control status) (cshape-moving-flags onsurf onground tsurf)) + (suspend) + (send-event *camera* 'teleport-to-other-start-string) + ) + (set-continue! *game-info* "village1-hut") ) (set! (-> self waiting-for-player) #t) (set! (-> self ignition) #f) @@ -1738,8 +1622,7 @@ (go fishermans-boat-docked-village) (none) ) - :post - (behavior () + :post (behavior () (ja-post) (fishermans-boat-spawn-particles 81920.0) (fishermans-boat-play-sounds) diff --git a/goal_src/levels/village1/sage.gc b/goal_src/levels/village1/sage.gc index e7a98c70cb..b356a838a6 100644 --- a/goal_src/levels/village1/sage.gc +++ b/goal_src/levels/village1/sage.gc @@ -6,6 +6,7 @@ ;; dgos: L1, VI1 ;; DECOMP BEGINS + (import "goal_src/import/sage-ag.gc") (deftype sage (process-taskable) @@ -33,8 +34,7 @@ :name "sage-introduction-misty-cannon" :index 8 :parts 12 - :command-list - '((1 blackout 0) + :command-list '((1 blackout 0) (100 want-levels village1 misty) (261 joint "cameraB") (521 joint "camera") @@ -61,8 +61,7 @@ :name "sage-intro-sequence-d1" :index 16 :parts 17 - :command-list - '((0 display-level misty #f) + :command-list '((0 display-level misty #f) (0 display-level village1 display) (0 want-vis vi1) (0 save) @@ -117,14 +116,8 @@ (when arg0 (let* ((s5-1 (-> obj tasks)) (s4-0 (method-of-object s5-1 save-reminder)) - (a1-6 (new 'stack-no-clear 'event-message-block)) ) - (set! (-> a1-6 from) pp) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'query) - (set! (-> a1-6 param 0) (the-as uint 'pickup)) - (set! (-> a1-6 param 1) (the-as uint 6)) - (s4-0 s5-1 (the int (the-as float (send-event-function *target* a1-6))) 1) + (s4-0 s5-1 (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 1) ) (close-status! (-> obj tasks) (task-status need-introduction)) ) @@ -132,8 +125,7 @@ :name "sage-intro-sequence-e" :index 14 :parts 13 - :command-list - '((0 want-levels village1 beach) + :command-list '((0 want-levels village1 beach) (0 blackout 0) (197 joint "cameraB") (361 joint "camera") @@ -177,8 +169,7 @@ :name "sage-introduction-misty-cannon" :index 8 :parts 12 - :command-list - '((0 want-levels village1 beach) + :command-list '((0 want-levels village1 beach) (261 joint "cameraB") (521 joint "camera") (776 joint "cameraB") @@ -207,8 +198,7 @@ :name "sage-reminder-1-misty-cannon" :index 9 :parts 5 - :command-list - '((86 joint "cameraB") (320 joint "camera")) + :command-list '((86 joint "cameraB") (320 joint "camera")) ) ) (else @@ -216,8 +206,7 @@ :name "sage-reminder-1-ecorocks" :index 11 :parts 4 - :command-list - '((0 want-levels village1 beach) + :command-list '((0 want-levels village1 beach) (245 display-level beach movie) (245 want-force-vis beach #t) (246 alive "ecoventrock-3") @@ -244,19 +233,9 @@ (set-setting! *setting-control* pp 'music-volume-movie 'abs 0.0 0) (copy-settings-from-target! *setting-control*) (close-status! (-> obj tasks) (task-status need-reward-speech)) - (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj assistant) - (ppointer->handle - (when s5-2 - (let ((t9-15 (method-of-type manipy activate))) - (t9-15 (the-as manipy s5-2) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 manipy-init (-> obj root-override trans) (-> obj entity) *assistant-sg* #f) - (-> s5-2 ppointer) - ) - ) - ) - ) + (set! (-> obj assistant) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *assistant-sg* #f :to obj)) + ) (send-event (handle->process (-> obj assistant)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj assistant)) 'blend-shape #t) (send-event (handle->process (-> obj assistant)) 'center-joint 3) @@ -271,8 +250,7 @@ :name "sage-intro-sequence-d2" :index 15 :parts 20 - :command-list - '((0 want-levels village1 beach) + :command-list '((0 want-levels village1 beach) (0 kill "assistant-11") (0 kill "reflector-middle-2") (0 kill "eco-11") @@ -445,10 +423,7 @@ (defmethod TODO-RENAME-43 sage ((obj sage)) (let ((s5-0 (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj))) (when s5-0 - (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-3 (the-as number (logior #x3f800000 v1-2))) - (f0-2 (+ -1.0 (the-as float v1-3))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< (-> s5-0 y) -12288.0) #f @@ -476,8 +451,7 @@ (defstate idle (sage) :virtual #t - :trans - (behavior () + :trans (behavior () (case (get-task-status (game-task intro)) (((task-status need-reward-speech)) (if (process-grab? *target*) @@ -488,8 +462,7 @@ ((-> (method-of-type process-taskable idle) trans)) (none) ) - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.2)) ) @@ -527,8 +500,7 @@ (defstate play-anim (sage) :virtual #t - :exit - (behavior () + :exit (behavior () (set! (-> self draw bounds w) 10240.0) (let ((a0-1 (handle->process (-> self assistant)))) (if a0-1 @@ -545,8 +517,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (case (get-task-status (game-task intro)) (((task-status need-reward-speech)) (spool-push *art-control* "sage-intro-sequence-d2" 0 self -1.0) diff --git a/goal_src/levels/village1/sequence-a-village1.gc b/goal_src/levels/village1/sequence-a-village1.gc index 098bced966..611590207e 100644 --- a/goal_src/levels/village1/sequence-a-village1.gc +++ b/goal_src/levels/village1/sequence-a-village1.gc @@ -14,13 +14,11 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2854 :period 900 :length 600)) + :parts ((sp-item 2854 :period 900 :length 600)) ) (defpart 2854 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 128.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-z (meters -1) (meters 2) 1.0) @@ -48,13 +46,11 @@ :linger-duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2855)) + :parts ((sp-item 2855)) ) (defpart 2855 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-scale-x (meters 0.025) (meters 0.025) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -82,8 +78,7 @@ :id 688 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2858 :period 300 :length 5 :binding 2856) + :parts ((sp-item 2858 :period 300 :length 5 :binding 2856) (sp-item 2856 :flags (start-dead launch-asap) :binding 2857) (sp-item 2856 :flags (start-dead launch-asap) :binding 2857) (sp-item 2857 :flags (start-dead)) @@ -95,8 +90,7 @@ ) (defpart 2858 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -2.5) (meters 5) 1.0) (sp-rnd-flt spt-y (meters -1.5) (meters 3) 1.0) @@ -112,8 +106,7 @@ ) (defpart 2856 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -136,8 +129,7 @@ ) (defpart 2857 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -156,8 +148,7 @@ ) (defpart 2860 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters -3.90625)) (sp-flt spt-scale-x (meters 15)) @@ -172,8 +163,7 @@ ) (defpart 2859 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.3) (sp-rnd-flt spt-x (meters -4) (meters 8) 1.0) (sp-rnd-flt spt-y (meters -3) (meters 6) 1.0) @@ -197,16 +187,14 @@ ) (defpart 2861 - :init-specs - ((sp-flt spt-fade-a 0.0) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 300 299 1) (sp-launcher-by-id spt-next-launcher 2862) ) ) (defpart 2862 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) (deftype sequenceA-village1 (process-taskable) @@ -229,19 +217,9 @@ (send-event *camera* 'force-blend 0) (send-event *camera* 'change-state cam-fixed 0) (send-event *target* 'sidekick #f) - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj boat) - (ppointer->handle - (when s5-0 - (let ((t9-6 (method-of-type manipy activate))) - (t9-6 (the-as manipy s5-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> obj root-override trans) (-> obj entity) *fishermans-boat-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> obj boat) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *fishermans-boat-sg* #f :to obj)) + ) (send-event (handle->process (-> obj boat)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj boat)) 'origin-joint-index 3) ) @@ -249,8 +227,7 @@ :name "sage-intro-sequence-a" :index 17 :parts 22 - :command-list - '((0 blackout 0) + :command-list '((0 blackout 0) (0 want-levels village1 misty) (1210 display-level misty display) (1210 want-vis mis) @@ -281,8 +258,7 @@ (defstate play-anim (sequenceA-village1) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('sidekick-human) (format 0 "got sidekick-human~%") @@ -290,19 +266,9 @@ (let ((gp-1 (entity-by-name "sequenceA-1"))) (when gp-1 (format 0 "found entity for sidekick-human~%") - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self side) - (ppointer->handle - (when s5-0 - (let ((t9-5 (method-of-type manipy activate))) - (t9-5 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> self root-override trans) gp-1 *sidekick-human-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> self side) + (ppointer->handle (manipy-spawn (-> self root-override trans) gp-1 *sidekick-human-sg* #f :to self)) + ) (send-event (handle->process (-> self side)) 'anim-mode 'clone-anim) (send-event (handle->process (-> self side)) 'center-joint 3) (send-event (handle->process (-> self side)) 'blend-shape #t) @@ -312,8 +278,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (send-event *target* 'sidekick #t) (let ((a0-2 (handle->process (-> self boat)))) (if a0-2 @@ -339,8 +304,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "sage-intro-sequence-b" 0 self -1.0) ((-> (method-of-type process-taskable play-anim) trans)) (none) @@ -403,15 +367,7 @@ (defun start-sequence-a () (set-blackout-frames (seconds 100)) - (let ((gp-0 (get-process *default-dead-pool* sequenceA-village1 #x4000))) - (when gp-0 - (let ((t9-2 (method-of-type sequenceA-village1 activate))) - (t9-2 (the-as sequenceA-village1 gp-0) *entity-pool* 'sequenceA-village1 (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 sequenceA-village1-init-by-other (entity-by-name "sage-23")) - (-> gp-0 ppointer) - ) - ) + (process-spawn sequenceA-village1 (entity-by-name "sage-23") :to *entity-pool*) 0 (none) ) diff --git a/goal_src/levels/village1/village-obs.gc b/goal_src/levels/village1/village-obs.gc index 1f8d58e929..c425b710f9 100644 --- a/goal_src/levels/village1/village-obs.gc +++ b/goal_src/levels/village1/village-obs.gc @@ -41,27 +41,28 @@ ;; DECOMP BEGINS -(import "goal_src/import/medres-beach1-ag.gc") -(import "goal_src/import/mayorgears-ag.gc") -(import "goal_src/import/medres-jungle2-ag.gc") -(import "goal_src/import/hutlamp-ag.gc") -(import "goal_src/import/revcycleprop-ag.gc") -(import "goal_src/import/sagesail-ag.gc") -(import "goal_src/import/villa-starfish-ag.gc") -(import "goal_src/import/medres-training-ag.gc") -(import "goal_src/import/medres-village12-ag.gc") -(import "goal_src/import/medres-beach-ag.gc") + (import "goal_src/import/windmill-sail-ag.gc") -(import "goal_src/import/medres-beach2-ag.gc") (import "goal_src/import/medres-beach3-ag.gc") -(import "goal_src/import/revcycle-ag.gc") -(import "goal_src/import/medres-jungle-ag.gc") +(import "goal_src/import/mayorgears-ag.gc") (import "goal_src/import/medres-village11-ag.gc") -(import "goal_src/import/medres-village13-ag.gc") -(import "goal_src/import/reflector-middle-ag.gc") +(import "goal_src/import/revcycleprop-ag.gc") +(import "goal_src/import/medres-jungle2-ag.gc") +(import "goal_src/import/revcycle-ag.gc") +(import "goal_src/import/medres-misty-ag.gc") +(import "goal_src/import/sagesail-ag.gc") (import "goal_src/import/windspinner-ag.gc") (import "goal_src/import/medres-jungle1-ag.gc") -(import "goal_src/import/medres-misty-ag.gc") +(import "goal_src/import/medres-village12-ag.gc") +(import "goal_src/import/hutlamp-ag.gc") +(import "goal_src/import/medres-jungle-ag.gc") +(import "goal_src/import/medres-village13-ag.gc") +(import "goal_src/import/medres-beach2-ag.gc") +(import "goal_src/import/villa-starfish-ag.gc") +(import "goal_src/import/medres-training-ag.gc") +(import "goal_src/import/medres-beach-ag.gc") +(import "goal_src/import/reflector-middle-ag.gc") +(import "goal_src/import/medres-beach1-ag.gc") (defskelgroup *med-res-jungle-sg* medres-jungle medres-jungle-lod0-jg medres-jungle-idle-ja ((medres-jungle-lod0-mg (meters 999999))) @@ -136,8 +137,7 @@ ) (defpart 368 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 2.5) (sp-flt spt-x (meters 0.8)) (sp-flt spt-scale-x (meters 1.7)) @@ -158,8 +158,7 @@ ) (defpart 369 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-x (meters 4)) (sp-flt spt-scale-x (meters 0.5)) @@ -186,8 +185,7 @@ ) (defpart 370 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 4)) (sp-flt spt-scale-x (meters 1.7)) @@ -213,8 +211,7 @@ ) (defpart 371 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 3.8) (sp-flt spt-x (meters 5.5)) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -283,8 +280,7 @@ (defpartgroup group-win-wind-mill :id 123 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 368 :fade-after (meters 100)) + :parts ((sp-item 368 :fade-after (meters 100)) (sp-item 369 :fade-after (meters 100)) (sp-item 370 :fade-after (meters 200)) (sp-item 371 :fade-after (meters 200)) @@ -294,13 +290,11 @@ (defpartgroup group-win-wind-mill-hires :id 124 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 368) (sp-item 369) (sp-item 370) (sp-item 371)) + :parts ((sp-item 368) (sp-item 369) (sp-item 370) (sp-item 371)) ) (defstate windmill-sail-idle (windmill-sail) - :trans - (behavior () + :trans (behavior () (cond ((task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) (let ((f30-0 (get-current-value (-> self sync) 65536.0))) @@ -351,10 +345,8 @@ ) (none) ) - :code - (the-as (function none :behavior windmill-sail) anim-loop) - :post - (the-as (function none :behavior windmill-sail) ja-post) + :code (the-as (function none :behavior windmill-sail) anim-loop) + :post (the-as (function none :behavior windmill-sail) ja-post) ) (defmethod init-from-entity! windmill-sail ((obj windmill-sail) (arg0 entity-actor)) @@ -397,8 +389,7 @@ ) (defstate sagesail-idle (sagesail) - :trans - (behavior () + :trans (behavior () (let ((f0-0 (get-current-value (-> self sync) 65536.0))) (quaternion-axis-angle! (-> self root-override quat) @@ -412,10 +403,8 @@ (quaternion-normalize! (-> self root-override quat)) (none) ) - :code - (the-as (function none :behavior sagesail) anim-loop) - :post - (the-as (function none :behavior sagesail) ja-post) + :code (the-as (function none :behavior sagesail) anim-loop) + :post (the-as (function none :behavior sagesail) ja-post) ) (defmethod init-from-entity! sagesail ((obj sagesail) (arg0 entity-actor)) @@ -468,8 +457,7 @@ ) (defstate windspinner-idle (windspinner) - :trans - (behavior () + :trans (behavior () (let* ((f0-0 0.992) (f1-0 0.008090864) (a0-0 (-> self root trans)) @@ -505,10 +493,8 @@ (quaternion-normalize! (-> self root quat)) (none) ) - :code - (the-as (function none :behavior windspinner) anim-loop) - :post - (the-as (function none :behavior windspinner) ja-post) + :code (the-as (function none :behavior windspinner) anim-loop) + :post (the-as (function none :behavior windspinner) ja-post) ) (defmethod init-from-entity! windspinner ((obj windspinner) (arg0 entity-actor)) @@ -545,8 +531,7 @@ ) (defstate mayorgears-idle (mayorgears) - :code - (behavior () + :code (behavior () (loop (if (task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) (ja :num! (loop!)) @@ -556,8 +541,7 @@ ) (none) ) - :post - (the-as (function none :behavior mayorgears) ja-post) + :post (the-as (function none :behavior mayorgears) ja-post) ) (defmethod init-from-entity! mayorgears ((obj mayorgears) (arg0 entity-actor)) @@ -590,18 +574,15 @@ ) (defstate reflector-middle-idle (reflector-middle) - :trans - (behavior () + :trans (behavior () (when (task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) (process-entity-status! self (entity-perm-status complete) #t) (draw-eco-beam (-> self reflector-trans) (-> self next-reflector-trans)) ) (none) ) - :code - (the-as (function none :behavior reflector-middle) anim-loop) - :post - (the-as (function none :behavior reflector-middle) ja-post) + :code (the-as (function none :behavior reflector-middle) anim-loop) + :post (the-as (function none :behavior reflector-middle) ja-post) ) (defmethod init-from-entity! reflector-middle ((obj reflector-middle) (arg0 entity-actor)) @@ -636,8 +617,7 @@ (defstate reflector-end-idle (reflector-end) - :code - (the-as (function none :behavior reflector-end) anim-loop) + :code (the-as (function none :behavior reflector-end) anim-loop) ) (defmethod init-from-entity! reflector-end ((obj reflector-end) (arg0 entity-actor)) @@ -679,45 +659,38 @@ (defstate starfish-idle (starfish) - :enter - (behavior () + :enter (behavior () (move-to-ground (-> self collide-info) 40960.0 40960.0 #t (collide-kind background)) (set! (-> self state-time) (-> *display* base-frame-counter)) (ja-channel-set! 0) (none) ) - :exit - (behavior () + :exit (behavior () (ja-channel-set! 1) (none) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 163840.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)))) (go starfish-patrol) ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior starfish) ja-post) + :post (the-as (function none :behavior starfish) ja-post) ) (defstate starfish-patrol (starfish) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self nav flags) (logior (nav-control-flags navcf19) (-> self nav flags))) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) (if (or (not *target*) (< 204800.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans))) @@ -727,8 +700,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self target-speed) 4096.0) (set! (-> self rotate-speed) 12743.111) (set! (-> self turn-time) (seconds 0.5)) @@ -741,8 +713,7 @@ ) (none) ) - :post - (the-as (function none :behavior starfish) nav-enemy-patrol-post) + :post (the-as (function none :behavior starfish) nav-enemy-patrol-post) ) (define *starfish-nav-enemy-info* (new 'static 'nav-enemy-info @@ -854,22 +825,12 @@ (defbehavior starfish-spawn-child starfish () (let ((gp-0 (new-stack-vector0))) (get-random-point (-> self path) gp-0) - (let ((s5-0 (get-process *default-dead-pool* starfish #x4000))) - (the-as (pointer starfish) (when s5-0 - (let ((t9-2 (method-of-type starfish activate))) - (t9-2 (the-as starfish s5-0) self 'starfish (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 starfish-init-by-other self gp-0) - (-> s5-0 ppointer) - ) - ) - ) + (process-spawn starfish self gp-0 :to self) ) ) (defstate villa-starfish-idle (villa-starfish) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (loop (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) @@ -884,8 +845,7 @@ ) (none) ) - :post - (the-as (function none :behavior villa-starfish) #f) + :post (the-as (function none :behavior villa-starfish) #f) ) (defmethod init-from-entity! villa-starfish ((obj villa-starfish) (arg0 entity-actor)) @@ -913,16 +873,14 @@ (defstate village-fish-idle (village-fish) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior village-fish) #f) + :post (the-as (function none :behavior village-fish) #f) ) (defmethod init-from-entity! village-fish ((obj village-fish) (arg0 entity-actor)) @@ -1006,8 +964,7 @@ ) (defstate hutlamp-idle (hutlamp) - :code - (behavior () + :code (behavior () (loop (let ((f0-3 (* 1820.4445 (sin (* 65536.0 (update-clock (-> self clock))))))) (quaternion-vector-angle! (-> self pivot transform quat) *x-vector* f0-3) @@ -1016,8 +973,7 @@ ) (none) ) - :post - (the-as (function none :behavior hutlamp) ja-post) + :post (the-as (function none :behavior hutlamp) ja-post) ) (defmethod init-from-entity! hutlamp ((obj hutlamp) (arg0 entity-actor)) @@ -1050,10 +1006,8 @@ (defstate idle (revcycleprop) :virtual #t - :code - (the-as (function none :behavior revcycleprop) anim-loop) - :post - (the-as (function none :behavior revcycleprop) ja-post) + :code (the-as (function none :behavior revcycleprop) anim-loop) + :post (the-as (function none :behavior revcycleprop) ja-post) ) (defmethod init-from-entity! revcycleprop ((obj revcycleprop) (arg0 entity-actor)) @@ -1084,10 +1038,8 @@ (defstate idle (revcycle) :virtual #t - :code - (the-as (function none :behavior revcycle) anim-loop) - :post - (the-as (function none :behavior revcycle) ja-post) + :code (the-as (function none :behavior revcycle) anim-loop) + :post (the-as (function none :behavior revcycle) ja-post) ) (defmethod init-from-entity! revcycle ((obj revcycle) (arg0 entity-actor)) @@ -1112,8 +1064,7 @@ :count 3 :converted #f :normal-scale 4.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 10.0 :xdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 10.0 :xdiv -1 :zdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 5.0 :xdiv 5 :zdiv 3 :speed 0.75) diff --git a/goal_src/levels/village1/village1-part.gc b/goal_src/levels/village1/village1-part.gc index 8c4fe2e066..c72df280b5 100644 --- a/goal_src/levels/village1/village1-part.gc +++ b/goal_src/levels/village1/village1-part.gc @@ -19,8 +19,7 @@ (defpartgroup group-village1-butterflies :id 127 :bounds (static-bspherem 0 0 0 30) - :parts - ((sp-item 380 :fade-after (meters 120) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 381) + :parts ((sp-item 380 :fade-after (meters 120) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 381) (sp-item 380 :fade-after (meters 120) :period 6637 :length 5 :hour-mask #b111111100000000000111111 :binding 381) (sp-item 380 :fade-after (meters 120) :period 9846 :length 5 :hour-mask #b111111100000000000111111 :binding 381) (sp-item 381 :flags (start-dead launch-asap) :binding 382) @@ -37,8 +36,7 @@ ) (defpart 380 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 7.5) 1.0) (sp-rnd-flt spt-y (meters 14) (meters 3) 1.0) @@ -57,21 +55,18 @@ ) (defpart 383 - :init-specs - ((sp-flt spt-accel-y 0.0) + :init-specs ((sp-flt spt-accel-y 0.0) (sp-int-plain-rnd spt-next-time 2700 1499 1) (sp-launcher-by-id spt-next-launcher 384) ) ) (defpart 384 - :init-specs - ((sp-flt spt-accel-y 1.3653333)) + :init-specs ((sp-flt spt-accel-y 1.3653333)) ) (defpart 381 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -94,8 +89,7 @@ ) (defpart 385 - :init-specs - ((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) + :init-specs ((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) (sp-int-plain-rnd spt-next-time 150 449 1) @@ -104,8 +98,7 @@ ) (defpart 382 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 0.9)) @@ -124,16 +117,14 @@ (defpartgroup group-village1-moth :id 128 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 386 :fade-after (meters 120) :flags (bit1) :period 18030 :length 5 :hour-mask #b1111111110000000 :binding 387) + :parts ((sp-item 386 :fade-after (meters 120) :flags (bit1) :period 18030 :length 5 :hour-mask #b1111111110000000 :binding 387) (sp-item 387 :flags (start-dead launch-asap) :binding 388) (sp-item 388 :flags (is-3d start-dead)) ) ) (defpart 386 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.1)) (sp-copy-from-other spt-scale-y -4) @@ -146,8 +137,7 @@ ) (defpart 387 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 1.5)) @@ -170,8 +160,7 @@ ) (defpart 389 - :init-specs - ((sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) + :init-specs ((sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) (sp-rnd-flt spt-vel-y (meters -0.0148148155) (meters 0.029629631) 1.0) (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) (sp-int-plain-rnd spt-next-time 150 449 1) @@ -180,8 +169,7 @@ ) (defpart 388 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 0.4)) @@ -199,8 +187,7 @@ (defpartgroup group-village1-hummingbird :id 129 :bounds (static-bspherem 0 3 0 4) - :parts - ((sp-item 390 :fade-after (meters 20) :flags (is-3d bit1) :period 6000 :length 5 :hour-mask #b111111100000000000111111) + :parts ((sp-item 390 :fade-after (meters 20) :flags (is-3d bit1) :period 6000 :length 5 :hour-mask #b111111100000000000111111) (sp-item 391 :fade-after (meters 20) :flags (is-3d bit1) :period 6000 :length 5) (sp-item 392 :fade-after (meters 20) :flags (is-3d bit1) :period 6000 :length 5) (sp-item 393 :fade-after (meters 20) :flags (is-3d bit1) :period 6000 :length 5) @@ -210,8 +197,7 @@ ) (defpart 390 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -231,8 +217,7 @@ ) (defpart 396 - :init-specs - ((sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + :init-specs ((sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) (sp-rnd-int spt-a 1119879168 1 16.0) (sp-int spt-next-time 5) (sp-launcher-by-id spt-next-launcher 396) @@ -240,8 +225,7 @@ ) (defpart 391 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -261,8 +245,7 @@ ) (defpart 397 - :init-specs - ((sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + :init-specs ((sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) (sp-rnd-int spt-a 1119879168 1 16.0) (sp-flt spt-accel-x 2.7306666) (sp-flt spt-accel-y 1.3653333) @@ -272,8 +255,7 @@ ) (defpart 398 - :init-specs - ((sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + :init-specs ((sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) (sp-rnd-int spt-a 1119879168 1 16.0) (sp-int spt-next-time 5) (sp-launcher-by-id spt-next-launcher 398) @@ -281,8 +263,7 @@ ) (defpart 392 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -304,8 +285,7 @@ ) (defpart 399 - :init-specs - ((sp-flt spt-rot-x 24576.0) + :init-specs ((sp-flt spt-rot-x 24576.0) (sp-flt spt-rot-y (degrees 90.0)) (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) (sp-rnd-int spt-a 1107296256 1 32.0) @@ -315,8 +295,7 @@ ) (defpart 393 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -338,8 +317,7 @@ ) (defpart 400 - :init-specs - ((sp-flt spt-rot-x 24576.0) + :init-specs ((sp-flt spt-rot-x 24576.0) (sp-flt spt-rot-y (degrees 90.0)) (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) (sp-rnd-int spt-a 1107296256 1 32.0) @@ -351,8 +329,7 @@ ) (defpart 401 - :init-specs - ((sp-flt spt-rot-x 24576.0) + :init-specs ((sp-flt spt-rot-x 24576.0) (sp-flt spt-rot-y (degrees 90.0)) (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) (sp-rnd-int spt-a 1107296256 1 32.0) @@ -362,8 +339,7 @@ ) (defpart 394 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 8192.0) @@ -384,8 +360,7 @@ ) (defpart 402 - :init-specs - ((sp-flt spt-rot-x 8192.0) + :init-specs ((sp-flt spt-rot-x 8192.0) (sp-flt spt-rot-y (degrees -90.0)) (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) (sp-rnd-int spt-a 1107296256 1 32.0) @@ -395,8 +370,7 @@ ) (defpart 395 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 8192.0) @@ -418,8 +392,7 @@ ) (defpart 403 - :init-specs - ((sp-flt spt-rot-x 8192.0) + :init-specs ((sp-flt spt-rot-x 8192.0) (sp-flt spt-rot-y (degrees -90.0)) (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) (sp-rnd-int spt-a 1107296256 1 32.0) @@ -431,8 +404,7 @@ ) (defpart 404 - :init-specs - ((sp-flt spt-rot-x 8192.0) + :init-specs ((sp-flt spt-rot-x 8192.0) (sp-flt spt-rot-y (degrees -90.0)) (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) (sp-rnd-int spt-a 1107296256 1 32.0) @@ -442,8 +414,7 @@ ) (defpart 405 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.03) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 2.3)) @@ -470,8 +441,7 @@ ) (defpart 406 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) @@ -493,8 +463,7 @@ ) (defpart 407 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-flt spt-y (meters 1.2)) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) @@ -523,8 +492,7 @@ ) (defpart 408 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.16) (sp-rnd-flt spt-x (meters -0.22) (meters 0.44) 1.0) (sp-flt spt-y (meters 0)) @@ -552,8 +520,7 @@ (defpartgroup group-village1-pot :id 130 :bounds (static-bspherem 0 2.5 0 2.5) - :parts - ((sp-item 405 :fade-after (meters 50) :falloff-to (meters 60)) + :parts ((sp-item 405 :fade-after (meters 50) :falloff-to (meters 60)) (sp-item 406 :fade-after (meters 50) :falloff-to (meters 60)) (sp-item 407 :fade-after (meters 60) :falloff-to (meters 80)) (sp-item 409 :fade-after (meters 60) :falloff-to (meters 80)) @@ -563,8 +530,7 @@ (defpartgroup group-village1-mayor-fire :id 131 :bounds (static-bspherem 0 2.5 0 2.5) - :parts - ((sp-item 410 :fade-after (meters 50) :falloff-to (meters 80)) + :parts ((sp-item 410 :fade-after (meters 50) :falloff-to (meters 80)) (sp-item 411 :fade-after (meters 40) :falloff-to (meters 40) :binding 2292) (sp-item 2292 :flags (bit1 start-dead launch-asap)) (sp-item 2292 :flags (bit1 start-dead launch-asap)) @@ -636,8 +602,7 @@ ) (defpart 411 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-sound (static-sound-spec "fire-pop" :volume 100.0)) (sp-rnd-flt spt-x (meters -0.6) (meters 1.3) 1.0) @@ -660,8 +625,7 @@ ) (defpart 2292 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -688,13 +652,11 @@ ) (defpart 2293 - :init-specs - ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g 1.0666667) (sp-flt spt-fade-b 1.0666667)) + :init-specs ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g 1.0666667) (sp-flt spt-fade-b 1.0666667)) ) (defpart 410 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 4.0 10.0 1.0) (sp-rnd-flt spt-x (meters -1.2) (meters 2) 1.0) (sp-flt spt-y (meters 0)) @@ -718,8 +680,7 @@ ) (defpart 412 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-flt spt-y (meters 0)) @@ -747,8 +708,7 @@ ) (defpart 413 - :init-specs - ((sp-flt spt-num 0.4) + :init-specs ((sp-flt spt-num 0.4) (sp-flt spt-x (meters 0.2)) (sp-int spt-rot-x 8) (sp-flt spt-r 3276.8) @@ -766,15 +726,13 @@ ) (defpart 414 - :init-specs - ((sp-flt spt-fade-b -1.3653333)) + :init-specs ((sp-flt spt-fade-b -1.3653333)) ) (defpartgroup group-village1-sagehut-seagulls :id 132 :bounds (static-bspherem 0 8 0 45) - :parts - ((sp-item 415 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 416) + :parts ((sp-item 415 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 416) (sp-item 415 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 416) (sp-item 415 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 416) (sp-item 415 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 416) @@ -837,8 +795,7 @@ ) (defpart 415 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-func spt-birth-func 'birth-func-random-next-time) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) @@ -862,8 +819,7 @@ ) (defpart 416 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-func spt-birth-func 'birth-func-copy-omega-to-z) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) @@ -888,8 +844,7 @@ ) (defpart 418 - :init-specs - ((sp-flt spt-scale-x (meters 8)) + :init-specs ((sp-flt spt-scale-x (meters 8)) (sp-flt spt-scalevel-x (meters -0.08)) (sp-int spt-timer 600) (sp-int spt-next-time 100) @@ -898,8 +853,7 @@ ) (defpart 419 - :init-specs - ((sp-flt spt-scale-x (meters 0)) + :init-specs ((sp-flt spt-scale-x (meters 0)) (sp-flt spt-scalevel-x (meters -0.04)) (sp-int spt-timer 600) (sp-int spt-next-time 199) @@ -908,8 +862,7 @@ ) (defpart 417 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-func spt-birth-func 'birth-func-copy2-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 4)) @@ -923,15 +876,13 @@ (defpartgroup group-village1-butterfly-sitting :id 133 :bounds (static-bspherem 0 0.2 0 0.5) - :parts - ((sp-item 420 :fade-after (meters 60) :flags (is-3d bit1) :period 600 :length 5) + :parts ((sp-item 420 :fade-after (meters 60) :flags (is-3d bit1) :period 600 :length 5) (sp-item 421 :fade-after (meters 60) :flags (is-3d bit1) :period 600 :length 5) ) ) (defpart 420 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.05)) (sp-flt spt-scale-x (meters 0.9)) @@ -951,13 +902,11 @@ ) (defpart 422 - :init-specs - ((sp-flt spt-rotvel-x (degrees -0.31666666))) + :init-specs ((sp-flt spt-rotvel-x (degrees -0.31666666))) ) (defpart 421 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.05)) (sp-flt spt-scale-x (meters 0.9)) @@ -977,15 +926,13 @@ ) (defpart 423 - :init-specs - ((sp-flt spt-rotvel-x (degrees 0.31666666))) + :init-specs ((sp-flt spt-rotvel-x (degrees 0.31666666))) ) (defpartgroup group-village1-fountain :id 134 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 424 :fade-after (meters 150) :falloff-to (meters 150)) + :parts ((sp-item 424 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 425 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 425 :fade-after (meters 150) :falloff-to (meters 150) :period 463 :length 139) (sp-item 426 :fade-after (meters 90) :falloff-to (meters 90) :period 526 :length 186) @@ -998,8 +945,7 @@ ) (defpart 431 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 1.0 4.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1019,8 +965,7 @@ ) (defpart 430 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.9) (sp-rnd-flt spt-y (meters 0) (meters 0.4) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) @@ -1045,13 +990,11 @@ ) (defpart 432 - :init-specs - ((sp-flt spt-fade-a -0.07111111)) + :init-specs ((sp-flt spt-fade-a -0.07111111)) ) (defpart 426 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 2.0 4.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters 0.4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) @@ -1078,8 +1021,7 @@ ) (defpart 428 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 2.0 4.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters 0.4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) @@ -1106,8 +1048,7 @@ ) (defpart 427 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 2.0 4.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters 0.4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) @@ -1134,8 +1075,7 @@ ) (defpart 425 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 3.0 4.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters 0.4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) @@ -1162,8 +1102,7 @@ ) (defpart 429 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-y (meters 0) (meters 0.4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) @@ -1190,8 +1129,7 @@ ) (defpart 424 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 1.0 7.0 1.0) (sp-rnd-flt spt-y (meters -0.4) (meters 0.4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.15) 1.0) @@ -1212,13 +1150,11 @@ ) (defpart 433 - :init-specs - ((sp-flt spt-scalevel-y (meters 0.0023076923))) + :init-specs ((sp-flt spt-scalevel-y (meters 0.0023076923))) ) (defpart 434 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1237,8 +1173,7 @@ ) (defpart 435 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.02)) (sp-flt spt-scale-x (meters 1)) @@ -1298,8 +1233,7 @@ (defpartgroup group-village1-bird-lady-birds :id 135 :bounds (static-bspherem 0 0 6 18) - :parts - ((sp-item 436 :fade-after (meters 40) :period 900 :length 5 :binding 437) + :parts ((sp-item 436 :fade-after (meters 40) :period 900 :length 5 :binding 437) (sp-item 437 :flags (bit1 start-dead launch-asap) :binding 438) (sp-item 438 :flags (is-3d bit1 start-dead) :binding 439) (sp-item 439 :flags (is-3d bit1 start-dead) :binding 440) @@ -1369,8 +1303,7 @@ ) (defpart 472 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0.8)) (sp-flt spt-y (meters 0.8)) @@ -1385,8 +1318,7 @@ ) (defpart 473 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2)) (sp-flt spt-y (meters 1.0666667)) @@ -1405,8 +1337,7 @@ ) (defpart 474 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -1422,8 +1353,7 @@ ) (defpart 475 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1440,8 +1370,7 @@ ) (defpart 476 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1458,8 +1387,7 @@ ) (defpart 464 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 5.9)) (sp-flt spt-y (meters 2.4)) @@ -1478,8 +1406,7 @@ ) (defpart 465 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -1494,8 +1421,7 @@ ) (defpart 466 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1512,8 +1438,7 @@ ) (defpart 467 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1530,8 +1455,7 @@ ) (defpart 468 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -8)) (sp-flt spt-y (meters 3.7)) @@ -1550,8 +1474,7 @@ ) (defpart 469 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -1566,8 +1489,7 @@ ) (defpart 470 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1584,8 +1506,7 @@ ) (defpart 471 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1602,8 +1523,7 @@ ) (defpart 460 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 1)) (sp-flt spt-y (meters 0.4)) @@ -1622,13 +1542,11 @@ ) (defpart 477 - :init-specs - ((sp-flt spt-accel-y 0.53248)) + :init-specs ((sp-flt spt-accel-y 0.53248)) ) (defpart 461 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -1643,8 +1561,7 @@ ) (defpart 462 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1661,8 +1578,7 @@ ) (defpart 463 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1679,8 +1595,7 @@ ) (defpart 457 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -6)) (sp-flt spt-y (meters 1.9)) @@ -1700,8 +1615,7 @@ ) (defpart 458 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -6)) (sp-flt spt-y (meters 1.9)) @@ -1724,8 +1638,7 @@ ) (defpart 459 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -6)) (sp-flt spt-y (meters 1.9)) @@ -1748,8 +1661,7 @@ ) (defpart 454 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -5.5)) (sp-flt spt-y (meters 4.5)) @@ -1769,8 +1681,7 @@ ) (defpart 455 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -5.5)) (sp-flt spt-y (meters 4.5)) @@ -1793,8 +1704,7 @@ ) (defpart 456 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -5.5)) (sp-flt spt-y (meters 4.5)) @@ -1817,8 +1727,7 @@ ) (defpart 451 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2)) (sp-flt spt-y (meters 5)) @@ -1838,8 +1747,7 @@ ) (defpart 452 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2)) (sp-flt spt-y (meters 5)) @@ -1862,13 +1770,11 @@ ) (defpart 478 - :init-specs - ((sp-flt spt-rotvel-x (degrees -0.31666666))) + :init-specs ((sp-flt spt-rotvel-x (degrees -0.31666666))) ) (defpart 453 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2)) (sp-flt spt-y (meters 5)) @@ -1891,13 +1797,11 @@ ) (defpart 479 - :init-specs - ((sp-flt spt-rotvel-x (degrees 0.31666666))) + :init-specs ((sp-flt spt-rotvel-x (degrees 0.31666666))) ) (defpart 446 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -6.4)) (sp-flt spt-y (meters 4.8)) @@ -1912,8 +1816,7 @@ ) (defpart 447 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.7111111)) (sp-flt spt-y (meters 4)) @@ -1932,8 +1835,7 @@ ) (defpart 448 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -1949,8 +1851,7 @@ ) (defpart 449 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1967,8 +1868,7 @@ ) (defpart 450 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1985,8 +1885,7 @@ ) (defpart 441 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.1)) (sp-flt spt-y (meters 3.7)) @@ -2001,8 +1900,7 @@ ) (defpart 442 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters -1.8666667)) @@ -2021,8 +1919,7 @@ ) (defpart 443 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -2038,8 +1935,7 @@ ) (defpart 444 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -2056,8 +1952,7 @@ ) (defpart 445 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -2074,8 +1969,7 @@ ) (defpart 436 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.3)) (sp-flt spt-y (meters 4.6)) @@ -2090,8 +1984,7 @@ ) (defpart 437 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 1.4222223)) @@ -2110,8 +2003,7 @@ ) (defpart 438 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -2126,8 +2018,7 @@ ) (defpart 439 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -2144,8 +2035,7 @@ ) (defpart 440 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) diff --git a/goal_src/levels/village1/village1-part2.gc b/goal_src/levels/village1/village1-part2.gc index 37eb63b597..28dc32888f 100644 --- a/goal_src/levels/village1/village1-part2.gc +++ b/goal_src/levels/village1/village1-part2.gc @@ -10,8 +10,7 @@ (defpartgroup group-village1-sagehut-rings :id 136 :bounds (static-bspherem 7 4 -4.5 12) - :parts - ((sp-item 480 :fade-after (meters 60) :flags (is-3d)) + :parts ((sp-item 480 :fade-after (meters 60) :flags (is-3d)) (sp-item 481 :fade-after (meters 60) :flags (is-3d)) (sp-item 482 :fade-after (meters 50) :binding 483) (sp-item 483 :fade-after (meters 50) :flags (start-dead launch-asap) :period 1200 :length 5) @@ -382,8 +381,7 @@ (defpartgroup group-village1-sagehut-rings-2 :id 137 :bounds (static-bspherem 7 4 -4.5 12) - :parts - ((sp-item 488 :fade-after (meters 50) :binding 489) + :parts ((sp-item 488 :fade-after (meters 50) :binding 489) (sp-item 489 :fade-after (meters 50) :flags (start-dead launch-asap) :period 1200 :length 5) (sp-item 489 :fade-after (meters 50) :flags (start-dead launch-asap) :period 1200 :length 5) (sp-item 489 :fade-after (meters 50) :flags (start-dead launch-asap) :period 1200 :length 5) @@ -752,8 +750,7 @@ (defpartgroup group-village1-sagehut-rings-3 :id 138 :bounds (static-bspherem 7 4 -4.5 12) - :parts - ((sp-item 494 :fade-after (meters 50) :binding 495) + :parts ((sp-item 494 :fade-after (meters 50) :binding 495) (sp-item 495 :fade-after (meters 50) :flags (start-dead launch-asap) :period 1200 :length 5) (sp-item 495 :fade-after (meters 50) :flags (start-dead launch-asap) :period 1200 :length 5) (sp-item 495 :fade-after (meters 50) :flags (start-dead launch-asap) :period 1200 :length 5) @@ -1120,8 +1117,7 @@ ) (defpart 482 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters -0.049)) (sp-flt spt-y (meters 2.368)) @@ -1136,8 +1132,7 @@ ) (defpart 483 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 1.3333334)) (sp-flt spt-y (meters 0.44444445)) @@ -1159,8 +1154,7 @@ ) (defpart 480 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.5 1.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-flt spt-y (meters -0.55)) @@ -1186,8 +1180,7 @@ ) (defpart 481 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters -0.26)) (sp-flt spt-scale-x (meters 6)) @@ -1204,8 +1197,7 @@ ) (defpart 484 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters -0.094)) (sp-flt spt-y (meters 3.068)) @@ -1220,8 +1212,7 @@ ) (defpart 485 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.5) (sp-flt spt-x (meters -1.3333334)) (sp-flt spt-y (meters 0.6666667)) @@ -1243,8 +1234,7 @@ ) (defpart 486 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters -0.425)) (sp-flt spt-y (meters 3.792)) @@ -1259,8 +1249,7 @@ ) (defpart 487 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.8888889)) (sp-flt spt-y (meters 1.3333334)) @@ -1282,8 +1271,7 @@ ) (defpart 488 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters 2.893)) (sp-flt spt-y (meters 3.56)) @@ -1298,8 +1286,7 @@ ) (defpart 489 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2.6666667)) (sp-flt spt-y (meters -1.3333334)) @@ -1321,8 +1308,7 @@ ) (defpart 490 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters 2.482)) (sp-flt spt-y (meters 4.296)) @@ -1337,8 +1323,7 @@ ) (defpart 491 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2.6666667)) (sp-flt spt-y (meters -0.44444445)) @@ -1360,8 +1345,7 @@ ) (defpart 492 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters 2.538)) (sp-flt spt-y (meters 4.979)) @@ -1376,8 +1360,7 @@ ) (defpart 493 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 0.22222222)) @@ -1399,8 +1382,7 @@ ) (defpart 494 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters 11.611)) (sp-flt spt-y (meters 2.762)) @@ -1415,8 +1397,7 @@ ) (defpart 495 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.6666667)) (sp-flt spt-y (meters -1.1111112)) @@ -1438,8 +1419,7 @@ ) (defpart 496 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters 11.543)) (sp-flt spt-y (meters 2.356)) @@ -1454,8 +1434,7 @@ ) (defpart 497 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 4.888889)) (sp-flt spt-y (meters 0.9777778)) @@ -1477,8 +1456,7 @@ ) (defpart 498 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters 11.588)) (sp-flt spt-y (meters 6.887)) @@ -1493,8 +1471,7 @@ ) (defpart 499 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.35555556)) (sp-flt spt-y (meters -1.3333334)) @@ -1518,8 +1495,7 @@ (defpartgroup group-village1-sagehut-drips :id 139 :bounds (static-bspherem 7 4 -4.5 12) - :parts - ((sp-item 500 :fade-after (meters 40) :period 673 :length 5) + :parts ((sp-item 500 :fade-after (meters 40) :period 673 :length 5) (sp-item 500 :fade-after (meters 50) :period 1036 :length 5) (sp-item 500 :fade-after (meters 60) :period 1572 :length 5) (sp-item 500 :fade-after (meters 40) :period 2158 :length 5) @@ -1537,8 +1513,7 @@ ) (defpart 502 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-flt spt-num 2.0 6.0 1.0) (sp-sound (static-sound-spec "drip-on-wood" :volume 50.0)) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) @@ -1557,8 +1532,7 @@ ) (defpart 503 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.02)) (sp-flt spt-scale-x (meters 1)) @@ -1576,8 +1550,7 @@ ) (defpart 500 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.9)) (sp-flt spt-y (meters 8.825)) @@ -1602,13 +1575,11 @@ ) (defpart 504 - :init-specs - ((sp-flt spt-scalevel-y (meters 0.00033333333)) (sp-flt spt-accel-x 0.13653333) (sp-flt spt-accel-y -2.048)) + :init-specs ((sp-flt spt-scalevel-y (meters 0.00033333333)) (sp-flt spt-accel-x 0.13653333) (sp-flt spt-accel-y -2.048)) ) (defpart 501 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -3.25)) (sp-flt spt-y (meters 5.55)) @@ -1631,21 +1602,16 @@ ) (defpart 505 - :init-specs - ((sp-flt spt-accel-y -3.1402667)) + :init-specs ((sp-flt spt-accel-y -3.1402667)) ) (defun check-drop-level-sagehut ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) (let ((gp-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) - ) - ) + (if (< (rand-float-gen) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) (sp-launch-particles-var *sp-particle-system-2d* @@ -1671,8 +1637,7 @@ (defpartgroup group-village1-sagehut-warpgate :id 140 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1970 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1970 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1971 :fade-after (meters 60) :falloff-to (meters 100) :binding 1968) (sp-item 1968 :flags (bit1 start-dead launch-asap)) (sp-item 1968 :flags (bit1 start-dead launch-asap)) @@ -1848,8 +1813,7 @@ ) (defpart 1973 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-x (meters 0)) (sp-flt spt-scale-x (meters 5)) @@ -1866,8 +1830,7 @@ ) (defpart 1972 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-x (meters -2)) (sp-flt spt-scale-x (meters 0.25)) @@ -1882,8 +1845,7 @@ ) (defpart 1969 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2.4444444)) (sp-flt spt-y (meters 4)) @@ -1906,8 +1868,7 @@ ) (defpart 1970 - :init-specs - ((sp-rnd-flt spt-num 3.0 3.0 1.0) + :init-specs ((sp-rnd-flt spt-num 3.0 3.0 1.0) (sp-flt spt-x (meters -0.5)) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) @@ -1924,8 +1885,7 @@ ) (defpart 1971 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.25)) (sp-copy-from-other spt-scale-y -4) @@ -1939,8 +1899,7 @@ ) (defpart 1968 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2.4444444)) (sp-flt spt-y (meters 4)) @@ -1967,13 +1926,11 @@ :id 141 :flags (always-draw) :bounds (static-bspherem 0 10 0 260) - :parts - ((sp-item 511)) + :parts ((sp-item 511)) ) (defpart 511 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.04) (sp-flt spt-y (meters 45)) (sp-rnd-flt spt-scale-x (meters 300) (meters 100) 1.0) @@ -1996,21 +1953,18 @@ ) (defpart 512 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 450 149 1) (sp-launcher-by-id spt-next-launcher 513)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 450 149 1) (sp-launcher-by-id spt-next-launcher 513)) ) (defpart 513 - :init-specs - ((sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-a -0.10666667)) ) (defpartgroup group-village1-training-spouts :id 684 :flags (always-draw) :bounds (static-bspherem 0 10 0 12) - :parts - ((sp-item 2844 :period 4500 :length 1200) + :parts ((sp-item 2844 :period 4500 :length 1200) (sp-item 2845 :period 4500 :length 1200 :offset 4050) (sp-item 2846 :period 4500 :length 1200 :offset 1500) (sp-item 2847 :period 4500 :length 1200 :offset 1050) @@ -2020,8 +1974,7 @@ ) (defpart 2848 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.06) (sp-flt spt-x (meters 60)) (sp-flt spt-y (meters -8)) @@ -2047,8 +2000,7 @@ ) (defpart 2849 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-x (meters 60)) (sp-rnd-flt spt-y (meters 95) (meters 20) 1.0) @@ -2078,8 +2030,7 @@ ) (defpart 2846 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.06) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters -8)) @@ -2105,8 +2056,7 @@ ) (defpart 2847 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-x (meters 0)) (sp-rnd-flt spt-y (meters 95) (meters 20) 1.0) @@ -2136,8 +2086,7 @@ ) (defpart 2844 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.06) (sp-flt spt-x (meters -100)) (sp-flt spt-y (meters -8)) @@ -2163,13 +2112,11 @@ ) (defpart 2850 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.06666667)) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.06666667)) (sp-flt spt-fade-a -1.0666667)) ) (defpart 2845 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-x (meters -100)) (sp-rnd-flt spt-y (meters 95) (meters 20) 1.0) @@ -2199,23 +2146,20 @@ ) (defpart 2851 - :init-specs - ((sp-flt spt-fade-a -0.03678161)) + :init-specs ((sp-flt spt-fade-a -0.03678161)) ) (defpartgroup group-village1-trans-pad :id 142 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 514 :fade-after (meters 160)) + :parts ((sp-item 514 :fade-after (meters 160)) (sp-item 515 :fade-after (meters 160)) (sp-item 516 :fade-after (meters 60) :falloff-to (meters 60) :flags (is-3d)) ) ) (defpart 514 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 5)) (sp-rnd-flt spt-scale-x (meters 10) (meters 1) 1.0) @@ -2230,8 +2174,7 @@ ) (defpart 515 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 3)) (sp-rnd-flt spt-scale-x (meters 5) (meters 1) 1.0) @@ -2247,8 +2190,7 @@ ) (defpart 516 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0.75) (meters 0.1) 1.0) (sp-flt spt-scale-x (meters 0)) diff --git a/goal_src/levels/village1/yakow.gc b/goal_src/levels/village1/yakow.gc index b5432c1062..7005f335e9 100644 --- a/goal_src/levels/village1/yakow.gc +++ b/goal_src/levels/village1/yakow.gc @@ -8,6 +8,7 @@ (declare-type yakow process-drawable) ;; DECOMP BEGINS + (import "goal_src/import/village1cam-ag.gc") (import "goal_src/import/yakow-ag.gc") @@ -19,17 +20,9 @@ (defun yakow-cam () (with-pp (let ((gp-0 (entity-actor-lookup (-> pp entity) 'alt-actor 0))) - (when gp-0 - (let ((s5-0 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-0 - (let ((t9-2 (method-of-type pov-camera activate))) - (t9-2 (the-as pov-camera s5-0) pp 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 pov-camera-init-by-other (-> gp-0 extra trans) *village1cam-sg* "anim" 0 #f '()) - (-> s5-0 ppointer) - ) + (if gp-0 + (process-spawn pov-camera (-> gp-0 extra trans) *village1cam-sg* "anim" 0 #f '() :to pp) ) - ) ) (none) ) @@ -448,16 +441,13 @@ yakow-default-event-handler ) (defstate yakow-idle (yakow) - :event - yakow-default-event-handler - :enter - (behavior () + :event yakow-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self travel-speed) 0.0) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> *YAKOW-bank* default-patrol-time)) (and *target* (>= (-> self fact-override idle-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) @@ -469,8 +459,7 @@ yakow-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.15)) (loop (cond @@ -500,33 +489,26 @@ yakow-default-event-handler ) (none) ) - :post - (the-as (function none :behavior yakow) ja-post) + :post (the-as (function none :behavior yakow) ja-post) ) (defstate yakow-notice (yakow) - :event - yakow-default-event-handler - :enter - (behavior () + :event yakow-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self travel-speed) 0.0) (none) ) - :code - (behavior () + :code (behavior () (go yakow-run-away) (none) ) - :post - yakow-simple-post + :post yakow-simple-post ) (defstate yakow-walk-to (yakow) - :event - yakow-default-event-handler - :enter - (behavior ((arg0 vector)) + :event yakow-default-event-handler + :enter (behavior ((arg0 vector)) (set! (-> self state-time) (-> *display* base-frame-counter)) (logior! (-> self nav flags) (nav-control-flags navcf10)) (set! (-> self nav destination-pos quad) (-> arg0 quad)) @@ -534,8 +516,7 @@ yakow-default-event-handler (set! (-> self turn-time) (-> *YAKOW-bank* walk-turn-time)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> *YAKOW-bank* default-patrol-time)) (not (-> self in-pen)) (and *target* @@ -564,10 +545,8 @@ yakow-default-event-handler ) (none) ) - :code - (the-as (function vector none :behavior yakow) yakow-blend-walk-run) - :post - (behavior () + :code (the-as (function vector none :behavior yakow) yakow-blend-walk-run) + :post (behavior () (dummy-19 (-> self nav) (-> self nav target-pos) @@ -584,10 +563,8 @@ yakow-default-event-handler ) (defstate yakow-graze (yakow) - :event - yakow-default-event-handler - :enter - (behavior () + :event yakow-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self travel-speed) 0.0) (set! (-> self grazing) #t) @@ -601,8 +578,7 @@ yakow-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (while (< 546.13336 (fabs (deg-diff (-> self dest-rot) (y-angle (-> self root-override))))) (if (not (ja-group? yakow-walk-ja)) (ja-channel-push! 1 (seconds 0.075)) @@ -630,15 +606,12 @@ yakow-default-event-handler ) (none) ) - :post - yakow-simple-post + :post yakow-simple-post ) (defstate yakow-graze-kicked (yakow) - :event - (the-as (function process int symbol event-message-block object :behavior yakow) #f) - :code - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior yakow) #f) + :code (behavior () (ja-no-eval :group! yakow-kicked-in-place-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -647,23 +620,19 @@ yakow-default-event-handler (go yakow-graze) (none) ) - :post - yakow-simple-post + :post yakow-simple-post ) (defstate yakow-run-away (yakow) - :event - yakow-default-event-handler - :enter - (behavior () + :event yakow-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logior! (-> self nav flags) (nav-control-flags navcf10)) (set! (-> self rotate-speed) (-> *YAKOW-bank* run-rotate-speed)) (set! (-> self turn-time) (-> *YAKOW-bank* run-turn-time)) (none) ) - :trans - (behavior () + :trans (behavior () (when (or (not *target*) (< (-> *YAKOW-bank* safe-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -697,17 +666,13 @@ yakow-default-event-handler ) (none) ) - :code - yakow-blend-walk-run - :post - yakow-run-post + :code yakow-blend-walk-run + :post yakow-run-post ) (defstate yakow-kicked (yakow) - :event - (the-as (function process int symbol event-message-block object :behavior yakow) #f) - :enter - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior yakow) #f) + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (if (-> self grazing) (go yakow-graze-kicked) @@ -720,13 +685,11 @@ yakow-default-event-handler ) (none) ) - :exit - (behavior () + :exit (behavior () '() (none) ) - :trans - (behavior () + :trans (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.2)) (seek! (-> self travel-speed) @@ -737,8 +700,7 @@ yakow-default-event-handler 0 (none) ) - :code - (behavior () + :code (behavior () (set! (-> self enable-turn-around) #t) 1.0 (suspend) @@ -777,15 +739,12 @@ yakow-default-event-handler (go yakow-run-away) (none) ) - :post - yakow-run-post + :post yakow-run-post ) (defstate yakow-die (yakow) - :event - (the-as (function process int symbol event-message-block object :behavior yakow) #f) - :code - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior yakow) #f) + :code (behavior () (let ((v1-1 (-> self root-override root-prim))) (set! (-> v1-1 collide-with) (collide-kind)) (set! (-> v1-1 prim-core collide-as) (collide-kind)) diff --git a/goal_src/levels/village2/assistant-village2.gc b/goal_src/levels/village2/assistant-village2.gc index f633431716..1d513bc29f 100644 --- a/goal_src/levels/village2/assistant-village2.gc +++ b/goal_src/levels/village2/assistant-village2.gc @@ -6,6 +6,7 @@ ;; dgos: L1, VI2 ;; DECOMP BEGINS + (import "goal_src/import/jaws-ag.gc") (import "goal_src/import/assistant-village2-ag.gc") @@ -101,326 +102,296 @@ ) (defmethod play-anim! assistant-bluehut ((obj assistant-bluehut) (arg0 symbol)) - (with-pp - (set! (-> obj talk-message) (game-text-id press-to-talk-to-assistant)) - (case (current-status (-> obj tasks)) - (((task-status unknown) (task-status need-hint) (task-status need-introduction)) - (if (not arg0) - (set! (-> obj will-talk) #t) + (set! (-> obj talk-message) (game-text-id press-to-talk-to-assistant)) + (case (current-status (-> obj tasks)) + (((task-status unknown) (task-status need-hint) (task-status need-introduction)) + (if (not arg0) + (set! (-> obj will-talk) #t) + ) + (case (current-task (-> obj tasks)) + (((game-task village2-levitator)) + (when arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + (send-event (-> obj sage extra process) 'clone (process->handle obj)) + (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'clone (process->handle obj)) + ) + (new 'static 'spool-anim + :name "assistant-village2-introduction" + :index 15 + :parts 16 + :command-list '((0 send-event target draw #f) + (0 kill "villageb-part-33") + (95 send-event target draw #t) + (95 joint "cameraB") + (131 send-event target draw #f) + (131 joint "camera") + (190 setting-reset ocean-off #t) + (190 kill "pontoonten-20") + (190 kill "pontoonten-19") + (190 kill "pontoonten-18") + (190 kill "pontoonten-17") + (190 kill "pontoonten-16") + (190 kill "pontoonten-15") + (190 kill "pontoonten-14") + (190 kill "pontoonten-13") + (190 kill "pontoonten-12") + (190 kill "pontoonten-11") + (190 kill "pontoonten-10") + (190 kill "pontoonten-9") + (190 kill "pontoonten-8") + (190 kill "pontoonten-7") + (190 kill "pontoonten-6") + (190 kill "pontoonfive-3") + (190 kill "pontoonfive-4") + (190 kill "pontoonfive-5") + (190 kill "pontoonfive-6") + (190 kill "pontoonfive-7") + (190 kill "pontoonfive-8") + (190 kill "pontoonfive-12") + (190 kill "pontoonfive-13") + (190 kill "pontoonfive-14") + (190 kill "pontoonfive-15") + (190 kill "pontoonfive-16") + (190 kill "pontoonfive-17") + (190 kill "pontoonfive-18") + (190 kill "pontoonfive-19") + (190 kill "pontoonfive-20") + (190 kill "allpontoons-1") + (190 kill "med-res-level-12") + (190 kill "med-res-level-13") + (190 kill "med-res-level-15") + (190 kill "swamp-blimp-3") + (190 kill "barrel-85") + (190 kill "barrel-86") + (190 kill "money-2844") + (190 kill "money-2845") + (190 kill "money-2846") + (190 kill "money-2847") + (190 kill "money-2848") + (190 kill "money-2849") + (190 kill "money-4923") + (190 kill "money-4924") + (190 kill "money-4925") + (190 kill "money-4926") + (190 kill "money-4927") + (190 kill "eco-27") + (190 kill "sharkey-25") + (190 kill "barrel-117") + (190 kill "barrel-118") + (190 kill "barrel-119") + (190 kill "barrel-120") + (190 kill "barrel-121") + (190 kill "barrel-122") + (190 kill "crate-3129") + (190 kill "crate-3132") + (190 kill "crate-3133") + (190 kill "villageb-part-32") + (190 kill "villageb-part-30") + (190 kill "exit-chamber-dummy-1") + (190 kill "villageb-part-34") + (191 send-event target draw #t) + (191 joint "cameraB") + (241 joint "camera") + (241 send-event target draw #f) + (241 setting-unset ocean-off) + (241 dead "pontoonten-20") + (241 dead "pontoonten-19") + (241 dead "pontoonten-18") + (241 dead "pontoonten-17") + (241 dead "pontoonten-16") + (241 dead "pontoonten-15") + (241 dead "pontoonten-14") + (241 dead "pontoonten-13") + (241 dead "pontoonten-12") + (241 dead "pontoonten-11") + (241 dead "pontoonten-10") + (241 dead "pontoonten-9") + (241 dead "pontoonten-8") + (241 dead "pontoonten-7") + (241 dead "pontoonten-6") + (241 dead "pontoonfive-3") + (241 dead "pontoonfive-4") + (241 dead "pontoonfive-5") + (241 dead "pontoonfive-6") + (241 dead "pontoonfive-7") + (241 dead "pontoonfive-8") + (241 dead "pontoonfive-12") + (241 dead "pontoonfive-13") + (241 dead "pontoonfive-14") + (241 dead "pontoonfive-15") + (241 dead "pontoonfive-16") + (241 dead "pontoonfive-17") + (241 dead "pontoonfive-18") + (241 dead "pontoonfive-19") + (241 dead "pontoonfive-20") + (241 dead "allpontoons-1") + (241 dead "med-res-level-12") + (241 dead "med-res-level-13") + (241 dead "med-res-level-15") + (241 dead "swamp-blimp-3") + (241 dead "barrel-85") + (241 dead "barrel-86") + (241 dead "money-2844") + (241 dead "money-2845") + (241 dead "money-2846") + (241 dead "money-2847") + (241 dead "money-2848") + (241 dead "money-2849") + (241 dead "money-4923") + (241 dead "money-4924") + (241 dead "money-4925") + (241 dead "money-4926") + (241 dead "money-4927") + (241 dead "eco-27") + (241 dead "sharkey-25") + (241 dead "barrel-117") + (241 dead "barrel-118") + (241 dead "barrel-119") + (241 dead "barrel-120") + (241 dead "barrel-121") + (241 dead "barrel-122") + (241 dead "crate-3129") + (241 dead "crate-3132") + (241 dead "crate-3133") + (241 dead "villageb-part-32") + (241 dead "villageb-part-30") + (321 joint "cameraB") + (352 joint "camera") + (383 joint "cameraB") + (411 joint "camera") + (501 joint "cameraB") + (501 send-event target draw #t) + (567 joint "camera") + (634 alive "fireboulder-6") + (635 joint "cameraB") + (701 joint "camera") + (741 joint "cameraB") + (784 joint "camera") + (936 joint "cameraB") + (1065 joint "camera") + (1145 joint "cameraB") + (1241 joint "camera") + ) + ) + ) + (((game-task sunken-room)) + (when arg0 + (let* ((s5-2 (-> obj tasks)) + (s4-0 (method-of-object s5-2 save-reminder)) + ) + (s4-0 s5-2 (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 1) + ) + (close-status! (-> obj tasks) (task-status need-introduction)) + (set! (-> obj jaws) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *jaws-sg* #f :to obj)) + ) + (let ((v1-42 (handle->process (-> obj jaws)))) + (if v1-42 + (set! (-> (the-as manipy v1-42) draw light-index) (the-as uint 1)) + ) + ) + (send-event (handle->process (-> obj jaws)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj jaws)) 'center-joint 3) + (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'clone (process->handle obj)) + ) + (new 'static 'spool-anim + :name "assistant-village2-introduction-room" + :index 21 + :parts 10 + :command-list '((197 joint "cameraB") + (351 joint "camera") + (431 joint "cameraB") + (553 joint "camera") + (631 joint "cameraB") + (842 joint "camera") + (900 joint "cameraB") + (1069 joint "camera") + ) + ) + ) + (((game-task rolling-robbers)) + (when arg0 + (let* ((s5-5 (-> obj tasks)) + (s4-1 (method-of-object s5-5 save-reminder)) + ) + (s4-1 s5-5 (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 1) + ) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "assistant-village2-introduction-robbers" + :index 17 + :parts 6 + :command-list '((55 joint "cameraB") (145 joint "camera") (207 joint "cameraB") (363 joint "camera")) + ) + ) + (else + (when arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'clone (process->handle obj)) ) - (case (current-task (-> obj tasks)) - (((game-task village2-levitator)) - (when arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - (send-event (-> obj sage extra process) 'clone (process->handle obj)) - (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'clone (process->handle obj)) - ) - (new 'static 'spool-anim - :name "assistant-village2-introduction" - :index 15 - :parts 16 - :command-list - '((0 send-event target draw #f) - (0 kill "villageb-part-33") - (95 send-event target draw #t) - (95 joint "cameraB") - (131 send-event target draw #f) - (131 joint "camera") - (190 setting-reset ocean-off #t) - (190 kill "pontoonten-20") - (190 kill "pontoonten-19") - (190 kill "pontoonten-18") - (190 kill "pontoonten-17") - (190 kill "pontoonten-16") - (190 kill "pontoonten-15") - (190 kill "pontoonten-14") - (190 kill "pontoonten-13") - (190 kill "pontoonten-12") - (190 kill "pontoonten-11") - (190 kill "pontoonten-10") - (190 kill "pontoonten-9") - (190 kill "pontoonten-8") - (190 kill "pontoonten-7") - (190 kill "pontoonten-6") - (190 kill "pontoonfive-3") - (190 kill "pontoonfive-4") - (190 kill "pontoonfive-5") - (190 kill "pontoonfive-6") - (190 kill "pontoonfive-7") - (190 kill "pontoonfive-8") - (190 kill "pontoonfive-12") - (190 kill "pontoonfive-13") - (190 kill "pontoonfive-14") - (190 kill "pontoonfive-15") - (190 kill "pontoonfive-16") - (190 kill "pontoonfive-17") - (190 kill "pontoonfive-18") - (190 kill "pontoonfive-19") - (190 kill "pontoonfive-20") - (190 kill "allpontoons-1") - (190 kill "med-res-level-12") - (190 kill "med-res-level-13") - (190 kill "med-res-level-15") - (190 kill "swamp-blimp-3") - (190 kill "barrel-85") - (190 kill "barrel-86") - (190 kill "money-2844") - (190 kill "money-2845") - (190 kill "money-2846") - (190 kill "money-2847") - (190 kill "money-2848") - (190 kill "money-2849") - (190 kill "money-4923") - (190 kill "money-4924") - (190 kill "money-4925") - (190 kill "money-4926") - (190 kill "money-4927") - (190 kill "eco-27") - (190 kill "sharkey-25") - (190 kill "barrel-117") - (190 kill "barrel-118") - (190 kill "barrel-119") - (190 kill "barrel-120") - (190 kill "barrel-121") - (190 kill "barrel-122") - (190 kill "crate-3129") - (190 kill "crate-3132") - (190 kill "crate-3133") - (190 kill "villageb-part-32") - (190 kill "villageb-part-30") - (190 kill "exit-chamber-dummy-1") - (190 kill "villageb-part-34") - (191 send-event target draw #t) - (191 joint "cameraB") - (241 joint "camera") - (241 send-event target draw #f) - (241 setting-unset ocean-off) - (241 dead "pontoonten-20") - (241 dead "pontoonten-19") - (241 dead "pontoonten-18") - (241 dead "pontoonten-17") - (241 dead "pontoonten-16") - (241 dead "pontoonten-15") - (241 dead "pontoonten-14") - (241 dead "pontoonten-13") - (241 dead "pontoonten-12") - (241 dead "pontoonten-11") - (241 dead "pontoonten-10") - (241 dead "pontoonten-9") - (241 dead "pontoonten-8") - (241 dead "pontoonten-7") - (241 dead "pontoonten-6") - (241 dead "pontoonfive-3") - (241 dead "pontoonfive-4") - (241 dead "pontoonfive-5") - (241 dead "pontoonfive-6") - (241 dead "pontoonfive-7") - (241 dead "pontoonfive-8") - (241 dead "pontoonfive-12") - (241 dead "pontoonfive-13") - (241 dead "pontoonfive-14") - (241 dead "pontoonfive-15") - (241 dead "pontoonfive-16") - (241 dead "pontoonfive-17") - (241 dead "pontoonfive-18") - (241 dead "pontoonfive-19") - (241 dead "pontoonfive-20") - (241 dead "allpontoons-1") - (241 dead "med-res-level-12") - (241 dead "med-res-level-13") - (241 dead "med-res-level-15") - (241 dead "swamp-blimp-3") - (241 dead "barrel-85") - (241 dead "barrel-86") - (241 dead "money-2844") - (241 dead "money-2845") - (241 dead "money-2846") - (241 dead "money-2847") - (241 dead "money-2848") - (241 dead "money-2849") - (241 dead "money-4923") - (241 dead "money-4924") - (241 dead "money-4925") - (241 dead "money-4926") - (241 dead "money-4927") - (241 dead "eco-27") - (241 dead "sharkey-25") - (241 dead "barrel-117") - (241 dead "barrel-118") - (241 dead "barrel-119") - (241 dead "barrel-120") - (241 dead "barrel-121") - (241 dead "barrel-122") - (241 dead "crate-3129") - (241 dead "crate-3132") - (241 dead "crate-3133") - (241 dead "villageb-part-32") - (241 dead "villageb-part-30") - (321 joint "cameraB") - (352 joint "camera") - (383 joint "cameraB") - (411 joint "camera") - (501 joint "cameraB") - (501 send-event target draw #t) - (567 joint "camera") - (634 alive "fireboulder-6") - (635 joint "cameraB") - (701 joint "camera") - (741 joint "cameraB") - (784 joint "camera") - (936 joint "cameraB") - (1065 joint "camera") - (1145 joint "cameraB") - (1241 joint "camera") - ) - ) - ) - (((game-task sunken-room)) - (when arg0 - (let* ((s5-2 (-> obj tasks)) - (s4-0 (method-of-object s5-2 save-reminder)) - (a1-7 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-7 from) pp) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'query) - (set! (-> a1-7 param 0) (the-as uint 'pickup)) - (set! (-> a1-7 param 1) (the-as uint 6)) - (s4-0 s5-2 (the int (the-as float (send-event-function *target* a1-7))) 1) - ) - (close-status! (-> obj tasks) (task-status need-introduction)) - (let ((s5-3 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj jaws) - (ppointer->handle - (when s5-3 - (let ((t9-10 (method-of-type manipy activate))) - (t9-10 (the-as manipy s5-3) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-3 manipy-init (-> obj root-override trans) (-> obj entity) *jaws-sg* #f) - (-> s5-3 ppointer) - ) - ) - ) - ) - (let ((v1-42 (handle->process (-> obj jaws)))) - (if v1-42 - (set! (-> (the-as manipy v1-42) draw light-index) (the-as uint 1)) - ) - ) - (send-event (handle->process (-> obj jaws)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj jaws)) 'center-joint 3) - (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'clone (process->handle obj)) - ) - (new 'static 'spool-anim - :name "assistant-village2-introduction-room" - :index 21 - :parts 10 - :command-list - '((197 joint "cameraB") - (351 joint "camera") - (431 joint "cameraB") - (553 joint "camera") - (631 joint "cameraB") - (842 joint "camera") - (900 joint "cameraB") - (1069 joint "camera") - ) - ) - ) - (((game-task rolling-robbers)) - (when arg0 - (let* ((s5-5 (-> obj tasks)) - (s4-1 (method-of-object s5-5 save-reminder)) - (a1-17 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-17 from) pp) - (set! (-> a1-17 num-params) 2) - (set! (-> a1-17 message) 'query) - (set! (-> a1-17 param 0) (the-as uint 'pickup)) - (set! (-> a1-17 param 1) (the-as uint 6)) - (s4-1 s5-5 (the int (the-as float (send-event-function *target* a1-17))) 1) - ) - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name - "assistant-village2-introduction-robbers" - :index 17 - :parts 6 - :command-list - '((55 joint "cameraB") (145 joint "camera") (207 joint "cameraB") (363 joint "camera")) - ) - ) - (else - (when arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'clone (process->handle obj)) - ) - (new 'static 'spool-anim - :name - "assistant-village2-introduction-flutflut" - :index 19 - :parts 8 - :command-list - '((71 joint "cameraB") (308 joint "camera") (426 joint "cameraB") (550 joint "camera") (644 joint "cameraB")) - ) + (new 'static 'spool-anim + :name "assistant-village2-introduction-flutflut" + :index 19 + :parts 8 + :command-list '((71 joint "cameraB") (308 joint "camera") (426 joint "cameraB") (550 joint "camera") (644 joint "cameraB")) ) ) ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (let ((s4-2 (+ (get-reminder (-> obj tasks) 0) 1))) - (if (< (the-as uint 2) (the-as uint s4-2)) - (set! s4-2 0) - ) - (countdown (s3-0 3) - (let ((v1-92 s4-2)) - (cond - ((zero? v1-92) - (if (!= (get-task-status (game-task sunken-room)) (task-status need-reminder)) - (set! s4-2 1) - ) - ) - ((= v1-92 1) - (if (!= (get-task-status (game-task rolling-robbers)) (task-status need-reminder)) - (set! s4-2 2) - ) - ) - (else - (if (!= (get-task-status (game-task swamp-flutflut)) (task-status need-reminder)) - (set! s4-2 0) - ) - ) + ) + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (let ((s4-2 (+ (get-reminder (-> obj tasks) 0) 1))) + (if (< (the-as uint 2) (the-as uint s4-2)) + (set! s4-2 0) + ) + (countdown (s3-0 3) + (let ((v1-92 s4-2)) + (cond + ((zero? v1-92) + (if (!= (get-task-status (game-task sunken-room)) (task-status need-reminder)) + (set! s4-2 1) + ) + ) + ((= v1-92 1) + (if (!= (get-task-status (game-task rolling-robbers)) (task-status need-reminder)) + (set! s4-2 2) + ) + ) + (else + (if (!= (get-task-status (game-task swamp-flutflut)) (task-status need-reminder)) + (set! s4-2 0) + ) ) ) ) - (if arg0 - (save-reminder (-> obj tasks) s4-2 2) - ) - (cond - ((zero? s4-2) - (new 'static 'spool-anim :name "assistant-village2-reminder-1-room" :index 22 :parts 3 :command-list '()) - ) - ((= s4-2 1) - (new 'static 'spool-anim :name "assistant-village2-reminder-1-robbers" :index 18 :parts 3 :command-list '()) - ) - (else - (new 'static 'spool-anim :name "assistant-village2-reminder-1-flutflut" :index 20 :parts 3 :command-list '()) - ) + ) + (if arg0 + (save-reminder (-> obj tasks) s4-2 2) + ) + (cond + ((zero? s4-2) + (new 'static 'spool-anim :name "assistant-village2-reminder-1-room" :index 22 :parts 3 :command-list '()) + ) + ((= s4-2 1) + (new 'static 'spool-anim :name "assistant-village2-reminder-1-robbers" :index 18 :parts 3 :command-list '()) + ) + (else + (new 'static 'spool-anim :name "assistant-village2-reminder-1-flutflut" :index 20 :parts 3 :command-list '()) ) ) ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) ) - (-> obj draw art-group data 5) - ) + ) + (-> obj draw art-group data 5) ) ) ) @@ -496,10 +467,7 @@ (defmethod TODO-RENAME-43 assistant-bluehut ((obj assistant-bluehut)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f30-0 (+ -1.0 (the-as float v1-4))) - ) + (let ((f30-0 (rand-float-gen))) (cond ((= (get-task-status (game-task village2-levitator)) (task-status invalid)) #f @@ -517,8 +485,7 @@ (defstate idle (assistant-bluehut) :virtual #t - :trans - (behavior () + :trans (behavior () (case (get-task-status (game-task village2-levitator)) (((task-status need-hint) (task-status need-introduction)) (send-event self 'play-anim) @@ -527,8 +494,7 @@ ((-> (method-of-type process-taskable idle) trans)) (none) ) - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) ) @@ -538,10 +504,7 @@ (suspend) (ja :num! (seek!)) ) - (let* ((v1-24 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-25 (the-as number (logior #x3f800000 v1-24))) - (f0-9 (+ -1.0 (the-as float v1-25))) - ) + (let ((f0-9 (rand-float-gen))) (cond ((< f0-9 0.33333334) (TODO-RENAME-43 self) @@ -551,14 +514,12 @@ (ja :num! (seek!)) ) (let ((gp-1 (-> *display* base-frame-counter))) - (while (let* ((s5-1 (-> *display* base-frame-counter)) - (f30-0 300.0) - (f28-0 0.16) - (f26-0 0.17000002) - (v1-55 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-56 (the-as number (logior #x3f800000 v1-55))) - ) - (< (- s5-1 (the-as time-frame (the int (* f30-0 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-56)))))))) gp-1) + (while (let ((s5-1 (-> *display* base-frame-counter)) + (f30-0 300.0) + (f28-0 0.16) + (f26-0 0.17000002) + ) + (< (- s5-1 (the-as time-frame (the int (* f30-0 (+ f28-0 (* f26-0 (rand-float-gen))))))) gp-1) ) (suspend) ) @@ -626,8 +587,7 @@ (defstate play-anim (assistant-bluehut) :virtual #t - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self jaws)))) (if a0-1 (deactivate a0-1) @@ -639,8 +599,7 @@ (close-specific-task! (game-task village2-levitator) (task-status need-reminder-a)) (none) ) - :trans - (behavior () + :trans (behavior () '() (none) ) @@ -664,15 +623,13 @@ (defpartgroup group-assistant-bluehut-torch :id 288 :bounds (static-bspherem 0 0 0 15) - :parts - ((sp-item 1322 :fade-after (meters 30) :falloff-to (meters 30)) + :parts ((sp-item 1322 :fade-after (meters 30) :falloff-to (meters 30)) (sp-item 1323 :fade-after (meters 60) :falloff-to (meters 80)) ) ) (defpart 1322 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -688,8 +645,7 @@ ) (defpart 1323 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -714,8 +670,7 @@ ) (defpart 1324 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 3.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.075) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -736,13 +691,9 @@ (when (< (-> arg2 y) (-> arg1 user-float)) (let ((gp-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) - ) - ) + (if (< (rand-float-gen) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) (sp-launch-particles-var *sp-particle-system-2d* @@ -774,8 +725,7 @@ :id 658 :flags (use-local-clock) :bounds (static-bspherem -20 8 0 80) - :parts - ((sp-item 2673 :fade-after (meters 120) :falloff-to (meters 140) :binding 2670) + :parts ((sp-item 2673 :fade-after (meters 120) :falloff-to (meters 140) :binding 2670) (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2671) (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2672) (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2671) @@ -806,8 +756,7 @@ ) (defpart 2694 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-rnd-flt spt-num 0.2 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -826,8 +775,7 @@ ) (defpart 2693 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -846,8 +794,7 @@ ) (defpart 2673 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.025 0.025 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -867,8 +814,7 @@ ) (defpart 2670 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -890,8 +836,7 @@ ) (defpart 2671 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -910,8 +855,7 @@ ) (defpart 2672 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -930,8 +874,7 @@ ) (defpart 2674 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.8) 1.0) @@ -951,8 +894,7 @@ ) (defpart 2676 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -972,8 +914,7 @@ ) (defpart 2675 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -992,13 +933,11 @@ :id 659 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 34) - :parts - ((sp-item 2695) (sp-item 2696 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 2677)) + :parts ((sp-item 2695) (sp-item 2696 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 2677)) ) (defpart 2696 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 2.0 6.0 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1) 1.0) @@ -1024,8 +963,7 @@ ) (defpart 2695 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 180.0) (degrees 360.0) 1.0) @@ -1044,8 +982,7 @@ ) (defpart 2677 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 6) 1.0) (sp-rnd-flt spt-rot-z (degrees 180.0) (degrees 360.0) 1.0) @@ -1068,8 +1005,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2751 :fade-after (meters 100) :falloff-to (meters 100) :binding 2750) + :parts ((sp-item 2751 :fade-after (meters 100) :falloff-to (meters 100) :binding 2750) (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2798) (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) @@ -1111,8 +1047,7 @@ ) (defpart 2678 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) @@ -1133,8 +1068,7 @@ ) (defpart 2751 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1149,8 +1083,7 @@ ) (defpart 2750 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -1172,8 +1105,7 @@ ) (defpart 2797 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 0.4 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -1192,8 +1124,7 @@ ) (defpart 2798 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-rnd-flt spt-num 0.2 0.4 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -1216,13 +1147,11 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2679)) + :parts ((sp-item 2679)) ) (defpart 2679 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) @@ -1270,31 +1199,20 @@ (vector-! s4-0 gp-0 s5-0) (let ((t2-0 (new 'stack-no-clear 'collide-tri-result))) 0.0 - (when (>= (fill-and-probe-using-line-sphere - *collide-cache* - s5-0 - s4-0 - 6144.0 - (collide-kind target) - (the-as process #f) - t2-0 - 1 - ) - 0.0 + (if (>= (fill-and-probe-using-line-sphere + *collide-cache* + s5-0 + s4-0 + 6144.0 + (collide-kind target) + (the-as process #f) + t2-0 + 1 ) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'shove) - (set! (-> a1-7 param 0) (the-as uint #f)) - (let ((v1-13 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-13 shove-up) 8192.0) - (set! (-> v1-13 shove-back) 12288.0) - (set! (-> a1-7 param 1) (the-as uint v1-13)) - ) - (send-event-function *target* a1-7) + 0.0 + ) + (send-event *target* 'shove #f (static-attack-info ((shove-up (meters 2)) (shove-back (meters 3))))) ) - ) ) (vector-normalize! s4-0 (+ -20480.0 (vector-length s4-0))) (vector+! gp-0 s5-0 s4-0) @@ -1342,8 +1260,7 @@ :name "assistant-village2-resolution" :index 16 :parts 7 - :command-list - '((196 joint "cameraB") + :command-list '((196 joint "cameraB") (241 joint "camera") (286 joint "cameraB") (436 joint "camera") @@ -1378,8 +1295,7 @@ (defstate play-anim (assistant-levitator) :virtual #t - :exit - (behavior () + :exit (behavior () (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) self) (set! (-> a1-0 num-params) 0) @@ -1398,8 +1314,7 @@ ((-> (method-of-type process-taskable play-anim) exit)) (none) ) - :trans - (behavior () + :trans (behavior () (assistant-levitator-blue-glow) (if (< 200.0 (ja-aframe-num 0)) (assistant-levitator-blue-beam) @@ -1411,8 +1326,7 @@ (defstate hidden (assistant-levitator) :virtual #t - :trans - (behavior () + :trans (behavior () ((-> (method-of-type process-taskable hidden) trans)) (when (and (cond ((and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) @@ -1479,21 +1393,18 @@ (defstate idle (assistant-levitator) :virtual #t - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) ((-> (method-of-type process-taskable idle) exit)) (none) ) - :trans - (behavior () + :trans (behavior () (assistant-levitator-blue-glow) (update! (-> self sound)) ((-> (method-of-type process-taskable idle) trans)) (none) ) - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) ) @@ -1558,8 +1469,7 @@ ) (defstate just-particles (assistant-levitator) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (loop (assistant-levitator-blue-glow) diff --git a/goal_src/levels/village2/flutflut-bluehut.gc b/goal_src/levels/village2/flutflut-bluehut.gc index b43b095fed..cf42b5308b 100644 --- a/goal_src/levels/village2/flutflut-bluehut.gc +++ b/goal_src/levels/village2/flutflut-bluehut.gc @@ -6,6 +6,7 @@ ;; dgos: L1, VI2 ;; DECOMP BEGINS + (import "goal_src/import/flutflut-bluehut-ag.gc") (deftype flutflut-bluehut (process-taskable) @@ -47,14 +48,12 @@ (defstate idle (flutflut-bluehut) :virtual #t - :trans - (behavior () + :trans (behavior () (set! (-> self will-talk) #f) ((-> (method-of-type process-taskable idle) trans)) (none) ) - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) ) diff --git a/goal_src/levels/village2/gambler.gc b/goal_src/levels/village2/gambler.gc index e0a547e86d..3562f0e4ac 100644 --- a/goal_src/levels/village2/gambler.gc +++ b/goal_src/levels/village2/gambler.gc @@ -6,6 +6,7 @@ ;; dgos: L1, VI2 ;; DECOMP BEGINS + (import "goal_src/import/gambler-ag.gc") (deftype gambler (process-taskable) @@ -35,8 +36,7 @@ :name "gambler-introduction-1" :index 11 :parts 9 - :command-list - '((0 want-levels village2 rolling) + :command-list '((0 want-levels village2 rolling) (0 display-level rolling #f) (29 joint "cameraB") (103 joint "camera") @@ -126,10 +126,7 @@ (defmethod TODO-RENAME-43 gambler ((obj gambler)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 61440.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.9230769 f0-2) (play-ambient (-> obj ambient) "GAM-AM01" #f (-> obj root-override trans)) @@ -179,8 +176,7 @@ (defstate idle (gambler) :virtual #t - :code - (behavior () + :code (behavior () (when (!= (ja-group) gambler-idle-fidget-ja) (ja-channel-push! 1 (seconds 0.2)) (ja :group! gambler-idle-fidget-ja) @@ -192,10 +188,7 @@ (ja :num! (seek!)) ) (TODO-RENAME-43 self) - (let* ((v1-38 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-39 (the-as number (logior #x3f800000 v1-38))) - (f0-9 (+ -1.0 (the-as float v1-39))) - ) + (let ((f0-9 (rand-float-gen))) (cond ((< f0-9 0.16666667) (ja :group! gambler-idle-tiptoe-ja) diff --git a/goal_src/levels/village2/geologist.gc b/goal_src/levels/village2/geologist.gc index c1860c8e89..3ff140861a 100644 --- a/goal_src/levels/village2/geologist.gc +++ b/goal_src/levels/village2/geologist.gc @@ -6,6 +6,7 @@ ;; dgos: L1, VI2 ;; DECOMP BEGINS + (import "goal_src/import/geologist-ag.gc") (deftype geologist (process-taskable) @@ -35,8 +36,7 @@ :name "geologist-introduction" :index 6 :parts 13 - :command-list - '((0 want-levels village2 rolling) + :command-list '((0 want-levels village2 rolling) (199 joint "cameraB") (325 joint "camera") (520 alive "racer-2") @@ -118,10 +118,7 @@ (defmethod TODO-RENAME-43 geologist ((obj geologist)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.8888889 f0-2) (play-ambient (-> obj ambient) "GEO-AM01" #f (-> obj root-override trans)) diff --git a/goal_src/levels/village2/sage-bluehut.gc b/goal_src/levels/village2/sage-bluehut.gc index f6ddbb57a7..7f6e6a026e 100644 --- a/goal_src/levels/village2/sage-bluehut.gc +++ b/goal_src/levels/village2/sage-bluehut.gc @@ -6,6 +6,7 @@ ;; dgos: L1, VI2 ;; DECOMP BEGINS + (import "goal_src/import/sage-bluehut-ag.gc") (deftype assistant-bluehut (process-taskable) @@ -39,102 +40,90 @@ ) (defmethod play-anim! sage-bluehut ((obj sage-bluehut) (arg0 symbol)) - (with-pp - (set! (-> obj talk-message) (game-text-id press-to-talk-to-sage)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) - (if (not arg0) - (set! (-> obj will-talk) #t) - ) - (case (current-task (-> obj tasks)) - (((game-task rolling-plants)) - (when arg0 - (let* ((s5-1 (-> obj tasks)) - (s4-0 (method-of-object s5-1 save-reminder)) - (a1-3 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (s4-0 s5-1 (the int (the-as float (send-event-function *target* a1-3))) 1) - ) - (close-status! (-> obj tasks) (task-status need-introduction)) - (let ((s5-2 (-> obj assistant extra process))) - (if (and s5-2 (should-display? (the-as assistant-bluehut s5-2))) - (send-event s5-2 'clone (process->handle obj)) - ) - ) - (set! (-> obj draw bounds w) 40960.0) - ) - (new 'static 'spool-anim - :name - "sage-bluehut-introduction-crop-dusting" - :index 8 - :parts 12 - :command-list - '((678 joint "cameraB") (1166 joint "camera") (1258 joint "cameraB")) - ) - ) - (else - (when arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - (close-specific-task! (game-task swamp-tether-1) (task-status need-introduction)) - (close-specific-task! (game-task swamp-tether-2) (task-status need-introduction)) - (close-specific-task! (game-task swamp-tether-3) (task-status need-introduction)) - (close-specific-task! (game-task swamp-tether-4) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "sage-bluehut-introduction-prec-arm" - :index 6 - :parts 8 - :command-list - '((141 joint "cameraB") - (214 joint "camera") - (308 joint "cameraB") - (686 joint "camera") - (786 joint "cameraB") - (843 joint "camera") - ) - ) - ) + (set! (-> obj talk-message) (game-text-id press-to-talk-to-sage)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) + (if (not arg0) + (set! (-> obj will-talk) #t) ) - ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (if arg0 - (set! (-> obj reminder-played) #t) - ) - (cond - ((zero? (get-reminder (-> obj tasks) 0)) - (new 'static 'spool-anim :name "sage-bluehut-reminder-1-crop-dusting" :index 9 :parts 3 :command-list '()) - ) - (else - (if arg0 - (set! (-> obj draw bounds w) 40960.0) - ) - (new 'static 'spool-anim - :name "sage-bluehut-reminder-1-prec-arm" - :index 7 - :parts 4 - :command-list - '((90 joint "cameraB") (259 joint "camera") (352 joint "cameraB")) - ) - ) - ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) + (case (current-task (-> obj tasks)) + (((game-task rolling-plants)) + (when arg0 + (let* ((s5-1 (-> obj tasks)) + (s4-0 (method-of-object s5-1 save-reminder)) + ) + (s4-0 s5-1 (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 1) ) - (get-art-elem obj) + (close-status! (-> obj tasks) (task-status need-introduction)) + (let ((s5-2 (-> obj assistant extra process))) + (if (and s5-2 (should-display? (the-as assistant-bluehut s5-2))) + (send-event s5-2 'clone (process->handle obj)) + ) + ) + (set! (-> obj draw bounds w) 40960.0) + ) + (new 'static 'spool-anim + :name "sage-bluehut-introduction-crop-dusting" + :index 8 + :parts 12 + :command-list '((678 joint "cameraB") (1166 joint "camera") (1258 joint "cameraB")) + ) ) + (else + (when arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + (close-specific-task! (game-task swamp-tether-1) (task-status need-introduction)) + (close-specific-task! (game-task swamp-tether-2) (task-status need-introduction)) + (close-specific-task! (game-task swamp-tether-3) (task-status need-introduction)) + (close-specific-task! (game-task swamp-tether-4) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "sage-bluehut-introduction-prec-arm" + :index 6 + :parts 8 + :command-list '((141 joint "cameraB") + (214 joint "camera") + (308 joint "cameraB") + (686 joint "camera") + (786 joint "cameraB") + (843 joint "camera") + ) + ) + ) + ) + ) + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (if arg0 + (set! (-> obj reminder-played) #t) + ) + (cond + ((zero? (get-reminder (-> obj tasks) 0)) + (new 'static 'spool-anim :name "sage-bluehut-reminder-1-crop-dusting" :index 9 :parts 3 :command-list '()) + ) + (else + (if arg0 + (set! (-> obj draw bounds w) 40960.0) + ) + (new 'static 'spool-anim + :name "sage-bluehut-reminder-1-prec-arm" + :index 7 + :parts 4 + :command-list '((90 joint "cameraB") (259 joint "camera") (352 joint "cameraB")) + ) + ) + ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (get-art-elem obj) ) ) ) @@ -210,8 +199,7 @@ (defstate play-anim (sage-bluehut) :virtual #t - :exit - (behavior () + :exit (behavior () (send-event (-> self assistant extra process) 'end-mode) (set! (-> self draw bounds w) 10240.0) ((-> (method-of-type process-taskable play-anim) exit)) @@ -247,10 +235,7 @@ (defmethod TODO-RENAME-43 sage-bluehut ((obj sage-bluehut)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.8 f0-2) (play-ambient (-> obj ambient) "SAGELP20" #f (-> obj root-override trans)) @@ -274,8 +259,7 @@ (defstate idle (sage-bluehut) :virtual #t - :code - (behavior () + :code (behavior () (loop (let ((gp-0 (get-art-elem self))) (cond diff --git a/goal_src/levels/village2/sunken-elevator.gc b/goal_src/levels/village2/sunken-elevator.gc index a02b9f19dc..057d257233 100644 --- a/goal_src/levels/village2/sunken-elevator.gc +++ b/goal_src/levels/village2/sunken-elevator.gc @@ -6,6 +6,7 @@ ;; dgos: L1, VI2 ;; DECOMP BEGINS + (import "goal_src/import/sunken-elevator-ag.gc") (deftype sunken-elevator (plat-button) @@ -45,8 +46,7 @@ (defstate plat-button-pressed (sunken-elevator) :virtual #t - :enter - (behavior () + :enter (behavior () (let ((t9-0 (-> (method-of-type plat-button plat-button-pressed) enter))) (if t9-0 (t9-0) @@ -83,25 +83,19 @@ 0 ) ((1.0) - (let* ((gp-1 (get-process *default-dead-pool* village2cam #x4000)) - (v1-10 (when gp-1 - (let ((t9-6 (method-of-type village2cam activate))) - (t9-6 (the-as village2cam gp-1) self 'village2cam (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - pov-camera-init-by-other - (-> self spawn-pos) - *village2cam-sg* - "elevator-at-top-going-down" - 0 - #f - '() - ) - (-> gp-1 ppointer) - ) - ) - ) + (let ((v1-10 (process-spawn + village2cam + :init pov-camera-init-by-other + (-> self spawn-pos) + *village2cam-sg* + "elevator-at-top-going-down" + 0 + #f + '() + :to self + ) + ) + ) (set! (-> (the-as village2cam (-> v1-10 0)) seq) (the-as uint 1)) ) ) @@ -112,8 +106,7 @@ (defstate plat-button-move-upward (sunken-elevator) :virtual #t - :enter - (behavior () + :enter (behavior () (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) enter))) (if t9-0 (t9-0) @@ -122,8 +115,7 @@ (set! (-> self play-at-top-going-up-camera?) #t) (none) ) - :trans - (behavior () + :trans (behavior () (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) trans))) (if t9-0 (t9-0) @@ -133,25 +125,19 @@ (set! *teleport* #t) (set! (-> self play-at-top-going-up-camera?) #f) (load-state-want-display-level 'sunken 'special) - (let* ((gp-0 (get-process *default-dead-pool* village2cam #x4000)) - (v1-8 (when gp-0 - (let ((t9-3 (method-of-type village2cam activate))) - (t9-3 (the-as village2cam gp-0) self 'village2cam (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - pov-camera-init-by-other - (-> self spawn-pos) - *village2cam-sg* - "elevator-at-top-going-down" - 0 - #f - '() - ) - (-> gp-0 ppointer) - ) - ) - ) + (let ((v1-8 (process-spawn + village2cam + :init pov-camera-init-by-other + (-> self spawn-pos) + *village2cam-sg* + "elevator-at-top-going-down" + 0 + #f + '() + :to self + ) + ) + ) (set! (-> (the-as village2cam (-> v1-8 0)) seq) (the-as uint 2)) ) ) @@ -161,8 +147,7 @@ (defstate plat-button-move-downward (sunken-elevator) :virtual #t - :trans - (behavior () + :trans (behavior () (let ((s5-0 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) ) diff --git a/goal_src/levels/village2/swamp-blimp.gc b/goal_src/levels/village2/swamp-blimp.gc index ed5a5493d0..721fbd5a45 100644 --- a/goal_src/levels/village2/swamp-blimp.gc +++ b/goal_src/levels/village2/swamp-blimp.gc @@ -18,11 +18,12 @@ ;; DECOMP BEGINS -(import "goal_src/import/precursor-arm-ag.gc") + +(import "goal_src/import/swamp-tetherrock-ag.gc") (import "goal_src/import/swamp-rope-ag.gc") (import "goal_src/import/swamp-tetherrock-explode-ag.gc") +(import "goal_src/import/precursor-arm-ag.gc") (import "goal_src/import/swamp-blimp-ag.gc") -(import "goal_src/import/swamp-tetherrock-ag.gc") (defskelgroup *swamp-tetherrock-sg* swamp-tetherrock swamp-tetherrock-lod0-jg swamp-tetherrock-idle-ja ((swamp-tetherrock-lod0-mg (meters 999999))) @@ -56,8 +57,7 @@ :duration 150 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 2065 :period 600 :length 5) + :parts ((sp-item 2065 :period 600 :length 5) (sp-item 2066 :period 600 :length 40) (sp-item 2067 :period 600 :length 20) (sp-item 2068 :period 600 :length 20) @@ -65,8 +65,7 @@ ) (defpart 2066 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 0.33) (meters 0.66) 1.0) @@ -91,13 +90,11 @@ ) (defpart 2069 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) ) (defpart 2068 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-flt spt-scale-x (meters 0.4)) @@ -115,8 +112,7 @@ ) (defpart 2065 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 32)) @@ -132,8 +128,7 @@ ) (defpart 2067 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0) @@ -161,13 +156,11 @@ ) (defpart 2070 - :init-specs - ((sp-flt spt-fade-r -0.53333336) (sp-flt spt-fade-g -0.53333336) (sp-flt spt-fade-b -1.0583333)) + :init-specs ((sp-flt spt-fade-r -0.53333336) (sp-flt spt-fade-g -0.53333336) (sp-flt spt-fade-b -1.0583333)) ) (defpart 2017 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.2) (sp-flt spt-y (meters 0.1)) (sp-flt spt-scale-x (meters 3)) @@ -190,13 +183,11 @@ :id 287 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1321 :period 15 :length 5)) + :parts ((sp-item 1321 :period 15 :length 5)) ) (defpart 1321 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -616,8 +607,7 @@ ) (defstate swamp-tetherrock-die (swamp-tetherrock) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (deactivate self) (suspend) @@ -627,8 +617,7 @@ ) (defstate swamp-tetherrock-hide (swamp-tetherrock) - :code - (behavior () + :code (behavior () (clear-collide-with-as (-> self root-override)) (logior! (-> self draw status) (draw-status hidden)) (loop @@ -644,15 +633,13 @@ ) (defstate swamp-tetherrock-break (swamp-tetherrock) - :exit - (behavior () + :exit (behavior () (clear-pending-settings-from-process *setting-control* self 'movie) (clear-pending-settings-from-process *setting-control* self 'process-mask) (copy-settings-from-target! *setting-control*) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (tetherrock-get-info (-> self entity)))) (hide-hud-quick) (process-grab? *target*) @@ -714,43 +701,28 @@ ) ) ) - (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-1 - (let ((t9-21 (method-of-type part-tracker activate))) - (t9-21 (the-as part-tracker s4-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s4-1 - part-tracker-init - (-> *part-group-id-table* 285) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> s4-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 285) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (logior! (-> self draw status) (draw-status skip-bones)) - (let* ((s4-2 (get-process *default-dead-pool* manipy #x4000)) - (s4-3 (ppointer->handle (when s4-2 - (let ((t9-24 (method-of-type manipy activate))) - (t9-24 (the-as manipy s4-2) *entity-pool* 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s4-2 - manipy-init - (-> self root-override trans) - (-> self entity) - *swamp-tetherrock-explode-sg* - #f - ) - (-> s4-2 ppointer) - ) - ) - ) - ) + (let ((s4-3 (ppointer->handle (manipy-spawn + (-> self root-override trans) + (-> self entity) + *swamp-tetherrock-explode-sg* + #f + :to *entity-pool* + ) + ) + ) + ) (send-event (handle->process (the-as handle s4-3)) 'anim-mode 'play1) (send-event (handle->process (the-as handle s4-3)) 'art-joint-anim "swamp-tetherrock-explode-explode" 0) (send-event (handle->process (the-as handle s4-3)) 'draw #t) @@ -792,64 +764,57 @@ ) ) (process-release? *target*) - (let ((gp-3 (get-process *default-dead-pool* process #x4000))) - (when gp-3 - (let ((t9-37 (method-of-type process activate))) - (t9-37 gp-3 self 'process (the-as pointer #x70004000)) + (process-spawn-function + process + (lambda ((arg0 int)) + (while (or (-> *setting-control* current ambient) + (-> *setting-control* current hint) + (-> *setting-control* current movie) + ) + (suspend) ) - (run-next-time-in-process - gp-3 - (lambda ((arg0 int)) - (while (or (-> *setting-control* current ambient) - (-> *setting-control* current hint) - (-> *setting-control* current movie) - ) - (suspend) - ) - (cond - ((= arg0 3) - (level-hint-spawn - (game-text-id swamp-tethers-three-to-go) - "sksp0157" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 2) - (level-hint-spawn - (game-text-id swamp-tethers-two-to-go) - "sksp0158" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 1) - (level-hint-spawn - (game-text-id swamp-tethers-lefts-find-the-last) - "sksp0159" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((zero? arg0) - (level-hint-spawn - (game-text-id swamp-tethers-completion-sage-precursor-arm) - "sagevb04" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ) - (none) - ) - s5-2 + (cond + ((= arg0 3) + (level-hint-spawn + (game-text-id swamp-tethers-three-to-go) + "sksp0157" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 2) + (level-hint-spawn + (game-text-id swamp-tethers-two-to-go) + "sksp0158" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 1) + (level-hint-spawn + (game-text-id swamp-tethers-lefts-find-the-last) + "sksp0159" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((zero? arg0) + (level-hint-spawn + (game-text-id swamp-tethers-completion-sage-precursor-arm) + "sagevb04" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) ) - (-> gp-3 ppointer) + (none) ) + s5-2 + :to self ) ) ) @@ -857,13 +822,11 @@ (go swamp-tetherrock-hide) (none) ) - :post - (the-as (function none :behavior swamp-tetherrock) ja-post) + :post (the-as (function none :behavior swamp-tetherrock) ja-post) ) (defstate swamp-tetherrock-idle (swamp-tetherrock) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (when (and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) @@ -878,26 +841,20 @@ s5-0 ) ) - (s5-1 (get-process *default-dead-pool* part-tracker #x4000)) ) - (when s5-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 287) - 150 - #f - #f - #f - (if gp-0 - (-> (the-as process-drawable gp-0) root trans) - (-> self root-override trans) - ) - ) - (-> s5-1 ppointer) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 287) + 150 + #f + #f + #f + (if gp-0 + (-> (the-as process-drawable gp-0) root trans) + (-> self root-override trans) + ) + :to *entity-pool* ) ) ) @@ -906,8 +863,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (let ((s4-0 (new 'static 'vector :y 1.0 :w 1.0)) (s3-0 (new 'stack-no-clear 'vector)) @@ -937,8 +893,7 @@ ) (none) ) - :post - (the-as (function none :behavior swamp-tetherrock) transform-post) + :post (the-as (function none :behavior swamp-tetherrock) transform-post) ) (defmethod init-from-entity! swamp-tetherrock ((obj swamp-tetherrock) (arg0 entity-actor)) @@ -997,8 +952,7 @@ ) (defstate precursor-arm-die (precursor-arm) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (deactivate self) (loop @@ -1009,8 +963,7 @@ ) (defstate precursor-arm-sink (precursor-arm) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (the int (-> *SWAMP_BLIMP-bank* arm-sink-wait)) @@ -1035,8 +988,7 @@ ) (none) ) - :post - (the-as (function none :behavior precursor-arm) transform-post) + :post (the-as (function none :behavior precursor-arm) transform-post) ) (defun precursor-arm-slip ((arg0 float)) @@ -1058,16 +1010,14 @@ ) (defstate precursor-arm-idle (precursor-arm) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('arm-sink-evt) (go precursor-arm-sink) ) ) ) - :trans - (behavior () + :trans (behavior () (when (>= (-> self rot-t) 1.0) (+! (-> self rot-base) (-> self rot-dist)) (set! (-> self rot-dist) (rand-vu-float-range -16384.0 16384.0)) @@ -1101,8 +1051,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (set! (-> self tension) 1.5) (let* ((f26-0 (+ 225.0 (* 150.0 (sin (rand-vu-float-range 0.0 16384.0))))) @@ -1161,8 +1110,7 @@ ) (none) ) - :post - (the-as (function none :behavior precursor-arm) transform-post) + :post (the-as (function none :behavior precursor-arm) transform-post) ) (defmethod init-from-entity! precursor-arm ((obj precursor-arm) (arg0 entity-actor)) @@ -1267,24 +1215,19 @@ ) (defstate swamp-rope-break (swamp-rope) - :enter - (behavior () + :enter (behavior () (set! (-> self scale-base) (-> self root scale y)) (none) ) - :trans - (behavior () + :trans (behavior () (vector<-cspace! (-> self root trans) (-> self parent-override 0 node-list data (-> self parent-rp))) (none) ) - :code - (behavior () - (let* ((f30-0 18.204445) - (f28-0 9.102222) - (v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (set! (-> self rot-speed) (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-2))))) + :code (behavior () + (let ((f30-0 18.204445) + (f28-0 9.102222) + ) + (set! (-> self rot-speed) (+ f30-0 (* f28-0 (rand-float-gen)))) ) (let* ((f30-1 3000000.0) (v1-5 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) @@ -1310,8 +1253,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (set! (-> self other-pos quad) (-> self root trans quad)) (set! (-> self other-pos y) (+ -245760.0 (-> self other-pos y))) (swamp-rope-post) @@ -1360,10 +1302,8 @@ ) (defstate swamp-rope-idle-rock (swamp-rope) - :trans - swamp-rope-trans - :code - (behavior () + :trans swamp-rope-trans + :code (behavior () (ja :group! swamp-blimp-idle-ja) (loop (let* ((f0-1 (* 2000.0 (- (-> self old-scale) (-> self root scale y)))) @@ -1388,15 +1328,12 @@ ) (none) ) - :post - swamp-rope-post + :post swamp-rope-post ) (defstate swamp-rope-idle-arm (swamp-rope) - :trans - swamp-rope-trans - :code - (behavior () + :trans swamp-rope-trans + :code (behavior () (ja :group! swamp-blimp-idle-ja) (loop (let* ((a0-3 (-> self other-entity)) @@ -1415,8 +1352,7 @@ ) (none) ) - :post - swamp-rope-post + :post swamp-rope-post ) (defbehavior swamp-rope-init-by-other swamp-rope ((arg0 vector) (arg1 entity-actor)) @@ -1503,8 +1439,7 @@ ) (defstate swamp-blimp-bye-bye (swamp-blimp) - :enter - (behavior () + :enter (behavior () (let ((gp-0 (entity-actor-lookup (-> self entity) 'alt-actor (-> *SWAMP_BLIMP-bank* arm-index)))) (when gp-0 (entity-birth-no-kill gp-0) @@ -1519,10 +1454,8 @@ 0 (none) ) - :trans - (the-as (function none :behavior swamp-blimp) blimp-trans) - :code - (behavior () + :trans (the-as (function none :behavior swamp-blimp) blimp-trans) + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((gp-0 (new 'stack-no-clear 'quaternion))) (quaternion-copy! gp-0 (-> self rot-at-init)) @@ -1547,8 +1480,7 @@ ) (none) ) - :post - (the-as (function none :behavior swamp-blimp) transform-post) + :post (the-as (function none :behavior swamp-blimp) transform-post) ) (defbehavior swamp-blimp-setup swamp-blimp () @@ -1636,8 +1568,7 @@ ) (defstate swamp-blimp-idle (swamp-blimp) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'tetherrock-break-evt) (increment-success-for-hint (game-text-id swamp-tethers-advice-hint)) @@ -1646,10 +1577,8 @@ ) ) ) - :trans - (the-as (function none :behavior swamp-blimp) blimp-trans) - :code - (behavior () + :trans (the-as (function none :behavior swamp-blimp) blimp-trans) + :code (behavior () (ja :group! swamp-blimp-idle-ja) (loop (when (< 300 (-> self arm-timer)) @@ -1685,8 +1614,7 @@ ) (none) ) - :post - (the-as (function none :behavior swamp-blimp) transform-post) + :post (the-as (function none :behavior swamp-blimp) transform-post) ) (defmethod init-from-entity! swamp-blimp ((obj swamp-blimp) (arg0 entity-actor)) @@ -1734,20 +1662,11 @@ (let ((s5-2 (entity-actor-count (-> obj entity) 'alt-actor))) (dotimes (s4-1 s5-2) (let ((s3-1 (entity-actor-lookup (-> obj entity) 'alt-actor s4-1))) - (when s3-1 - (let ((s2-0 (get-process *default-dead-pool* swamp-rope #x4000))) + (if s3-1 (set! (-> obj the-ropes s4-1) - (ppointer->handle (when s2-0 - (let ((t9-19 (method-of-type swamp-rope activate))) - (t9-19 (the-as swamp-rope s2-0) obj 'swamp-rope (the-as pointer #x70004000)) - ) - (run-now-in-process s2-0 swamp-rope-init-by-other (-> obj trans-at-init) s3-1) - (-> s2-0 ppointer) - ) - ) + (ppointer->handle (process-spawn swamp-rope (-> obj trans-at-init) s3-1 :to obj)) ) ) - ) ) ) ) diff --git a/goal_src/levels/village2/village2-obs.gc b/goal_src/levels/village2/village2-obs.gc index 76f220d4d2..b8d09938e7 100644 --- a/goal_src/levels/village2/village2-obs.gc +++ b/goal_src/levels/village2/village2-obs.gc @@ -7,17 +7,18 @@ ;; DECOMP BEGINS -(import "goal_src/import/medres-village2-ag.gc") -(import "goal_src/import/pontoonten-ag.gc") -(import "goal_src/import/exit-chamber-dummy-ag.gc") -(import "goal_src/import/ceilingflag-ag.gc") -(import "goal_src/import/allpontoons-ag.gc") -(import "goal_src/import/ogreboss-village2-ag.gc") -(import "goal_src/import/medres-rolling-ag.gc") + (import "goal_src/import/pontoonfive-ag.gc") -(import "goal_src/import/fireboulder-ag.gc") -(import "goal_src/import/medres-rolling1-ag.gc") +(import "goal_src/import/allpontoons-ag.gc") +(import "goal_src/import/medres-village2-ag.gc") +(import "goal_src/import/exit-chamber-dummy-ag.gc") (import "goal_src/import/village2cam-ag.gc") +(import "goal_src/import/fireboulder-ag.gc") +(import "goal_src/import/ogreboss-village2-ag.gc") +(import "goal_src/import/ceilingflag-ag.gc") +(import "goal_src/import/medres-rolling1-ag.gc") +(import "goal_src/import/medres-rolling-ag.gc") +(import "goal_src/import/pontoonten-ag.gc") (deftype village2cam (pov-camera) ((seq uint64 :offset-assert 224) @@ -41,8 +42,7 @@ (defstate pov-camera-playing (village2cam) :virtual #t - :code - (behavior () + :code (behavior () (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) @@ -112,27 +112,23 @@ (defstate pontoon-hidden (pontoon) - :enter - (behavior () + :enter (behavior () (logior! (-> self draw status) (draw-status hidden)) (clear-collide-with-as (-> self root-overlay)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (restore-collide-with-as (-> self root-overlay)) (none) ) - :trans - (behavior () + :trans (behavior () (if (task-closed? (the-as game-task (-> self task)) (task-status need-resolution)) (go-virtual rigid-body-platform-idle) ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) @@ -141,8 +137,7 @@ ) (defstate pontoon-die (pontoon) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (deactivate self) (none) @@ -151,8 +146,7 @@ (defstate rigid-body-platform-float (pontoon) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'die) @@ -170,8 +164,7 @@ (defstate rigid-body-platform-idle (pontoon) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'die) (cleanup-for-death self) @@ -424,13 +417,11 @@ :id 563 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2841 :flags (is-3d) :period 900 :length 5) (sp-item 2842 :flags (is-3d) :period 900 :length 5)) + :parts ((sp-item 2841 :flags (is-3d) :period 900 :length 5) (sp-item 2842 :flags (is-3d) :period 900 :length 5)) ) (defpart 2841 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters 0) (meters 9) 1.0) (sp-flt spt-y (meters 0.1)) @@ -455,13 +446,11 @@ ) (defpart 2843 - :init-specs - ((sp-flt spt-fade-a -0.094814815)) + :init-specs ((sp-flt spt-fade-a -0.094814815)) ) (defpart 2842 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters 8) (meters 8) 1.0) (sp-flt spt-y (meters 0.1)) @@ -505,8 +494,7 @@ ) (defstate allpontoons-be-clone (allpontoons) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'end-mode) (cleanup-for-death self) @@ -515,19 +503,16 @@ ) ) ) - :enter - (behavior ((arg0 handle)) + :enter (behavior ((arg0 handle)) (logclear! (-> self draw status) (draw-status hidden)) (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (ja-aframe-num 0) 500.0) (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) @@ -538,8 +523,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (clone-anim arg0 3 #t "") (cleanup-for-death self) (deactivate self) @@ -548,21 +532,18 @@ ) (defstate allpontoons-idle (allpontoons) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('clone) (go allpontoons-be-clone (the-as handle (-> arg3 param 0))) ) ) ) - :enter - (behavior () + :enter (behavior () (logior! (-> self draw status) (draw-status hidden)) (none) ) - :code - (behavior () + :code (behavior () (loop (when (and (nonzero? (-> self task)) (task-closed? (the-as game-task (-> self task)) (task-status need-resolution))) (cleanup-for-death self) @@ -668,8 +649,7 @@ ) (defstate fireboulder-hover (fireboulder) - :enter - (behavior () + :enter (behavior () (fireboulder-disable-blocking-collision) (ja-channel-set! 1) (ja :group! (-> self draw art-group data 3)) @@ -686,19 +666,16 @@ (set! (-> self draw bounds w) 24576.0) (none) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (none) ) - :trans - (behavior () + :trans (behavior () (fireboulder-hover-stuff) (update! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -713,34 +690,28 @@ ) (none) ) - :post - (the-as (function none :behavior fireboulder) transform-post) + :post (the-as (function none :behavior fireboulder) transform-post) ) (defstate fireboulder-be-clone (fireboulder) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('stop-cloning) (go fireboulder-hover) ) ) ) - :enter - (behavior ((arg0 handle)) + :enter (behavior ((arg0 handle)) (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (logclear! (-> self skel status) (janim-status spool)) (none) ) - :trans - (the-as (function none :behavior fireboulder) fireboulder-hover-stuff) - :code - (behavior ((arg0 handle)) + :trans (the-as (function none :behavior fireboulder) fireboulder-hover-stuff) + :code (behavior ((arg0 handle)) (clone-anim arg0 3 #t "") (format 0 "ERROR: fireboulder-be-clone ended~%") (cleanup-for-death self) @@ -750,16 +721,14 @@ ) (defstate fireboulder-idle (fireboulder) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('clone) (go fireboulder-be-clone (the-as handle (-> arg3 param 0))) ) ) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self tracker)))) (if a0-1 (deactivate a0-1) @@ -767,8 +736,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (transform-post) (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) @@ -782,28 +750,19 @@ ) ) (else - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self tracker) - (ppointer->handle - (when gp-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 271) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! (-> self tracker) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 271) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* + ) + ) + ) ) ) (suspend) @@ -812,8 +771,7 @@ ) (none) ) - :post - (the-as (function none :behavior fireboulder) ja-post) + :post (the-as (function none :behavior fireboulder) ja-post) ) (defmethod init-from-entity! fireboulder ((obj fireboulder) (arg0 entity-actor)) @@ -896,8 +854,7 @@ ) (defstate ceilingflag-idle (ceilingflag) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -907,8 +864,7 @@ ) (none) ) - :post - (the-as (function none :behavior ceilingflag) ja-post) + :post (the-as (function none :behavior ceilingflag) ja-post) ) (defmethod init-from-entity! ceilingflag ((obj ceilingflag) (arg0 entity-actor)) @@ -956,8 +912,7 @@ ) (defstate exit-chamber-dummy-wait-to-appear (exit-chamber-dummy) - :code - (behavior () + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (while (not (skip-reminder? self)) (suspend) @@ -978,8 +933,7 @@ ) (defstate exit-chamber-dummy-idle (exit-chamber-dummy) - :code - (behavior () + :code (behavior () (logclear! (-> self draw status) (draw-status hidden)) (let ((gp-0 0)) (while (< gp-0 2) @@ -1012,8 +966,7 @@ (go exit-chamber-dummy-wait-to-appear) (none) ) - :post - (the-as (function none :behavior exit-chamber-dummy) ja-post) + :post (the-as (function none :behavior exit-chamber-dummy) ja-post) ) (defmethod init-from-entity! exit-chamber-dummy ((obj exit-chamber-dummy) (arg0 entity-actor)) @@ -1061,15 +1014,13 @@ :id 564 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2319 :fade-after (meters 200) :falloff-to (meters 200)) + :parts ((sp-item 2319 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 2320 :fade-after (meters 200) :falloff-to (meters 200)) ) ) (defpart 2320 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 2) 1.0) @@ -1096,8 +1047,7 @@ ) (defpart 2319 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 2) 1.0) @@ -1127,13 +1077,11 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2287 :period 900 :length 40)) + :parts ((sp-item 2287 :period 900 :length 40)) ) (defpart 2287 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 1.0) @@ -1155,16 +1103,14 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2288 :period 900 :length 20) + :parts ((sp-item 2288 :period 900 :length 20) (sp-item 2321 :flags (is-3d) :period 900 :length 10) (sp-item 2322 :flags (is-3d) :period 900 :length 10) ) ) (defpart 2321 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters 0) (meters 9) 1.0) (sp-rnd-flt spt-scale-x (meters 16) (meters 8) 1.0) @@ -1188,13 +1134,11 @@ ) (defpart 2323 - :init-specs - ((sp-flt spt-fade-a -0.094814815)) + :init-specs ((sp-flt spt-fade-a -0.094814815)) ) (defpart 2322 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters 8) (meters 8) 1.0) (sp-rnd-flt spt-scale-x (meters 4.5) (meters 3.5) 1.0) @@ -1218,8 +1162,7 @@ ) (defpart 2288 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 6) 1.0) @@ -1259,14 +1202,16 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) (sound-play-by-name (static-sound-name "boulder-splash") (new-sound-id) 1024 0 0 1 #t) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 552) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 552) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (send-event self 'trans-hook nothing) @@ -1282,14 +1227,16 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) (sound-play-by-name (static-sound-name "boulder-splash") (new-sound-id) 1024 0 0 1 #t) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 552) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 552) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (send-event self 'trans-hook nothing) @@ -1305,14 +1252,16 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) (sound-play-by-name (static-sound-name "v2ogre-boulder") (new-sound-id) 1024 0 0 1 #t) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 551) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 551) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (send-event self 'trans-hook boulder2-trans-2) @@ -1328,14 +1277,16 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) (sound-play-by-name (static-sound-name "boulder-splash") (new-sound-id) 1024 0 0 1 #t) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 552) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 552) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (send-event self 'trans-hook nothing) @@ -1351,14 +1302,16 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) (sound-play-by-name (static-sound-name "v2ogre-boulder") (new-sound-id) 1024 0 0 1 #t) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 551) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 551) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (send-event self 'trans-hook boulder3-trans-2) @@ -1374,14 +1327,16 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) (sound-play-by-name (static-sound-name "boulder-splash") (new-sound-id) 1024 0 0 1 #t) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 552) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 552) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (send-event self 'trans-hook nothing) @@ -1397,14 +1352,16 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) (sound-play-by-name (static-sound-name "v2ogre-boulder") (new-sound-id) 1024 0 0 1 #t) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 551) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 551) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (send-event self 'trans-hook boulder4-trans-3) @@ -1420,14 +1377,16 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) (sound-play-by-name (static-sound-name "v2ogre-boulder") (new-sound-id) 1024 0 0 1 #t) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 551) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 551) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (send-event self 'trans-hook boulder4-trans-2) @@ -1437,23 +1396,11 @@ ) (defstate ogreboss-village2-throw (ogreboss-village2) - :trans - ogreboss-village2-trans - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self boulder) - (ppointer->handle - (when gp-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 (the-as manipy gp-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 manipy-init (-> self entity extra trans) (-> self entity) *fireboulder-sg* #f) - (-> gp-0 ppointer) - ) - ) - ) - ) + :trans ogreboss-village2-trans + :code (behavior () + (set! (-> self boulder) + (ppointer->handle (manipy-spawn (-> self entity extra trans) (-> self entity) *fireboulder-sg* #f :to self)) + ) (send-event (handle->process (-> self boulder)) 'anim-mode 'play1) (send-event (handle->process (-> self boulder)) 'art-joint-anim "fireboulder-pre-throw" 0) (send-event (handle->process (-> self boulder)) 'draw #t) @@ -1476,10 +1423,7 @@ (suspend) (ja :num! (seek!)) ) - (let* ((v1-72 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-73 (the-as number (logior #x3f800000 v1-72))) - (f0-9 (+ -1.0 (the-as float v1-73))) - ) + (let ((f0-9 (rand-float-gen))) (cond ((< 0.75 f0-9) (send-event (handle->process (-> self boulder)) 'art-joint-anim "fireboulder-boulder1" 0) @@ -1508,15 +1452,12 @@ (go ogreboss-village2-idle) (none) ) - :post - (the-as (function none :behavior ogreboss-village2) ja-post) + :post (the-as (function none :behavior ogreboss-village2) ja-post) ) (defstate ogreboss-village2-idle (ogreboss-village2) - :trans - ogreboss-village2-trans - :code - (behavior () + :trans ogreboss-village2-trans + :code (behavior () (loop (ja-channel-push! 1 (seconds 0.1)) (let ((v1-0 (rand-vu-int-range 0 2))) @@ -1569,10 +1510,7 @@ ) ) ) - (let* ((v1-104 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-105 (the-as number (logior #x3f800000 v1-104))) - (f0-33 (+ -1.0 (the-as float v1-105))) - ) + (let ((f0-33 (rand-float-gen))) (cond ((< 0.6666667 f0-33) (ja-channel-push! 1 (seconds 0.2)) @@ -1590,8 +1528,7 @@ ) (none) ) - :post - (the-as (function none :behavior ogreboss-village2) ja-post) + :post (the-as (function none :behavior ogreboss-village2) ja-post) ) (defmethod init-from-entity! ogreboss-village2 ((obj ogreboss-village2) (arg0 entity-actor)) @@ -1648,8 +1585,7 @@ :count 3 :converted #f :normal-scale 6.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 7.0 :xdiv 1 :speed 6.0) (new 'static 'ripple-wave :scale 7.0 :xdiv -1 :zdiv 1 :speed 6.0) (new 'static 'ripple-wave :scale 3.0 :xdiv 5 :zdiv 3 :speed 3.0) diff --git a/goal_src/levels/village2/village2-part.gc b/goal_src/levels/village2/village2-part.gc index c0ba8cfaa0..e9f3f78fb5 100644 --- a/goal_src/levels/village2/village2-part.gc +++ b/goal_src/levels/village2/village2-part.gc @@ -19,16 +19,14 @@ (defpartgroup group-village2-moth :id 264 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 1129 :fade-after (meters 120) :flags (bit1) :period 18030 :length 5 :binding 1127) + :parts ((sp-item 1129 :fade-after (meters 120) :flags (bit1) :period 18030 :length 5 :binding 1127) (sp-item 1127 :flags (start-dead launch-asap) :binding 1128) (sp-item 1128 :flags (is-3d start-dead)) ) ) (defpart 1129 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.1)) (sp-copy-from-other spt-scale-y -4) @@ -41,8 +39,7 @@ ) (defpart 1127 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 1.5)) @@ -65,8 +62,7 @@ ) (defpart 1130 - :init-specs - ((sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) + :init-specs ((sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) (sp-rnd-flt spt-vel-y (meters -0.0148148155) (meters 0.029629631) 1.0) (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) (sp-int-plain-rnd spt-next-time 150 449 1) @@ -75,8 +71,7 @@ ) (defpart 1128 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 0.4)) @@ -94,8 +89,7 @@ (defpartgroup group-village2-tableflys :id 265 :bounds (static-bspherem 0 3 0 10) - :parts - ((sp-item 1133 :flags (launch-asap) :binding 1131) + :parts ((sp-item 1133 :flags (launch-asap) :binding 1131) (sp-item 1134 :flags (launch-asap) :binding 1131) (sp-item 1135 :flags (launch-asap) :binding 1131) (sp-item 1131 :flags (start-dead launch-asap) :binding 1132) @@ -108,8 +102,7 @@ ) (defpart 1133 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 2)) @@ -125,13 +118,11 @@ ) (defpart 1136 - :init-specs - ((sp-int spt-timer 300) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 1136)) + :init-specs ((sp-int spt-timer 300) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 1136)) ) (defpart 1134 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 4)) (sp-flt spt-y (meters 2)) @@ -147,8 +138,7 @@ ) (defpart 1135 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -4)) (sp-flt spt-y (meters 2)) @@ -164,8 +154,7 @@ ) (defpart 1131 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-int spt-num 1065353216 1 2.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 1) (meters 1) 1.0) @@ -184,8 +173,7 @@ ) (defpart 1132 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 3.0) (sp-flt spt-scale-x (meters 0.15)) @@ -203,8 +191,7 @@ (defpartgroup group-village2-flamepot :id 266 :bounds (static-bspherem 0 5 0 6) - :parts - ((sp-item 1137 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1137 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1138 :fade-after (meters 40) :falloff-to (meters 40) :period 492 :length 60) (sp-item 1139 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1140 :fade-after (meters 40) :falloff-to (meters 40) :period 369 :length 219) @@ -218,8 +205,7 @@ (defpartgroup group-village2-flamepot-half :id 267 :bounds (static-bspherem 0 5 0 6) - :parts - ((sp-item 1145 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1145 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1146 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1147 :fade-after (meters 50) :falloff-to (meters 60)) ) @@ -228,8 +214,7 @@ (defpartgroup group-village2-flamepot-alt1 :id 268 :bounds (static-bspherem 0 5 0 6) - :parts - ((sp-item 1137 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1137 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1138 :fade-after (meters 40) :falloff-to (meters 40) :period 378 :length 60) (sp-item 1139 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1140 :fade-after (meters 40) :falloff-to (meters 40) :period 435 :length 219) @@ -243,8 +228,7 @@ (defpartgroup group-village2-flamepot-alt2 :id 269 :bounds (static-bspherem 0 5 0 6) - :parts - ((sp-item 1137 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1137 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1138 :fade-after (meters 40) :falloff-to (meters 40) :period 609 :length 60) (sp-item 1139 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1140 :fade-after (meters 40) :falloff-to (meters 40) :period 288 :length 219) @@ -258,13 +242,11 @@ (defpartgroup group-village2-flamepot-off :id 270 :bounds (static-bspherem 0 5 0 6) - :parts - ((sp-item 1148 :fade-after (meters 100) :falloff-to (meters 100))) + :parts ((sp-item 1148 :fade-after (meters 100) :falloff-to (meters 100))) ) (defpart 1144 - :init-specs - ((sp-flt spt-num 0.4) + :init-specs ((sp-flt spt-num 0.4) (sp-flt spt-x (meters 1)) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) @@ -281,13 +263,11 @@ ) (defpart 1149 - :init-specs - ((sp-flt spt-fade-b -5.4613333)) + :init-specs ((sp-flt spt-fade-b -5.4613333)) ) (defpart 1147 - :init-specs - ((sp-flt spt-num 0.15) + :init-specs ((sp-flt spt-num 0.15) (sp-flt spt-x (meters 0.4)) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) @@ -303,13 +283,11 @@ ) (defpart 1150 - :init-specs - ((sp-flt spt-fade-b -3.4133334)) + :init-specs ((sp-flt spt-fade-b -3.4133334)) ) (defpart 1137 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.4 1.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.75) 1.0) (sp-flt spt-y (meters -0.25)) @@ -336,8 +314,7 @@ ) (defpart 1145 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.35 0.25 1.0) (sp-rnd-flt spt-x (meters -0.1) (meters 0.1) 1.0) (sp-flt spt-y (meters -0.25)) @@ -364,8 +341,7 @@ ) (defpart 1138 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1060320051 1 1.0) (sp-rnd-flt spt-x (meters 0) (meters 0.5) 1.0) (sp-flt spt-y (meters -0.25)) @@ -392,8 +368,7 @@ ) (defpart 1139 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.15 0.2 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters -0.25)) @@ -422,8 +397,7 @@ ) (defpart 1146 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.06 0.06 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters -0.25)) @@ -452,8 +426,7 @@ ) (defpart 1148 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.08 0.1 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters -0.25)) @@ -482,8 +455,7 @@ ) (defpart 1151 - :init-specs - ((sp-flt spt-fade-g 0.53333336) + :init-specs ((sp-flt spt-fade-g 0.53333336) (sp-flt spt-fade-b 1.0666667) (sp-int spt-next-time 120) (sp-launcher-by-id spt-next-launcher 1152) @@ -491,13 +463,11 @@ ) (defpart 1152 - :init-specs - ((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpart 1140 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.4 0.55 1.0) (sp-rnd-flt spt-x (meters -0.6) (meters 1.2) 1.0) (sp-flt spt-y (meters -0.25)) @@ -524,8 +494,7 @@ ) (defpart 1141 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1031127695 1 0.9) (sp-rnd-flt spt-x (meters -0.6) (meters 0.5) 1.0) (sp-flt spt-y (meters 0.75)) @@ -552,8 +521,7 @@ ) (defpart 1142 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.6 0.9 1.0) (sp-rnd-flt spt-x (meters -0.6) (meters 1.2) 1.0) (sp-flt spt-y (meters -0.25)) @@ -580,8 +548,7 @@ ) (defpart 1143 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1060320051 1 1.5) (sp-rnd-flt spt-x (meters -0.25) (meters 0.75) 1.0) (sp-flt spt-y (meters 0.75)) @@ -610,8 +577,7 @@ (defpartgroup group-village2-fireboulder-off :id 634 :bounds (static-bspherem 0 4 0 10.5) - :parts - ((sp-item 1169 :fade-after (meters 80) :falloff-to (meters 100)) + :parts ((sp-item 1169 :fade-after (meters 80) :falloff-to (meters 100)) (sp-item 1170 :fade-after (meters 80) :falloff-to (meters 100)) ) ) @@ -620,8 +586,7 @@ :id 271 :duration 18000 :bounds (static-bspherem 0 4 0 10.5) - :parts - ((sp-item 1153 :fade-after (meters 200) :falloff-to (meters 240)) + :parts ((sp-item 1153 :fade-after (meters 200) :falloff-to (meters 240)) (sp-item 1154 :fade-after (meters 100) :falloff-to (meters 120) :period 300 :length 60) (sp-item 1155 :fade-after (meters 80) :falloff-to (meters 100)) (sp-item 1156 :fade-after (meters 50) :falloff-to (meters 50)) @@ -643,8 +608,7 @@ ) (defpart 1156 - :init-specs - ((sp-flt spt-num 0.15) + :init-specs ((sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters 1.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-z (meters 0.5) (meters 2.5) 1.0) @@ -663,13 +627,11 @@ ) (defpart 1171 - :init-specs - ((sp-flt spt-fade-b 13.653334)) + :init-specs ((sp-flt spt-fade-b 13.653334)) ) (defpart 1160 - :init-specs - ((sp-flt spt-num 0.15) + :init-specs ((sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -3.5) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters 5.5) (meters 1) 1.0) (sp-rnd-flt spt-z (meters -1) (meters 1) 1.0) @@ -688,8 +650,7 @@ ) (defpart 1164 - :init-specs - ((sp-flt spt-num 0.15) + :init-specs ((sp-flt spt-num 0.15) (sp-flt spt-x (meters 2.7)) (sp-rnd-flt spt-y (meters 4) (meters 1) 1.0) (sp-rnd-flt spt-z (meters -3) (meters 2) 1.0) @@ -708,8 +669,7 @@ ) (defpart 1153 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.7 1.2 1.0) (sp-rnd-flt spt-x (meters 1.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 5) (meters 1) 1.0) @@ -735,8 +695,7 @@ ) (defpart 1154 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1058642330 1 1.7) (sp-rnd-flt spt-x (meters 1.5) (meters 0.7) 1.0) (sp-rnd-flt spt-y (meters 6) (meters 0.6) 1.0) @@ -762,8 +721,7 @@ ) (defpart 1155 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.05 0.2 1.0) (sp-rnd-flt spt-x (meters 1.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 6) (meters 1) 1.0) @@ -792,8 +750,7 @@ ) (defpart 1172 - :init-specs - ((sp-flt spt-fade-g 0.53333336) + :init-specs ((sp-flt spt-fade-g 0.53333336) (sp-flt spt-fade-b 1.0666667) (sp-int spt-next-time 120) (sp-launcher-by-id spt-next-launcher 1173) @@ -801,13 +758,11 @@ ) (defpart 1173 - :init-specs - ((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpart 1157 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.65 1.2 1.0) (sp-rnd-flt spt-x (meters -3.5) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters 4.5) (meters 1) 1.0) @@ -834,8 +789,7 @@ ) (defpart 1158 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1056964608 1 1.2) (sp-rnd-flt spt-x (meters -3.5) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters 4.5) (meters 1) 1.0) @@ -862,8 +816,7 @@ ) (defpart 1159 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.08 0.25 1.0) (sp-rnd-flt spt-x (meters -3.5) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters 5.5) (meters 1) 1.0) @@ -893,8 +846,7 @@ ) (defpart 1161 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.7 1.5 1.0) (sp-flt spt-x (meters 2.7)) (sp-rnd-flt spt-y (meters 3) (meters 1) 1.0) @@ -921,8 +873,7 @@ ) (defpart 1162 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1058642330 1 1.4) (sp-flt spt-x (meters 2.7)) (sp-rnd-flt spt-y (meters 3) (meters 1) 1.0) @@ -949,8 +900,7 @@ ) (defpart 1163 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.08 0.25 1.0) (sp-flt spt-x (meters 2.7)) (sp-rnd-flt spt-y (meters 4) (meters 1) 1.0) @@ -980,8 +930,7 @@ ) (defpart 1165 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.65 1.5 1.0) (sp-rnd-flt spt-x (meters -3) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 1) 1.0) @@ -1008,8 +957,7 @@ ) (defpart 1166 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1059481190 1 1.5) (sp-rnd-flt spt-x (meters -3) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 1) 1.0) @@ -1036,8 +984,7 @@ ) (defpart 1167 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.08 0.25 1.0) (sp-rnd-flt spt-x (meters -3) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 5) (meters 1) 1.0) @@ -1067,8 +1014,7 @@ ) (defpart 1168 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.1 0.4 1.0) (sp-rnd-flt spt-x (meters 1.5) (meters 1) 1.0) (sp-flt spt-y (meters -0.5)) @@ -1096,8 +1042,7 @@ ) (defpart 1169 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.15 0.15 1.0) (sp-flt spt-y (meters 4)) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.2) 1.0) @@ -1126,8 +1071,7 @@ ) (defpart 1174 - :init-specs - ((sp-flt spt-vel-y (meters 0.013333334)) + :init-specs ((sp-flt spt-vel-y (meters 0.013333334)) (sp-flt spt-fade-a 0.0) (sp-flt spt-accel-y -0.00040000002) (sp-int spt-next-time 300) @@ -1136,13 +1080,11 @@ ) (defpart 1175 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.10666667)) ) (defpart 1170 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.15 0.3 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.2) 1.0) @@ -1170,13 +1112,11 @@ ) (defpart 1176 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 600) (sp-launcher-by-id spt-next-launcher 1177)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 600) (sp-launcher-by-id spt-next-launcher 1177)) ) (defpart 1177 - :init-specs - ((sp-flt spt-vel-x (meters 0)) + :init-specs ((sp-flt spt-vel-x (meters 0)) (sp-flt spt-vel-y (meters 0.011666667)) (sp-flt spt-vel-z (meters 0)) (sp-flt spt-scalevel-x (meters 0.0016666667)) @@ -1193,8 +1133,7 @@ (defpartgroup group-village2-window-flames-45 :id 272 :bounds (static-bspherem 8 -8 0 36) - :parts - ((sp-item 1178 :fade-after (meters 300)) + :parts ((sp-item 1178 :fade-after (meters 300)) (sp-item 1179 :fade-after (meters 300)) (sp-item 1179 :fade-after (meters 180)) (sp-item 1180 :fade-after (meters 200) :period 2160 :length 5) @@ -1208,8 +1147,7 @@ ) (defpart 1178 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.015 0.035 1.0) (sp-rnd-flt spt-x (meters 4) (meters 12) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 8) 1.0) @@ -1235,21 +1173,18 @@ ) (defpart 1183 - :init-specs - ((sp-flt spt-fade-a 0.0) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 300 299 1) (sp-launcher-by-id spt-next-launcher 1184) ) ) (defpart 1184 - :init-specs - ((sp-flt spt-fade-a -0.08)) + :init-specs ((sp-flt spt-fade-a -0.08)) ) (defpart 1179 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.4 1.0) (sp-rnd-flt spt-x (meters 10) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 6) 1.0) @@ -1275,13 +1210,11 @@ ) (defpart 1185 - :init-specs - ((sp-flt spt-fade-a -0.85333335)) + :init-specs ((sp-flt spt-fade-a -0.85333335)) ) (defpart 1180 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.8 0.4 1.0) (sp-rnd-flt spt-x (meters 10) (meters 4) 1.0) (sp-flt spt-y (meters 6)) @@ -1305,8 +1238,7 @@ ) (defpart 1181 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.015 0.03 1.0) (sp-rnd-flt spt-x (meters -6) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 8) (meters 8) 1.0) @@ -1332,8 +1264,7 @@ ) (defpart 1182 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-rnd-flt spt-x (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 6) 1.0) @@ -1361,8 +1292,7 @@ (defpartgroup group-village2-window-flames-41 :id 273 :bounds (static-bspherem 8 -8 0 36) - :parts - ((sp-item 1186 :fade-after (meters 300)) + :parts ((sp-item 1186 :fade-after (meters 300)) (sp-item 1187 :fade-after (meters 300)) (sp-item 1187 :fade-after (meters 180)) (sp-item 1188 :fade-after (meters 200) :period 2160 :length 5) @@ -1376,8 +1306,7 @@ ) (defpart 1186 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.015 0.03 1.0) (sp-rnd-flt spt-x (meters 6) (meters 12) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 8) 1.0) @@ -1403,8 +1332,7 @@ ) (defpart 1187 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.4 1.0) (sp-rnd-flt spt-x (meters 10) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 6) 1.0) @@ -1430,8 +1358,7 @@ ) (defpart 1188 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.8 0.4 1.0) (sp-rnd-flt spt-x (meters 10) (meters 4) 1.0) (sp-flt spt-y (meters 6)) @@ -1455,8 +1382,7 @@ ) (defpart 1189 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.015 0.03 1.0) (sp-rnd-flt spt-x (meters -2) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 8) (meters 8) 1.0) @@ -1482,8 +1408,7 @@ ) (defpart 1190 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-rnd-flt spt-x (meters 6) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 6) 1.0) @@ -1511,16 +1436,14 @@ (defpartgroup group-village2-big-boulder :id 274 :bounds (static-bspherem 8 -8 0 36) - :parts - ((sp-item 1191 :fade-after (meters 300)) + :parts ((sp-item 1191 :fade-after (meters 300)) (sp-item 1192 :fade-after (meters 300)) (sp-item 1192 :fade-after (meters 180)) ) ) (defpart 1191 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.015 0.03 1.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 8) (meters 4) 1.0) @@ -1546,8 +1469,7 @@ ) (defpart 1192 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.4 0.4 1.0) (sp-flt spt-x (meters 2)) (sp-flt spt-y (meters 4)) @@ -1577,8 +1499,7 @@ (defpartgroup group-village2-sages-controlpanel :id 275 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1193 :fade-after (meters 30) :period 736 :length 10) + :parts ((sp-item 1193 :fade-after (meters 30) :period 736 :length 10) (sp-item 1193 :fade-after (meters 30) :period 1696 :length 10) (sp-item 1193 :fade-after (meters 30) :period 5079 :length 10) (sp-item 1194 :fade-after (meters 30) :period 5079 :length 10) @@ -1588,8 +1509,7 @@ ) (defpart 1195 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.4 1.0) (sp-flt spt-x (meters 0.9)) (sp-flt spt-y (meters 0.25)) @@ -1617,8 +1537,7 @@ ) (defpart 1196 - :init-specs - ((sp-flt spt-fade-r -0.053333335) + :init-specs ((sp-flt spt-fade-r -0.053333335) (sp-flt spt-fade-g -0.053333335) (sp-flt spt-fade-b -0.053333335) (sp-flt spt-fade-a -0.10666667) @@ -1626,8 +1545,7 @@ ) (defpart 1193 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 4.0 16.0 1.0) (sp-sound (static-sound-spec "spark" :num 0.1 :volume 100.0)) (sp-flt spt-x (meters 0.9)) @@ -1655,8 +1573,7 @@ ) (defpart 1194 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 4.0 16.0 1.0) (sp-sound (static-sound-spec "spark" :num 0.1 :volume 100.0)) (sp-flt spt-x (meters -1.2)) @@ -1686,8 +1603,7 @@ (defpartgroup group-village2-sages-machine :id 276 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1199 :fade-after (meters 40) :period 768 :length 10 :binding 1197) + :parts ((sp-item 1199 :fade-after (meters 40) :period 768 :length 10 :binding 1197) (sp-item 1199 :fade-after (meters 40) :period 1096 :length 10 :binding 1198) (sp-item 1199 :fade-after (meters 40) :period 2137 :length 10 :binding 1197) (sp-item 1197 :fade-after (meters 40) :flags (start-dead)) @@ -1705,8 +1621,7 @@ ) (defpart 1201 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.5 1.0 1.0) (sp-flt spt-x (meters -0.75)) (sp-flt spt-y (meters -0.8)) @@ -1730,8 +1645,7 @@ ) (defpart 1202 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.75)) (sp-flt spt-y (meters -0.8)) @@ -1750,8 +1664,7 @@ ) (defpart 1200 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 1.0 0.5 1.0) (sp-flt spt-x (meters -0.7)) (sp-flt spt-y (meters -0.7)) @@ -1773,8 +1686,7 @@ ) (defpart 1205 - :init-specs - ((sp-flt spt-r 64.0) + :init-specs ((sp-flt spt-r 64.0) (sp-flt spt-g 64.0) (sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g -1.0666667) @@ -1783,8 +1695,7 @@ ) (defpart 1203 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.4 1.0) (sp-flt spt-x (meters -1.25)) (sp-flt spt-y (meters 0)) @@ -1812,8 +1723,7 @@ ) (defpart 1206 - :init-specs - ((sp-flt spt-fade-r -0.053333335) + :init-specs ((sp-flt spt-fade-r -0.053333335) (sp-flt spt-fade-g -0.053333335) (sp-flt spt-fade-b -0.053333335) (sp-flt spt-fade-a -0.10666667) @@ -1822,8 +1732,7 @@ ) (defpart 1204 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.8 1.0) (sp-flt spt-x (meters -0.7)) (sp-flt spt-y (meters -0.7)) @@ -1853,8 +1762,7 @@ ) (defpart 1199 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-copy-from-other spt-scale-y -4) @@ -1872,8 +1780,7 @@ ) (defpart 1197 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 2.0 8.0 1.0) (sp-sound (static-sound-spec "spark" :num 0.1 :volume 100.0)) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -1898,8 +1805,7 @@ ) (defpart 1198 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 2.0 6.0 1.0) (sp-sound (static-sound-spec "spark" :num 0.1 :volume 100.0)) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -1925,8 +1831,7 @@ ) (defpart 1207 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.0 3.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.075) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1947,13 +1852,9 @@ (when (< (-> arg2 y) (-> arg1 user-float)) (let ((gp-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) - ) - ) + (if (< (rand-float-gen) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) (sp-launch-particles-var *sp-particle-system-2d* @@ -1973,8 +1874,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 2792 :fade-after (meters 100) :falloff-to (meters 100) :binding 2791) + :parts ((sp-item 2792 :fade-after (meters 100) :falloff-to (meters 100) :binding 2791) (sp-item 2791 :flags (bit1 start-dead launch-asap)) (sp-item 2791 :flags (bit1 start-dead launch-asap)) (sp-item 2791 :flags (bit1 start-dead launch-asap)) @@ -2021,8 +1921,7 @@ ) (defpart 2795 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-rnd-flt spt-num 0.2 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 12.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -2041,8 +1940,7 @@ ) (defpart 2794 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-rnd-flt spt-num 0.2 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 12.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -2061,8 +1959,7 @@ ) (defpart 2793 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) @@ -2083,8 +1980,7 @@ ) (defpart 2792 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2099,8 +1995,7 @@ ) (defpart 2791 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) diff --git a/goal_src/levels/village2/village2-part2.gc b/goal_src/levels/village2/village2-part2.gc index 693b6d74d4..3ff82ebfdf 100644 --- a/goal_src/levels/village2/village2-part2.gc +++ b/goal_src/levels/village2/village2-part2.gc @@ -8,26 +8,22 @@ ;; DECOMP BEGINS (defpart 1208 - :init-specs - ((sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-a -0.10666667)) ) (defpart 1209 - :init-specs - ((sp-flt spt-fade-a -0.16)) + :init-specs ((sp-flt spt-fade-a -0.16)) ) (defpart 1210 - :init-specs - ((sp-flt spt-fade-a -2.6666667)) + :init-specs ((sp-flt spt-fade-a -2.6666667)) ) (defpartgroup group-village2-waterfall-29 :id 277 :flags (always-draw) :bounds (static-bspherem 0 22 0 35) - :parts - ((sp-item 1211) + :parts ((sp-item 1211) (sp-item 1211 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1211 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 1212 :fade-after (meters 100) :falloff-to (meters 100)) @@ -87,8 +83,7 @@ ) (defpart 1211 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-flt spt-x (meters -7)) (sp-rnd-flt spt-y (meters 41.5) (meters 1.5) 1.0) @@ -115,8 +110,7 @@ ) (defpart 1214 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-flt spt-x (meters -12)) (sp-rnd-flt spt-y (meters 42.5) (meters 1.5) 1.0) @@ -143,8 +137,7 @@ ) (defpart 1217 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.5 0.8 1.0) (sp-rnd-flt spt-x (meters -2) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 24) (meters 1.5) 1.0) @@ -171,8 +164,7 @@ ) (defpart 1220 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.5 0.8 1.0) (sp-rnd-flt spt-x (meters -4) (meters 8) 1.0) (sp-rnd-flt spt-y (meters 27.5) (meters 1.5) 1.0) @@ -197,8 +189,7 @@ ) (defpart 1223 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-rnd-flt spt-x (meters -1) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 28.5) (meters 1.5) 1.0) @@ -223,8 +214,7 @@ ) (defpart 1224 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 26) (meters 1.5) 1.0) @@ -251,8 +241,7 @@ ) (defpart 1212 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -7)) (sp-rnd-flt spt-y (meters 41.5) (meters 1.5) 1.0) @@ -279,8 +268,7 @@ ) (defpart 1215 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -12)) (sp-rnd-flt spt-y (meters 42.5) (meters 1.5) 1.0) @@ -307,8 +295,7 @@ ) (defpart 1218 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -2) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 23.5) (meters 1.5) 1.0) @@ -335,8 +322,7 @@ ) (defpart 1221 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -4) (meters 10) 1.0) (sp-rnd-flt spt-y (meters 27.5) (meters 1.5) 1.0) @@ -362,8 +348,7 @@ ) (defpart 1225 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 26) (meters 1.5) 1.0) @@ -390,8 +375,7 @@ ) (defpart 1213 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.2 1.0) (sp-flt spt-x (meters -7)) (sp-rnd-flt spt-y (meters 41.5) (meters 1.5) 1.0) @@ -419,8 +403,7 @@ ) (defpart 1216 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.2 1.0) (sp-flt spt-x (meters -12)) (sp-rnd-flt spt-y (meters 42.5) (meters 1.5) 1.0) @@ -448,8 +431,7 @@ ) (defpart 1219 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.2 1.0) (sp-rnd-flt spt-x (meters -2) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 23.5) (meters 1.5) 1.0) @@ -477,8 +459,7 @@ ) (defpart 1222 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-rnd-flt spt-x (meters -4) (meters 8) 1.0) (sp-rnd-flt spt-y (meters 27.5) (meters 1.5) 1.0) @@ -505,8 +486,7 @@ ) (defpart 1227 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-rnd-flt spt-x (meters -1) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 28.5) (meters 1.5) 1.0) @@ -533,8 +513,7 @@ ) (defpart 1226 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.2 1.0) (sp-rnd-flt spt-x (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 26) (meters 1.5) 1.0) @@ -562,8 +541,7 @@ ) (defpart 1228 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters 2) (meters 7) 1.0) (sp-flt spt-y (meters 12.5)) @@ -591,8 +569,7 @@ ) (defpart 1229 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-x (meters 3) (meters 5) 1.0) (sp-flt spt-y (meters 7)) @@ -615,8 +592,7 @@ ) (defpart 1230 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-rnd-flt spt-num 0.035 0.03 1.0) (sp-rnd-flt spt-x (meters 3.5) (meters 5) 1.0) (sp-flt spt-y (meters 12.5)) @@ -644,8 +620,7 @@ ) (defpart 1231 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.025) (sp-rnd-flt spt-x (meters 3) (meters 2) 1.0) (sp-flt spt-y (meters 8)) @@ -668,8 +643,7 @@ ) (defpart 1232 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-rnd-flt spt-num 0.035 0.03 1.0) (sp-rnd-flt spt-x (meters -7.5) (meters 5) 1.0) (sp-flt spt-y (meters 12.5)) @@ -697,8 +671,7 @@ ) (defpart 1233 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.025) (sp-rnd-flt spt-x (meters -6.5) (meters 3) 1.0) (sp-flt spt-y (meters 8)) @@ -721,8 +694,7 @@ ) (defpart 1234 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-flt spt-x (meters -6)) (sp-rnd-flt spt-y (meters 43) (meters 0.5) 1.0) @@ -749,8 +721,7 @@ ) (defpart 1235 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.03 1.0 1.0) (sp-flt spt-x (meters -6)) (sp-rnd-flt spt-y (meters 43) (meters 0.5) 1.0) @@ -777,8 +748,7 @@ ) (defpart 1236 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.3) (sp-flt spt-x (meters -6)) (sp-rnd-flt spt-y (meters 43) (meters 0.5) 1.0) @@ -805,8 +775,7 @@ ) (defpart 1237 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.7) (sp-flt spt-x (meters -6)) (sp-rnd-flt spt-y (meters 43) (meters 0.5) 1.0) @@ -833,8 +802,7 @@ ) (defpart 1238 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.1 1.0) (sp-flt spt-x (meters -6)) (sp-rnd-flt spt-y (meters 42.5) (meters 0.5) 1.0) @@ -863,8 +831,7 @@ ) (defpart 1239 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.06 1.0) (sp-flt spt-x (meters -6)) (sp-rnd-flt spt-y (meters 42.5) (meters 0.5) 1.0) @@ -892,8 +859,7 @@ ) (defpart 1240 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-flt spt-x (meters 0)) (sp-rnd-flt spt-y (meters 28) (meters 1.5) 1.0) @@ -922,8 +888,7 @@ ) (defpart 1241 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-rnd-flt spt-y (meters 28) (meters 1.5) 1.0) @@ -951,8 +916,7 @@ ) (defpart 1242 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.3 1.0) (sp-flt spt-x (meters 0)) (sp-rnd-flt spt-y (meters 28) (meters 1.5) 1.0) @@ -985,8 +949,7 @@ :id 278 :flags (always-draw) :bounds (static-bspherem 0 22 0 35) - :parts - ((sp-item 1243) + :parts ((sp-item 1243) (sp-item 1243 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 1243 :fade-after (meters 240) :falloff-to (meters 240)) (sp-item 1244 :fade-after (meters 80) :falloff-to (meters 80)) @@ -999,8 +962,7 @@ ) (defpart 1243 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-rnd-flt spt-x (meters -8) (meters 4) 1.0) (sp-flt spt-y (meters 49.5)) @@ -1028,8 +990,7 @@ ) (defpart 1244 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -8) (meters 4) 1.0) (sp-flt spt-y (meters 49.5)) @@ -1056,8 +1017,7 @@ ) (defpart 1245 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-rnd-flt spt-x (meters -7) (meters 3.5) 1.0) (sp-flt spt-y (meters 49.5)) @@ -1086,8 +1046,7 @@ ) (defpart 1246 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters 3) (meters 6) 1.0) (sp-flt spt-y (meters 6)) @@ -1115,8 +1074,7 @@ ) (defpart 1247 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-x (meters 5) (meters 10) 1.0) (sp-flt spt-y (meters 2.5)) @@ -1142,16 +1100,14 @@ :id 279 :flags (always-draw) :bounds (static-bspherem 0 22 0 35) - :parts - ((sp-item 2324)) + :parts ((sp-item 2324)) ) (defpartgroup group-village2-waterfall-32 :id 280 :flags (always-draw) :bounds (static-bspherem 0 22 0 35) - :parts - ((sp-item 1253) + :parts ((sp-item 1253) (sp-item 1253 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 1253 :fade-after (meters 240) :falloff-to (meters 240)) (sp-item 1254 :fade-after (meters 80) :falloff-to (meters 80)) @@ -1174,8 +1130,7 @@ ) (defpart 1253 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.266 0.333 1.0) (sp-rnd-flt spt-x (meters -12) (meters 1) 1.0) (sp-flt spt-y (meters 50.5)) @@ -1202,8 +1157,7 @@ ) (defpart 1264 - :init-specs - ((sp-rnd-flt spt-scale-y (meters 1) (meters 1) 1.0) + :init-specs ((sp-rnd-flt spt-scale-y (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.013333334) 1.0) (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.013333334) 1.0) (sp-rnd-flt spt-vel-z (meters 0.04) (meters 0.013333334) 1.0) @@ -1215,8 +1169,7 @@ ) (defpart 1254 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -12) (meters 1) 1.0) (sp-flt spt-y (meters 50.5)) @@ -1245,8 +1198,7 @@ ) (defpart 1265 - :init-specs - ((sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + :init-specs ((sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.013333334) 1.0) (sp-rnd-flt spt-vel-y (meters 0) (meters 0.013333334) 1.0) @@ -1256,8 +1208,7 @@ ) (defpart 1255 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.2 1.0) (sp-rnd-flt spt-x (meters -12) (meters 1) 1.0) (sp-flt spt-y (meters 50.5)) @@ -1285,8 +1236,7 @@ ) (defpart 1266 - :init-specs - ((sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.013333334) 1.0) + :init-specs ((sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.013333334) 1.0) (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.013333334) 1.0) (sp-rnd-flt spt-vel-z (meters 0.04) (meters 0.006666667) 1.0) (sp-flt spt-scalevel-x (meters 0.009765625)) @@ -1299,8 +1249,7 @@ ) (defpart 1256 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -3) (meters 12) 1.0) (sp-flt spt-y (meters 6)) @@ -1328,8 +1277,7 @@ ) (defpart 1257 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-x (meters -3) (meters 12) 1.0) (sp-flt spt-y (meters 2.5)) @@ -1352,8 +1300,7 @@ ) (defpart 1258 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.033 1.2 1.0) (sp-rnd-flt spt-x (meters -12) (meters 1) 1.0) (sp-flt spt-y (meters 50.5)) @@ -1380,8 +1327,7 @@ ) (defpart 1259 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -12) (meters 1) 1.0) (sp-flt spt-y (meters 50.5)) @@ -1408,8 +1354,7 @@ ) (defpart 1260 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.2 1.0) (sp-rnd-flt spt-x (meters -12) (meters 1) 1.0) (sp-flt spt-y (meters 50.5)) @@ -1437,8 +1382,7 @@ ) (defpart 1261 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.33 1.2 1.0) (sp-rnd-flt spt-x (meters -2) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 23.5) (meters 6) 1.0) @@ -1465,8 +1409,7 @@ ) (defpart 1262 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -2) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 25.5) (meters 4) 1.0) @@ -1493,8 +1436,7 @@ ) (defpart 1263 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters -2) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 22.5) (meters 7) 1.0) @@ -1525,8 +1467,7 @@ :id 281 :flags (always-draw) :bounds (static-bspherem 0 22 0 35) - :parts - ((sp-item 1267) + :parts ((sp-item 1267) (sp-item 1267 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1267 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 1268) @@ -1549,8 +1490,7 @@ ) (defpart 1267 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.4 1.0 1.0) (sp-flt spt-x (meters -7.5)) (sp-rnd-flt spt-y (meters 48) (meters 0.5) 1.0) @@ -1577,8 +1517,7 @@ ) (defpart 1268 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.03 1.0 1.0) (sp-flt spt-x (meters -7.5)) (sp-rnd-flt spt-y (meters 48) (meters 0.5) 1.0) @@ -1605,8 +1544,7 @@ ) (defpart 1269 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.3) (sp-flt spt-x (meters -7.5)) (sp-rnd-flt spt-y (meters 48) (meters 0.5) 1.0) @@ -1633,8 +1571,7 @@ ) (defpart 1270 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.7) (sp-flt spt-x (meters -7.5)) (sp-rnd-flt spt-y (meters 48) (meters 0.5) 1.0) @@ -1661,8 +1598,7 @@ ) (defpart 1271 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.1 1.0) (sp-flt spt-x (meters -7)) (sp-rnd-flt spt-y (meters 47.5) (meters 0.5) 1.0) @@ -1691,8 +1627,7 @@ ) (defpart 1272 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.06 1.0) (sp-flt spt-x (meters -7)) (sp-rnd-flt spt-y (meters 47.5) (meters 0.5) 1.0) @@ -1720,8 +1655,7 @@ ) (defpart 1273 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-flt spt-x (meters -1.5)) (sp-rnd-flt spt-y (meters 33) (meters 1.5) 1.0) @@ -1750,8 +1684,7 @@ ) (defpart 1274 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.5)) (sp-rnd-flt spt-y (meters 33) (meters 1.5) 1.0) @@ -1779,8 +1712,7 @@ ) (defpart 1275 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-flt spt-x (meters -1.5)) (sp-rnd-flt spt-y (meters 33) (meters 1.5) 1.0) @@ -1810,8 +1742,7 @@ ) (defpart 1276 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters 2.5) (meters 12) 1.0) (sp-flt spt-y (meters 7)) @@ -1839,8 +1770,7 @@ ) (defpart 1277 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-x (meters 3.5) (meters 10) 1.0) (sp-flt spt-y (meters 2.5)) @@ -1866,8 +1796,7 @@ :id 282 :flags (always-draw) :bounds (static-bspherem -15 17 -10 40) - :parts - ((sp-item 1278) + :parts ((sp-item 1278) (sp-item 1278 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1278 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 1279 :fade-after (meters 80) :falloff-to (meters 80)) @@ -1929,8 +1858,7 @@ ) (defpart 1278 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-rnd-flt spt-x (meters -15) (meters 4) 1.0) (sp-flt spt-y (meters 43.5)) @@ -1958,8 +1886,7 @@ ) (defpart 1281 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.15 0.075 1.0) (sp-rnd-flt spt-x (meters -18) (meters 4) 1.0) (sp-flt spt-y (meters 42.5)) @@ -1987,8 +1914,7 @@ ) (defpart 1284 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.15 0.075 1.0) (sp-rnd-flt spt-x (meters -20) (meters 4) 1.0) (sp-flt spt-y (meters 43.5)) @@ -2016,8 +1942,7 @@ ) (defpart 1279 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters -15) (meters 4) 1.0) (sp-flt spt-y (meters 43.5)) @@ -2044,8 +1969,7 @@ ) (defpart 1282 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.375) (sp-rnd-flt spt-x (meters -18) (meters 4) 1.0) (sp-flt spt-y (meters 43.5)) @@ -2072,8 +1996,7 @@ ) (defpart 1285 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.375) (sp-rnd-flt spt-x (meters -20) (meters 4) 1.0) (sp-flt spt-y (meters 43.5)) @@ -2100,8 +2023,7 @@ ) (defpart 1280 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.375 0.3 1.0) (sp-rnd-flt spt-x (meters -15) (meters 4) 1.0) (sp-flt spt-y (meters 43.5)) @@ -2130,8 +2052,7 @@ ) (defpart 1283 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.225 0.15 1.0) (sp-rnd-flt spt-x (meters -18) (meters 4) 1.0) (sp-flt spt-y (meters 43.5)) @@ -2160,8 +2081,7 @@ ) (defpart 1286 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.225 0.15 1.0) (sp-rnd-flt spt-x (meters -20) (meters 4) 1.0) (sp-flt spt-y (meters 43.5)) @@ -2190,8 +2110,7 @@ ) (defpart 1287 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.3 0.6 1.0) (sp-rnd-flt spt-x (meters 26) (meters 4) 1.0) (sp-flt spt-y (meters 4.5)) @@ -2219,8 +2138,7 @@ ) (defpart 1290 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.15 0.3 1.0) (sp-rnd-flt spt-x (meters 33) (meters 4) 1.0) (sp-flt spt-y (meters -1)) @@ -2248,8 +2166,7 @@ ) (defpart 1288 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters 26) (meters 4) 1.0) (sp-flt spt-y (meters 4.5)) @@ -2276,8 +2193,7 @@ ) (defpart 1291 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters 33) (meters 4) 1.0) (sp-flt spt-y (meters -1)) @@ -2304,8 +2220,7 @@ ) (defpart 1289 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.375 0.3 1.0) (sp-rnd-flt spt-x (meters 26) (meters 4) 1.0) (sp-flt spt-y (meters 4.5)) @@ -2334,8 +2249,7 @@ ) (defpart 1292 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.375 0.3 1.0) (sp-rnd-flt spt-x (meters 33) (meters 4) 1.0) (sp-flt spt-y (meters -1)) @@ -2364,8 +2278,7 @@ ) (defpart 1293 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.3 0.6 1.0) (sp-rnd-flt spt-x (meters 24) (meters 4) 1.0) (sp-flt spt-y (meters 4.5)) @@ -2393,8 +2306,7 @@ ) (defpart 1294 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters 24) (meters 4) 1.0) (sp-flt spt-y (meters 4.5)) @@ -2421,8 +2333,7 @@ ) (defpart 1295 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.375 0.3 1.0) (sp-rnd-flt spt-x (meters 24) (meters 4) 1.0) (sp-flt spt-y (meters 4.5)) @@ -2451,8 +2362,7 @@ ) (defpart 1296 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.45 0.75 1.0) (sp-rnd-flt spt-x (meters 38) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 1.5) 1.0) @@ -2480,8 +2390,7 @@ ) (defpart 1297 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters 38) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 1.5) 1.0) @@ -2508,8 +2417,7 @@ ) (defpart 1300 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.325) (sp-rnd-flt spt-x (meters 45) (meters 4) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0) @@ -2536,8 +2444,7 @@ ) (defpart 1298 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.375 0.3 1.0) (sp-rnd-flt spt-x (meters 38) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 1.5) 1.0) @@ -2566,8 +2473,7 @@ ) (defpart 1301 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.15 0.225 1.0) (sp-rnd-flt spt-x (meters 45) (meters 4) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0) @@ -2594,8 +2500,7 @@ ) (defpart 1302 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.15 0.45 1.0) (sp-flt spt-x (meters -30)) (sp-rnd-flt spt-y (meters 3.5) (meters 2) 1.0) @@ -2623,8 +2528,7 @@ ) (defpart 1303 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.15 0.4 1.0) (sp-flt spt-x (meters -24)) (sp-rnd-flt spt-y (meters 3.5) (meters 2) 1.0) @@ -2652,8 +2556,7 @@ ) (defpart 1304 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.15 0.4 1.0) (sp-flt spt-x (meters -26)) (sp-rnd-flt spt-y (meters 3.5) (meters 2) 1.0) @@ -2681,8 +2584,7 @@ ) (defpart 1305 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-rnd-flt spt-num 0.0375 0.0375 1.0) (sp-rnd-flt spt-x (meters -9) (meters 4) 1.0) (sp-flt spt-y (meters -2)) @@ -2710,8 +2612,7 @@ ) (defpart 1307 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-rnd-flt spt-num 0.075 0.015 1.0) (sp-rnd-flt spt-x (meters -45) (meters 12) 1.0) (sp-flt spt-y (meters -2)) @@ -2739,8 +2640,7 @@ ) (defpart 1309 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-rnd-flt spt-num 0.075 0.015 1.0) (sp-rnd-flt spt-x (meters -49) (meters 6) 1.0) (sp-flt spt-y (meters -2)) @@ -2768,8 +2668,7 @@ ) (defpart 1306 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.00625) (sp-rnd-flt spt-x (meters -9) (meters 4) 1.0) (sp-flt spt-y (meters -6)) @@ -2792,8 +2691,7 @@ ) (defpart 1308 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.0375) (sp-rnd-flt spt-x (meters -44) (meters 10) 1.0) (sp-flt spt-y (meters -6)) @@ -2816,8 +2714,7 @@ ) (defpart 1310 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.00625) (sp-rnd-flt spt-x (meters -45) (meters 4) 1.0) (sp-flt spt-y (meters -6)) @@ -2842,8 +2739,7 @@ (defpartgroup group-village2-sagehut-warpgate :id 283 :bounds (static-bspherem 7 4 -4.5 12) - :parts - ((sp-item 1313 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1313 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1314 :fade-after (meters 60) :falloff-to (meters 100) :binding 1311) (sp-item 1311 :flags (bit1 start-dead launch-asap)) (sp-item 1311 :flags (bit1 start-dead launch-asap)) @@ -3022,8 +2918,7 @@ ) (defpart 1315 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-x (meters -2)) (sp-flt spt-scale-x (meters 0.25)) @@ -3038,8 +2933,7 @@ ) (defpart 1312 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 1.0 0.2 1.0) (sp-flt spt-x (meters 4.4444447)) (sp-flt spt-y (meters 4)) @@ -3062,8 +2956,7 @@ ) (defpart 1313 - :init-specs - ((sp-rnd-flt spt-num 3.0 3.0 1.0) + :init-specs ((sp-rnd-flt spt-num 3.0 3.0 1.0) (sp-flt spt-x (meters -0.5)) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) @@ -3080,8 +2973,7 @@ ) (defpart 1314 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-flt spt-scale-x (meters 0.25)) (sp-copy-from-other spt-scale-y -4) @@ -3094,8 +2986,7 @@ ) (defpart 1311 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.4 1.0) (sp-flt spt-x (meters 4.4444447)) (sp-flt spt-y (meters 4)) @@ -3121,8 +3012,7 @@ (defpartgroup group-village2-tree-fire :id 284 :bounds (static-bspherem 0 10 0 12) - :parts - ((sp-item 1316 :fade-after (meters 120) :falloff-to (meters 120)) + :parts ((sp-item 1316 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1317 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1318 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1319 :fade-after (meters 120) :falloff-to (meters 120)) @@ -3130,8 +3020,7 @@ ) (defpart 1316 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-x (meters 2.2) (meters 0.5) 1.0) (sp-flt spt-y (meters -0.9)) @@ -3161,13 +3050,11 @@ ) (defpart 1320 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) (defpart 1317 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-x (meters -0.6) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.2) (meters 0.5) 1.0) @@ -3196,8 +3083,7 @@ ) (defpart 1318 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.2 1.0) (sp-rnd-flt spt-x (meters -0.6) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.2) (meters 0.5) 1.0) @@ -3228,8 +3114,7 @@ ) (defpart 1319 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.2 1.0) (sp-rnd-flt spt-x (meters -0.6) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.2) (meters 0.5) 1.0) diff --git a/goal_src/levels/village2/warrior.gc b/goal_src/levels/village2/warrior.gc index 9670bc1fb1..bbe699f7a0 100644 --- a/goal_src/levels/village2/warrior.gc +++ b/goal_src/levels/village2/warrior.gc @@ -6,6 +6,7 @@ ;; dgos: L1, VI2 ;; DECOMP BEGINS + (import "goal_src/import/warrior-ag.gc") (deftype warrior (process-taskable) @@ -74,8 +75,7 @@ :name "warrior-introduction" :index 6 :parts 29 - :command-list - '((125 joint "cameraB") + :command-list '((125 joint "cameraB") (260 joint "camera") (574 joint "cameraB") (918 joint "camera") @@ -128,8 +128,7 @@ :name "warrior-resolution" :index 8 :parts 6 - :command-list - '((508 blackout 10) (511 blackout 0)) + :command-list '((508 blackout 10) (511 blackout 0)) ) ) (else @@ -153,8 +152,7 @@ (defstate play-anim (warrior) :virtual #t - :exit - (behavior () + :exit (behavior () (send-event (-> (entity-by-type allpontoons) extra process) 'end-mode) ((-> (method-of-type process-taskable play-anim) exit)) (none) @@ -163,10 +161,7 @@ (defmethod TODO-RENAME-43 warrior ((obj warrior)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 2) 61440.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.66 f0-2) (play-ambient (-> obj ambient) "WAR-LO1A" #f (-> obj root-override trans)) diff --git a/goal_src/levels/village3/assistant-village3.gc b/goal_src/levels/village3/assistant-village3.gc index dd480eafec..3cecc740d2 100644 --- a/goal_src/levels/village3/assistant-village3.gc +++ b/goal_src/levels/village3/assistant-village3.gc @@ -6,6 +6,7 @@ ;; dgos: L1, VI3 ;; DECOMP BEGINS + (import "goal_src/import/assistant-village3-ag.gc") (deftype assistant-villagec (process-taskable) @@ -96,10 +97,7 @@ (defmethod TODO-RENAME-43 assistant-villagec ((obj assistant-villagec)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.85714287 f0-2) (play-ambient (-> obj ambient) "ASSTLP31" #f (-> obj root-override trans)) @@ -141,8 +139,7 @@ (defstate idle (assistant-villagec) :virtual #t - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) ) @@ -154,14 +151,12 @@ (ja :num! (seek!)) ) (let ((gp-0 (-> *display* base-frame-counter))) - (while (let* ((s5-0 (-> *display* base-frame-counter)) - (f30-0 300.0) - (f28-0 0.16) - (f26-0 0.17000002) - (v1-31 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-32 (the-as number (logior #x3f800000 v1-31))) - ) - (< (- s5-0 (the-as time-frame (the int (* f30-0 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-32)))))))) gp-0) + (while (let ((s5-0 (-> *display* base-frame-counter)) + (f30-0 300.0) + (f28-0 0.16) + (f26-0 0.17000002) + ) + (< (- s5-0 (the-as time-frame (the int (* f30-0 (+ f28-0 (* f26-0 (rand-float-gen))))))) gp-0) ) (suspend) ) @@ -172,14 +167,12 @@ (ja :num! (seek! (ja-aframe 0.0 0))) ) (let ((gp-3 (-> *display* base-frame-counter))) - (while (let* ((s5-1 (-> *display* base-frame-counter)) - (f30-1 300.0) - (f28-1 0.16) - (f26-1 0.17000002) - (v1-56 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-57 (the-as number (logior #x3f800000 v1-56))) - ) - (< (- s5-1 (the-as time-frame (the int (* f30-1 (+ f28-1 (* f26-1 (+ -1.0 (the-as float v1-57)))))))) gp-3) + (while (let ((s5-1 (-> *display* base-frame-counter)) + (f30-1 300.0) + (f28-1 0.16) + (f26-1 0.17000002) + ) + (< (- s5-1 (the-as time-frame (the int (* f30-1 (+ f28-1 (* f26-1 (rand-float-gen))))))) gp-3) ) (suspend) ) diff --git a/goal_src/levels/village3/minecart.gc b/goal_src/levels/village3/minecart.gc index fd31a1148b..c31bd2781f 100644 --- a/goal_src/levels/village3/minecart.gc +++ b/goal_src/levels/village3/minecart.gc @@ -6,6 +6,7 @@ ;; dgos: L1, VI3 ;; DECOMP BEGINS + (import "goal_src/import/minecartsteel-ag.gc") (defskelgroup *minecartsteel-sg* minecartsteel minecartsteel-lod0-jg minecartsteel-idle-ja @@ -34,14 +35,13 @@ (defstate idle (minecartsteel) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (or (= v1-0 'touch) (= v1-0 'attack)) (when (= (-> arg0 type) target) (let ((a2-1 (new 'stack 'collide-overlap-result))) (if (not (on-platform (-> self root-override) (-> *target* control) a2-1)) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) ) ) ) @@ -50,16 +50,13 @@ ) ) ) - :trans - (the-as (function none :behavior minecartsteel) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior minecartsteel) rider-trans) + :code (behavior () (ja-channel-set! 1) (ja :group! (-> self anim)) (loop (ja :num-func num-func-identity - :frame-num - (* (get-current-phase (-> self sync)) (the float (+ (-> (ja-group) data 0 length) -1))) + :frame-num (* (get-current-phase (-> self sync)) (the float (+ (-> (ja-group) data 0 length) -1))) ) (let ((a1-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)))) (update-trans! (-> self sound) a1-1) @@ -69,8 +66,7 @@ ) (none) ) - :post - (the-as (function none :behavior minecartsteel) rider-post) + :post (the-as (function none :behavior minecartsteel) rider-post) ) (defbehavior minecartsteel-initialize-by-other minecartsteel ((arg0 entity-actor) (arg1 float)) @@ -142,14 +138,12 @@ (defmethod init-from-entity! minecartsteel ((obj minecartsteel) (arg0 entity-actor)) (dotimes (s4-0 4) - (let ((s3-0 (get-process *default-dead-pool* minecartsteel #x4000))) - (when s3-0 - (let ((t9-1 (method-of-type minecartsteel activate))) - (t9-1 (the-as minecartsteel s3-0) obj 'minecartsteel (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 minecartsteel-initialize-by-other arg0 (* 0.2 (the float (+ s4-0 1)))) - (-> s3-0 ppointer) - ) + (process-spawn + minecartsteel + :init minecartsteel-initialize-by-other + arg0 + (* 0.2 (the float (+ s4-0 1))) + :to obj ) ) (minecartsteel-initialize-by-other arg0 0.0) diff --git a/goal_src/levels/village3/miners.gc b/goal_src/levels/village3/miners.gc index a902f823fe..c67725f760 100644 --- a/goal_src/levels/village3/miners.gc +++ b/goal_src/levels/village3/miners.gc @@ -8,9 +8,10 @@ (declare-type minershort process-taskable) ;; DECOMP BEGINS + (import "goal_src/import/minershort-ag.gc") -(import "goal_src/import/minertall-ag.gc") (import "goal_src/import/cavegem-ag.gc") +(import "goal_src/import/minertall-ag.gc") (defbehavior miners-anim-loop minershort () (when (!= (ja-group) (get-art-elem self)) @@ -105,14 +106,12 @@ (defstate idle (minertall) :virtual #t - :trans - (behavior () + :trans (behavior () (set! (-> self will-talk) #f) ((-> (method-of-type process-taskable idle) trans)) (none) ) - :code - (the-as (function none :behavior minertall) miners-anim-loop) + :code (the-as (function none :behavior minertall) miners-anim-loop) ) (defmethod init-from-entity! minertall ((obj minertall) (arg0 entity-actor)) @@ -142,16 +141,14 @@ (defpartgroup group-minershort-candle :id 566 :bounds (static-bspherem 0 0 0 15) - :parts - ((sp-item 2364 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 2364 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 2365 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 2366 :fade-after (meters 60) :falloff-to (meters 60)) ) ) (defpart 2366 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.075) 1.0) @@ -179,8 +176,7 @@ ) (defpart 2364 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-y (meters -0.08) (meters 0.02) 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) @@ -201,8 +197,7 @@ ) (defpart 2365 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -0.02)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.75) 1.0) @@ -272,220 +267,200 @@ ) (defmethod play-anim! minershort ((obj minershort) (arg0 symbol)) - (with-pp - (set! (-> obj talk-message) (game-text-id press-to-talk)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) - (if (not arg0) - (set! (-> obj will-talk) #t) - ) - (case (current-task (-> obj tasks)) - (((game-task village3-miner-money1)) - (when arg0 - (let* ((s5-1 (-> obj tasks)) - (s4-0 (method-of-object s5-1 save-reminder)) - (a1-3 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (s4-0 s5-1 (the int (the-as float (send-event-function *target* a1-3))) 1) - ) - (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) - (close-specific-task! (game-task village3-miner-money1) (task-status need-introduction)) - (close-specific-task! (game-task village3-miner-money2) (task-status need-introduction)) - (close-specific-task! (game-task village3-miner-money3) (task-status need-introduction)) - (close-specific-task! (game-task village3-miner-money4) (task-status need-introduction)) + (set! (-> obj talk-message) (game-text-id press-to-talk)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) + (if (not arg0) + (set! (-> obj will-talk) #t) + ) + (case (current-task (-> obj tasks)) + (((game-task village3-miner-money1)) + (when arg0 + (let* ((s5-1 (-> obj tasks)) + (s4-0 (method-of-object s5-1 save-reminder)) + ) + (s4-0 s5-1 (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 1) ) - (new 'static 'spool-anim - :name "minershort-introduction-orbs" - :index 4 - :parts 16 - :command-list - '((171 joint "cameraB") - (206 joint "camera") - (423 joint "cameraB") - (591 joint "camera") - (692 joint "cameraB") - (918 joint "camera") - (1122 joint "cameraB") - (1122 shadow self #f) - (1241 joint "camera") - (1241 shadow self #t) - ) + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + (close-specific-task! (game-task village3-miner-money1) (task-status need-introduction)) + (close-specific-task! (game-task village3-miner-money2) (task-status need-introduction)) + (close-specific-task! (game-task village3-miner-money3) (task-status need-introduction)) + (close-specific-task! (game-task village3-miner-money4) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "minershort-introduction-orbs" + :index 4 + :parts 16 + :command-list '((171 joint "cameraB") + (206 joint "camera") + (423 joint "cameraB") + (591 joint "camera") + (692 joint "cameraB") + (918 joint "camera") + (1122 joint "cameraB") + (1122 shadow self #f) + (1241 joint "camera") + (1241 shadow self #t) ) ) - (((game-task cave-gnawers)) - (when arg0 - (let* ((s5-2 (-> obj tasks)) - (s4-1 (method-of-object s5-2 save-reminder)) - (a1-10 (new 'stack-no-clear 'event-message-block)) + ) + (((game-task cave-gnawers)) + (when arg0 + (let* ((s5-2 (-> obj tasks)) + (s4-1 (method-of-object s5-2 save-reminder)) + ) + (s4-1 s5-2 (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 1) + ) + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "minershort-introduction-gnawers" + :index 9 + :parts 8 + :command-list '((0 want-levels village3 maincave) + (149 joint "cameraB") + (158 display-level maincave movie) + (158 want-force-vis maincave #t) + (435 display-level maincave #f) + (435 joint "camera") + (680 joint "cameraB") + (719 joint "camera") + ) + ) + ) + (else + (when arg0 + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "minershort-introduction-switch" + :index 11 + :parts 7 + :command-list '((2 shadow "minertall-1" #f) (835 shadow "minertall-1" #t)) + ) + ) + ) + ) + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (let ((s4-2 (+ (get-reminder (-> obj tasks) 0) 1))) + (if (< (the-as uint 3) (the-as uint s4-2)) + (set! s4-2 0) + ) + (countdown (s3-0 4) + (let ((v1-59 s4-2)) + (cond + ((zero? v1-59) + (if (not (or (= (get-task-status (game-task village3-miner-money1)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money2)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money3)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money4)) (task-status need-reminder)) + ) + ) + (set! s4-2 1) + ) + ) + ((= v1-59 1) + (if (!= (get-task-status (game-task cave-gnawers)) (task-status need-reminder)) + (set! s4-2 2) + ) + ) + ((= v1-59 2) + (if (not (or (= (get-task-status (game-task village3-miner-money1)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money2)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money3)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money4)) (task-status need-reminder)) + ) + ) + (set! s4-2 3) + ) + ) + (else + (if (!= (get-task-status (game-task snow-eggtop)) (task-status need-reminder)) + (set! s4-2 0) ) - (set! (-> a1-10 from) pp) - (set! (-> a1-10 num-params) 2) - (set! (-> a1-10 message) 'query) - (set! (-> a1-10 param 0) (the-as uint 'pickup)) - (set! (-> a1-10 param 1) (the-as uint 6)) - (s4-1 s5-2 (the int (the-as float (send-event-function *target* a1-10))) 1) + ) + ) + ) + ) + (if arg0 + (save-reminder (-> obj tasks) s4-2 0) + ) + (cond + ((zero? s4-2) + (new 'static 'spool-anim :name "minershort-reminder-1-orbs" :index 5 :parts 3 :command-list '()) + ) + ((= s4-2 1) + (if arg0 + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) ) - (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "minershort-introduction-gnawers" - :index 9 - :parts 8 - :command-list - '((0 want-levels village3 maincave) - (149 joint "cameraB") - (158 display-level maincave movie) - (158 want-force-vis maincave #t) - (435 display-level maincave #f) - (435 joint "camera") - (680 joint "cameraB") - (719 joint "camera") + (new 'static 'spool-anim :name "minershort-reminder-1-gnawers" :index 10 :parts 3 :command-list '()) + ) + ((= s4-2 2) + (if arg0 + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) ) - ) + (new 'static 'spool-anim :name "minershort-reminder-2-orbs" :index 6 :parts 2 :command-list '()) ) (else - (when arg0 - (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) - (close-status! (-> obj tasks) (task-status need-introduction)) - ) + (if arg0 + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + ) (new 'static 'spool-anim - :name "minershort-introduction-switch" - :index 11 - :parts 7 - :command-list - '((2 shadow "minertall-1" #f) (835 shadow "minertall-1" #t)) + :name "minershort-reminder-1-switch" + :index 12 + :parts 5 + :command-list '((2 shadow "minertall-1" #f) (500 shadow "minertall-1" #t)) ) ) ) ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (let ((s4-2 (+ (get-reminder (-> obj tasks) 0) 1))) - (if (< (the-as uint 3) (the-as uint s4-2)) - (set! s4-2 0) - ) - (countdown (s3-0 4) - (let ((v1-59 s4-2)) - (cond - ((zero? v1-59) - (if (not (or (= (get-task-status (game-task village3-miner-money1)) (task-status need-reminder)) - (= (get-task-status (game-task village3-miner-money2)) (task-status need-reminder)) - (= (get-task-status (game-task village3-miner-money3)) (task-status need-reminder)) - (= (get-task-status (game-task village3-miner-money4)) (task-status need-reminder)) - ) - ) - (set! s4-2 1) - ) - ) - ((= v1-59 1) - (if (!= (get-task-status (game-task cave-gnawers)) (task-status need-reminder)) - (set! s4-2 2) - ) - ) - ((= v1-59 2) - (if (not (or (= (get-task-status (game-task village3-miner-money1)) (task-status need-reminder)) - (= (get-task-status (game-task village3-miner-money2)) (task-status need-reminder)) - (= (get-task-status (game-task village3-miner-money3)) (task-status need-reminder)) - (= (get-task-status (game-task village3-miner-money4)) (task-status need-reminder)) - ) - ) - (set! s4-2 3) - ) - ) - (else - (if (!= (get-task-status (game-task snow-eggtop)) (task-status need-reminder)) - (set! s4-2 0) - ) - ) - ) - ) + ) + (((task-status need-reward-speech)) + (let ((s4-3 (get-reminder (-> obj tasks) 2))) + (cond + (arg0 + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + (set! (-> obj cell-for-task) (current-task (-> obj tasks))) + (close-current! (-> obj tasks)) + (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc))) + (save-reminder (-> obj tasks) (+ s4-3 1) 2) ) - (if arg0 - (save-reminder (-> obj tasks) s4-2 0) - ) - (cond - ((zero? s4-2) - (new 'static 'spool-anim :name "minershort-reminder-1-orbs" :index 5 :parts 3 :command-list '()) - ) - ((= s4-2 1) - (if arg0 - (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) - ) - (new 'static 'spool-anim :name "minershort-reminder-1-gnawers" :index 10 :parts 3 :command-list '()) - ) - ((= s4-2 2) - (if arg0 - (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) - ) - (new 'static 'spool-anim :name "minershort-reminder-2-orbs" :index 6 :parts 2 :command-list '()) - ) - (else - (if arg0 - (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) - ) - (new 'static 'spool-anim - :name "minershort-reminder-1-switch" - :index 12 - :parts 5 - :command-list - '((2 shadow "minertall-1" #f) (500 shadow "minertall-1" #t)) - ) - ) + (else + (set! (-> obj will-talk) #t) + (set! (-> obj talk-message) (game-text-id press-to-trade-money)) ) ) - ) - (((task-status need-reward-speech)) - (let ((s4-3 (get-reminder (-> obj tasks) 2))) - (cond - (arg0 - (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) - (set! (-> obj cell-for-task) (current-task (-> obj tasks))) - (close-current! (-> obj tasks)) - (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc))) - (save-reminder (-> obj tasks) (+ s4-3 1) 2) - ) - (else - (set! (-> obj will-talk) #t) - (set! (-> obj talk-message) (game-text-id press-to-trade-money)) + (if (< (the-as uint s4-3) (the-as uint 3)) + (new 'static 'spool-anim :name "minershort-resolution-1-orbs" :index 7 :parts 2 :command-list '()) + (new 'static 'spool-anim + :name "minershort-resolution-2-orbs" + :index 8 + :parts 6 + :command-list '((154 joint "cameraB") (461 joint "camera")) ) ) - (if (< (the-as uint s4-3) (the-as uint 3)) - (new 'static 'spool-anim :name "minershort-resolution-1-orbs" :index 7 :parts 2 :command-list '()) - (new 'static 'spool-anim - :name "minershort-resolution-2-orbs" - :index 8 - :parts 6 - :command-list - '((154 joint "cameraB") (461 joint "camera")) - ) - ) - ) ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) ) - (-> obj draw art-group data 3) - ) + ) + (-> obj draw art-group data 3) ) ) ) (defstate play-anim (minershort) :virtual #t - :exit - (behavior () + :exit (behavior () (send-event (-> self other-miner ppointer 3) 'end-mode) ((-> (method-of-type process-taskable play-anim) exit)) (none) @@ -498,10 +473,7 @@ (defmethod TODO-RENAME-43 minershort ((obj minershort)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.9655172 f0-2) (play-ambient (-> obj ambient) "MIN-LO01" #f (-> obj root-override trans)) @@ -597,8 +569,7 @@ (defstate idle (minershort) :virtual #t - :code - miners-anim-loop + :code miners-anim-loop ) (defmethod init-from-entity! minershort ((obj minershort) (arg0 entity-actor)) @@ -632,8 +603,7 @@ (defstate idle (cavegem) :virtual #t - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -643,8 +613,7 @@ ) (none) ) - :post - (the-as (function none :behavior cavegem) ja-post) + :post (the-as (function none :behavior cavegem) ja-post) ) (defmethod init-from-entity! cavegem ((obj cavegem) (arg0 entity-actor)) diff --git a/goal_src/levels/village3/sage-village3.gc b/goal_src/levels/village3/sage-village3.gc index 431415055c..9369b45e4c 100644 --- a/goal_src/levels/village3/sage-village3.gc +++ b/goal_src/levels/village3/sage-village3.gc @@ -6,9 +6,10 @@ ;; dgos: L1, VI3 ;; DECOMP BEGINS + (import "goal_src/import/evilsis-village3-ag.gc") -(import "goal_src/import/evilbro-village3-ag.gc") (import "goal_src/import/sage-village3-ag.gc") +(import "goal_src/import/evilbro-village3-ag.gc") (deftype sage-villagec (process-taskable) ((evilbro handle :offset-assert 384) @@ -41,170 +42,143 @@ ) (defmethod play-anim! sage-villagec ((obj sage-villagec) (arg0 symbol)) - (with-pp - (set! (-> obj talk-message) (game-text-id press-to-talk-to-sage)) - (case (current-status (-> obj tasks)) - (((task-status unknown) (task-status need-hint) (task-status need-introduction)) - (if (not arg0) - (set! (-> obj will-talk) #t) - ) - (case (current-task (-> obj tasks)) - (((game-task village3-button)) - (when arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - (send-event (-> obj assistant extra process) 'clone (process->handle obj)) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj evilbro) - (ppointer->handle - (when s5-1 - (let ((t9-5 (method-of-type manipy activate))) - (t9-5 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *evilbro-village3-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) - (send-event (handle->process (-> obj evilbro)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj evilbro)) 'blend-shape #t) - (send-event (handle->process (-> obj evilbro)) 'center-joint 3) - (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj evilsis) - (ppointer->handle - (when s5-2 - (let ((t9-11 (method-of-type manipy activate))) - (t9-11 (the-as manipy s5-2) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 manipy-init (-> obj root-override trans) (-> obj entity) *evilsis-village3-sg* #f) - (-> s5-2 ppointer) - ) - ) - ) - ) - (send-event (handle->process (-> obj evilsis)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj evilsis)) 'blend-shape #t) - (send-event (handle->process (-> obj evilsis)) 'center-joint 3) - (set! (-> obj draw bounds w) 40960.0) - ) - (new 'static 'spool-anim - :name "sage-village3-introduction" - :index 8 - :parts 58 - :command-list - '((206 joint "cameraB") - (268 joint "camera") - (321 joint "cameraB") - (415 joint "camera") - (502 joint "cameraB") - (655 joint "camera") - (864 joint "cameraB") - (958 joint "camera") - (1178 joint "cameraB") - (1295 joint "camera") - (1377 joint "cameraB") - (1683 joint "camera") - (2066 joint "cameraB") - (2209 joint "camera") - (2389 joint "cameraB") - (2707 joint "camera") - (2769 joint "cameraB") - (2901 joint "camera") - (3021 joint "cameraB") - (3158 joint "camera") - (3301 joint "cameraB") - (3533 joint "camera") - (3632 joint "cameraB") - (3692 joint "camera") - (3780 joint "cameraB") - (3818 joint "camera") - (4188 joint "cameraB") - (4324 joint "camera") - (4462 joint "cameraB") - (4542 joint "camera") - ) - ) - ) - (((game-task cave-dark-crystals)) - (when arg0 - (let* ((s5-3 (-> obj tasks)) - (s4-0 (method-of-object s5-3 save-reminder)) - (a1-18 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-18 from) pp) - (set! (-> a1-18 num-params) 2) - (set! (-> a1-18 message) 'query) - (set! (-> a1-18 param 0) (the-as uint 'pickup)) - (set! (-> a1-18 param 1) (the-as uint 6)) - (s4-0 s5-3 (the int (the-as float (send-event-function *target* a1-18))) 1) - ) - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "sage-village3-introduction-dark-eco" - :index 4 - :parts 9 - :command-list - '((111 joint "cameraB") (189 joint "camera") (455 joint "cameraB") (638 joint "camera") (753 joint "cameraB")) - ) - ) - (else - (if arg0 - (close-specific-task! (game-task snow-ram) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "sage-village3-introduction-rams" - :index 6 - :parts 6 - :command-list - '((155 joint "cameraB") (370 joint "camera")) - ) - ) + (set! (-> obj talk-message) (game-text-id press-to-talk-to-sage)) + (case (current-status (-> obj tasks)) + (((task-status unknown) (task-status need-hint) (task-status need-introduction)) + (if (not arg0) + (set! (-> obj will-talk) #t) ) - ) - (((task-status need-reminder-a) (task-status need-reminder)) - (set! (-> obj skippable) #t) - (let ((s4-1 (+ (get-reminder (-> obj tasks) 0) 1))) - (if (< (the-as uint 1) (the-as uint s4-1)) - (set! s4-1 0) - ) - (countdown (s3-0 2) - (cond - ((zero? s4-1) - (if (!= (get-task-status (game-task cave-dark-crystals)) (task-status need-reminder)) - (set! s4-1 1) + (case (current-task (-> obj tasks)) + (((game-task village3-button)) + (when arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + (send-event (-> obj assistant extra process) 'clone (process->handle obj)) + (set! (-> obj evilbro) + (ppointer->handle + (manipy-spawn (-> obj root-override trans) (-> obj entity) *evilbro-village3-sg* #f :to obj) ) - ) - (else - (if (not (or (= (get-task-status (game-task snow-ram)) (task-status need-reminder)) - (= (get-task-status (game-task snow-ram)) (task-status need-reminder-a)) - ) - ) - (set! s4-1 0) - ) - ) - ) - ) + ) + (send-event (handle->process (-> obj evilbro)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj evilbro)) 'blend-shape #t) + (send-event (handle->process (-> obj evilbro)) 'center-joint 3) + (set! (-> obj evilsis) + (ppointer->handle + (manipy-spawn (-> obj root-override trans) (-> obj entity) *evilsis-village3-sg* #f :to obj) + ) + ) + (send-event (handle->process (-> obj evilsis)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj evilsis)) 'blend-shape #t) + (send-event (handle->process (-> obj evilsis)) 'center-joint 3) + (set! (-> obj draw bounds w) 40960.0) + ) + (new 'static 'spool-anim + :name "sage-village3-introduction" + :index 8 + :parts 58 + :command-list '((206 joint "cameraB") + (268 joint "camera") + (321 joint "cameraB") + (415 joint "camera") + (502 joint "cameraB") + (655 joint "camera") + (864 joint "cameraB") + (958 joint "camera") + (1178 joint "cameraB") + (1295 joint "camera") + (1377 joint "cameraB") + (1683 joint "camera") + (2066 joint "cameraB") + (2209 joint "camera") + (2389 joint "cameraB") + (2707 joint "camera") + (2769 joint "cameraB") + (2901 joint "camera") + (3021 joint "cameraB") + (3158 joint "camera") + (3301 joint "cameraB") + (3533 joint "camera") + (3632 joint "cameraB") + (3692 joint "camera") + (3780 joint "cameraB") + (3818 joint "camera") + (4188 joint "cameraB") + (4324 joint "camera") + (4462 joint "cameraB") + (4542 joint "camera") + ) + ) + ) + (((game-task cave-dark-crystals)) + (when arg0 + (let* ((s5-3 (-> obj tasks)) + (s4-0 (method-of-object s5-3 save-reminder)) + ) + (s4-0 s5-3 (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 1) + ) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "sage-village3-introduction-dark-eco" + :index 4 + :parts 9 + :command-list '((111 joint "cameraB") (189 joint "camera") (455 joint "cameraB") (638 joint "camera") (753 joint "cameraB")) + ) + ) + (else (if arg0 - (save-reminder (-> obj tasks) s4-1 0) - ) - (if (zero? s4-1) - (new 'static 'spool-anim :name "sage-village3-reminder-1-dark-eco" :index 5 :parts 2 :command-list '()) - (new 'static 'spool-anim :name "sage-village3-reminder-1-rams" :index 7 :parts 3 :command-list '()) + (close-specific-task! (game-task snow-ram) (task-status need-introduction)) ) + (new 'static 'spool-anim + :name "sage-village3-introduction-rams" + :index 6 + :parts 6 + :command-list '((155 joint "cameraB") (370 joint "camera")) + ) ) ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) + ) + (((task-status need-reminder-a) (task-status need-reminder)) + (set! (-> obj skippable) #t) + (let ((s4-1 (+ (get-reminder (-> obj tasks) 0) 1))) + (if (< (the-as uint 1) (the-as uint s4-1)) + (set! s4-1 0) + ) + (countdown (s3-0 2) + (cond + ((zero? s4-1) + (if (!= (get-task-status (game-task cave-dark-crystals)) (task-status need-reminder)) + (set! s4-1 1) + ) ) - (get-art-elem obj) - ) + (else + (if (not (or (= (get-task-status (game-task snow-ram)) (task-status need-reminder)) + (= (get-task-status (game-task snow-ram)) (task-status need-reminder-a)) + ) + ) + (set! s4-1 0) + ) + ) + ) + ) + (if arg0 + (save-reminder (-> obj tasks) s4-1 0) + ) + (if (zero? s4-1) + (new 'static 'spool-anim :name "sage-village3-reminder-1-dark-eco" :index 5 :parts 2 :command-list '()) + (new 'static 'spool-anim :name "sage-village3-reminder-1-rams" :index 7 :parts 3 :command-list '()) + ) + ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (get-art-elem obj) ) ) ) @@ -219,10 +193,7 @@ (defmethod TODO-RENAME-43 sage-villagec ((obj sage-villagec)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.875 f0-2) (play-ambient (-> obj ambient) "SAGELP31" #f (-> obj root-override trans)) @@ -261,8 +232,7 @@ (defstate idle (sage-villagec) :virtual #t - :trans - (behavior () + :trans (behavior () (case (get-task-status (game-task village3-button)) (((task-status need-introduction)) (send-event self 'play-anim) @@ -275,8 +245,7 @@ (defstate play-anim (sage-villagec) :virtual #t - :exit - (behavior () + :exit (behavior () (set! (-> self draw bounds w) 10240.0) (send-event (-> self assistant extra process) 'end-mode) (let ((a0-2 (handle->process (-> self evilbro)))) diff --git a/goal_src/levels/village3/village3-obs.gc b/goal_src/levels/village3/village3-obs.gc index ec7a87c17b..0dff7b83bd 100644 --- a/goal_src/levels/village3/village3-obs.gc +++ b/goal_src/levels/village3/village3-obs.gc @@ -6,13 +6,14 @@ ;; dgos: L1, VI3 ;; DECOMP BEGINS -(import "goal_src/import/gondola-ag.gc") -(import "goal_src/import/gondolacables-ag.gc") -(import "goal_src/import/medres-ogre2-ag.gc") + (import "goal_src/import/medres-ogre-ag.gc") -(import "goal_src/import/pistons-ag.gc") (import "goal_src/import/medres-finalboss-ag.gc") +(import "goal_src/import/pistons-ag.gc") +(import "goal_src/import/gondola-ag.gc") +(import "goal_src/import/medres-ogre2-ag.gc") (import "goal_src/import/medres-ogre3-ag.gc") +(import "goal_src/import/gondolacables-ag.gc") (defskelgroup *med-res-ogre-sg* medres-ogre medres-ogre-lod0-jg medres-ogre-idle-ja ((medres-ogre-lod0-mg (meters 999999))) @@ -50,8 +51,7 @@ (define ripple-for-villagec-lava (new 'static 'ripple-wave-set :count 2 :converted #f - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 2 :speed 1.5) (new 'static 'ripple-wave :scale 40.0 :xdiv -2 :zdiv 2 :speed 0.9) (new 'static 'ripple-wave) @@ -100,8 +100,7 @@ (defstate idle (gondola) :virtual #t - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (ja-channel-set! 1) (cond @@ -110,8 +109,7 @@ :name "gondola-ride-down" :index 6 :parts 3 - :command-list - '((0 want-levels village3 snow) + :command-list '((0 want-levels village3 snow) (0 shadow target #f) (0 shadow sidekick #f) (1 display-level village3 display) @@ -130,8 +128,7 @@ :name "gondola-ride-up" :index 5 :parts 3 - :command-list - '((0 want-levels village3 snow) + :command-list '((0 want-levels village3 snow) (0 shadow target #f) (400 setting-reset music snow) (400 display-level snow display) @@ -261,56 +258,40 @@ (defstate ride-up (gondola) :virtual #t - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status bit-3) #t) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'clone-anim) - (set! (-> a1-1 param 0) (the-as uint self)) - (when (send-event-function *target* a1-1) - (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) - (send-event *target* 'blend-shape #t) - (set-setting! *setting-control* self 'sound-flava #f 30.0 4) - (logclear! (-> self mask) (process-mask enemy)) - (let ((gp-0 (get-process *default-dead-pool* othercam #x4000))) - (when gp-0 - (let ((t9-6 (method-of-type othercam activate))) - (t9-6 (the-as othercam gp-0) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 othercam-init-by-other self 4 #f #t) - (-> gp-0 ppointer) - ) - ) - (ja-play-spooled-anim - (-> self anim) - (the-as art-joint-anim (-> self draw art-group data 3)) - (the-as art-joint-anim (-> self draw art-group data 4)) - (the-as (function process-drawable symbol) false-func) - ) - (clear-pending-settings-from-process *setting-control* self 'sound-flava) - (send-event *target* 'blend-shape #f) - (when *target* - (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) - (send-event *target* 'trans 'restore (-> self old-target-pos)) - (send-event *target* 'end-mode) - (update-transforms! (-> self root-override)) - (move-to-ground (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) - (logior! (-> *target* control status) (cshape-moving-flags onsurf onground tsurf)) - (suspend) - (send-event *camera* 'teleport-to-other-start-string) - ) - (load-state-want-vis 'sno) - (set-continue! *game-info* "snow-start") + (when (send-event *target* 'clone-anim self) + (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) + (send-event *target* 'blend-shape #t) + (set-setting! *setting-control* self 'sound-flava #f 30.0 4) + (logclear! (-> self mask) (process-mask enemy)) + (process-spawn othercam self 4 #f #t :to self) + (ja-play-spooled-anim + (-> self anim) + (the-as art-joint-anim (-> self draw art-group data 3)) + (the-as art-joint-anim (-> self draw art-group data 4)) + (the-as (function process-drawable symbol) false-func) ) + (clear-pending-settings-from-process *setting-control* self 'sound-flava) + (send-event *target* 'blend-shape #f) + (when *target* + (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) + (send-event *target* 'trans 'restore (-> self old-target-pos)) + (send-event *target* 'end-mode) + (update-transforms! (-> self root-override)) + (move-to-ground (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) + (logior! (-> *target* control status) (cshape-moving-flags onsurf onground tsurf)) + (suspend) + (send-event *camera* 'teleport-to-other-start-string) + ) + (load-state-want-vis 'sno) + (set-continue! *game-info* "snow-start") ) (process-entity-status! self (entity-perm-status bit-3) #f) (go-virtual idle #t) (none) ) - :post - (behavior () + :post (behavior () (ja-post) (update-direction-from-time-of-day (-> self draw shadow-ctrl)) (none) @@ -319,57 +300,41 @@ (defstate ride-down (gondola) :virtual #t - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status bit-3) #t) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'clone-anim) - (set! (-> a1-1 param 0) (the-as uint self)) - (when (send-event-function *target* a1-1) - (send-event *target* 'trans 'save (-> self old-target-pos)) - (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) - (send-event *target* 'blend-shape #t) - (set-setting! *setting-control* self 'sound-flava #f 30.0 4) - (logclear! (-> self mask) (process-mask enemy)) - (let ((gp-0 (get-process *default-dead-pool* othercam #x4000))) - (when gp-0 - (let ((t9-7 (method-of-type othercam activate))) - (t9-7 (the-as othercam gp-0) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 othercam-init-by-other self 4 #f #t) - (-> gp-0 ppointer) - ) - ) - (ja-play-spooled-anim - (-> self anim) - (the-as art-joint-anim (-> self draw art-group data 4)) - (the-as art-joint-anim (-> self draw art-group data 3)) - (the-as (function process-drawable symbol) false-func) - ) - (clear-pending-settings-from-process *setting-control* self 'sound-flava) - (send-event *target* 'blend-shape #f) - (when *target* - (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) - (send-event *target* 'trans 'restore (-> self old-target-pos)) - (send-event *target* 'end-mode) - (update-transforms! (-> self root-override)) - (move-to-ground (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) - (logior! (-> *target* control status) (cshape-moving-flags onsurf onground tsurf)) - (suspend) - (send-event *camera* 'teleport-to-other-start-string) - ) - (load-state-want-vis 'vi3) - (set-continue! *game-info* "village3-farside") + (when (send-event *target* 'clone-anim self) + (send-event *target* 'trans 'save (-> self old-target-pos)) + (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) + (send-event *target* 'blend-shape #t) + (set-setting! *setting-control* self 'sound-flava #f 30.0 4) + (logclear! (-> self mask) (process-mask enemy)) + (process-spawn othercam self 4 #f #t :to self) + (ja-play-spooled-anim + (-> self anim) + (the-as art-joint-anim (-> self draw art-group data 4)) + (the-as art-joint-anim (-> self draw art-group data 3)) + (the-as (function process-drawable symbol) false-func) ) + (clear-pending-settings-from-process *setting-control* self 'sound-flava) + (send-event *target* 'blend-shape #f) + (when *target* + (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) + (send-event *target* 'trans 'restore (-> self old-target-pos)) + (send-event *target* 'end-mode) + (update-transforms! (-> self root-override)) + (move-to-ground (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) + (logior! (-> *target* control status) (cshape-moving-flags onsurf onground tsurf)) + (suspend) + (send-event *camera* 'teleport-to-other-start-string) + ) + (load-state-want-vis 'vi3) + (set-continue! *game-info* "village3-farside") ) (process-entity-status! self (entity-perm-status bit-3) #f) (go-virtual idle #f) (none) ) - :post - (-> (method-of-type gondola ride-up) post) + :post (-> (method-of-type gondola ride-up) post) ) (defmethod init-from-entity! gondola ((obj gondola) (arg0 entity-actor)) @@ -446,16 +411,14 @@ (defstate idle (pistons) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('update) (go-virtual active (process->handle arg0) #f) ) ) ) - :code - (behavior () + :code (behavior () (ja-post) (logior! (-> self mask) (process-mask sleep)) (suspend) @@ -466,8 +429,7 @@ (defstate active (pistons) :virtual #t - :code - (behavior ((arg0 handle) (arg1 symbol)) + :code (behavior ((arg0 handle) (arg1 symbol)) (process-entity-status! self (entity-perm-status complete) #t) (if (not arg1) (sound-play-by-name (static-sound-name "gdl-start-up") (new-sound-id) 1024 0 0 1 #t) @@ -524,8 +486,7 @@ (defstate idle (gondolacables) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'update) (process-entity-status! self (entity-perm-status complete) #t) @@ -537,8 +498,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -548,8 +508,7 @@ ) (none) ) - :post - (the-as (function none :behavior gondolacables) ja-post) + :post (the-as (function none :behavior gondolacables) ja-post) ) (defmethod init-from-entity! gondolacables ((obj gondolacables) (arg0 entity-actor)) diff --git a/goal_src/levels/village3/village3-part.gc b/goal_src/levels/village3/village3-part.gc index a4b9f22c54..bad96c140f 100644 --- a/goal_src/levels/village3/village3-part.gc +++ b/goal_src/levels/village3/village3-part.gc @@ -19,15 +19,13 @@ (defpartgroup group-village3-candle :id 476 :bounds (static-bspherem 0 10 0 12) - :parts - ((sp-item 1797 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1797 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1798 :fade-after (meters 60) :falloff-to (meters 60)) ) ) (defpart 1797 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -0.08) (meters 0.02) 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) @@ -48,8 +46,7 @@ ) (defpart 1798 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -0.04)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) @@ -74,8 +71,7 @@ (defpartgroup group-village3-sulphur-05 :id 477 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1799 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1799 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -83,8 +79,7 @@ (defpartgroup group-village3-sulphur-06 :id 478 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1801 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1801 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -92,8 +87,7 @@ (defpartgroup group-village3-sulphur-07 :id 479 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1802 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1802 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -101,8 +95,7 @@ (defpartgroup group-village3-sulphur-08 :id 480 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1803 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1803 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -110,8 +103,7 @@ (defpartgroup group-village3-sulphur-09 :id 481 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1804 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1804 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -119,8 +111,7 @@ (defpartgroup group-village3-sulphur-10 :id 482 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1805 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1805 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -128,8 +119,7 @@ (defpartgroup group-village3-sulphur-11 :id 483 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1806 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1806 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -137,8 +127,7 @@ (defpartgroup group-village3-sulphur-12 :id 484 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1807 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1807 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -146,8 +135,7 @@ (defpartgroup group-village3-sulphur-13 :id 485 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1808 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1808 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -155,8 +143,7 @@ (defpartgroup group-village3-sulphur-14 :id 486 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1809 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1809 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -164,15 +151,13 @@ (defpartgroup group-village3-sulphur-15 :id 487 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1810 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1810 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) (defpart 1810 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -197,8 +182,7 @@ ) (defpart 1808 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -223,8 +207,7 @@ ) (defpart 1809 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -249,8 +232,7 @@ ) (defpart 1807 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -275,8 +257,7 @@ ) (defpart 1812 - :init-specs - ((sp-flt spt-vel-y (meters 0.00033333333)) + :init-specs ((sp-flt spt-vel-y (meters 0.00033333333)) (sp-flt spt-fade-a -0.023703704) (sp-flt spt-accel-y -0.027306668) (sp-int spt-next-time 750) @@ -285,8 +266,7 @@ ) (defpart 1806 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -311,8 +291,7 @@ ) (defpart 1814 - :init-specs - ((sp-flt spt-vel-y (meters 0.00033333333)) + :init-specs ((sp-flt spt-vel-y (meters 0.00033333333)) (sp-flt spt-fade-a -0.023703704) (sp-flt spt-accel-y -0.027306668) (sp-int spt-next-time 225) @@ -321,8 +300,7 @@ ) (defpart 1805 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -347,8 +325,7 @@ ) (defpart 1804 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -373,8 +350,7 @@ ) (defpart 1815 - :init-specs - ((sp-flt spt-vel-y (meters 0.00033333333)) + :init-specs ((sp-flt spt-vel-y (meters 0.00033333333)) (sp-flt spt-fade-a -0.023703704) (sp-flt spt-accel-y -0.027306668) (sp-int spt-next-time 150) @@ -383,8 +359,7 @@ ) (defpart 1803 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -409,8 +384,7 @@ ) (defpart 1816 - :init-specs - ((sp-flt spt-vel-y (meters 0.00033333333)) + :init-specs ((sp-flt spt-vel-y (meters 0.00033333333)) (sp-flt spt-fade-a -0.023703704) (sp-flt spt-accel-y -0.027306668) (sp-int spt-next-time 150) @@ -419,8 +393,7 @@ ) (defpart 1802 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -445,8 +418,7 @@ ) (defpart 1817 - :init-specs - ((sp-flt spt-vel-y (meters 0.00033333333)) + :init-specs ((sp-flt spt-vel-y (meters 0.00033333333)) (sp-flt spt-fade-a -0.023703704) (sp-flt spt-accel-y -0.027306668) (sp-int spt-next-time 750) @@ -455,13 +427,11 @@ ) (defpart 1813 - :init-specs - ((sp-flt spt-fade-a -0.047407407) (sp-flt spt-accel-y 1.3653333)) + :init-specs ((sp-flt spt-fade-a -0.047407407) (sp-flt spt-accel-y 1.3653333)) ) (defpart 1801 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -486,8 +456,7 @@ ) (defpart 1799 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -512,13 +481,11 @@ ) (defpart 1811 - :init-specs - ((sp-flt spt-vel-y (meters 0.00033333333)) (sp-flt spt-fade-a -0.017777778) (sp-flt spt-accel-y -0.027306668)) + :init-specs ((sp-flt spt-vel-y (meters 0.00033333333)) (sp-flt spt-fade-a -0.017777778) (sp-flt spt-accel-y -0.027306668)) ) (defpart 1800 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-z (meters -1) (meters 2) 1.0) @@ -544,8 +511,7 @@ (defpartgroup group-village3-minor-fire :id 488 :bounds (static-bspherem 0 2.5 0 2.5) - :parts - ((sp-item 2358 :fade-after (meters 50) :falloff-to (meters 80)) + :parts ((sp-item 2358 :fade-after (meters 50) :falloff-to (meters 80)) (sp-item 2359 :fade-after (meters 40) :falloff-to (meters 40) :binding 2357) (sp-item 2357 :flags (bit1 start-dead launch-asap)) (sp-item 2357 :flags (bit1 start-dead launch-asap)) @@ -617,8 +583,7 @@ ) (defpart 2359 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-sound (static-sound-spec "fire-pop" :volume 100.0)) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) @@ -641,8 +606,7 @@ ) (defpart 2357 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -669,13 +633,11 @@ ) (defpart 2362 - :init-specs - ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g 1.0666667) (sp-flt spt-fade-b 1.0666667)) + :init-specs ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g 1.0666667) (sp-flt spt-fade-b 1.0666667)) ) (defpart 2358 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 3.0 7.0 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.1) 1.0) (sp-flt spt-y (meters -0.75)) @@ -699,8 +661,7 @@ ) (defpart 2360 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -0.5) (meters 1.1) 1.0) (sp-flt spt-y (meters -0.75)) @@ -728,8 +689,7 @@ ) (defpart 2361 - :init-specs - ((sp-flt spt-num 0.4) + :init-specs ((sp-flt spt-num 0.4) (sp-flt spt-x (meters 0.2)) (sp-flt spt-y (meters -0.75)) (sp-int spt-rot-x 8) @@ -748,15 +708,13 @@ ) (defpart 2363 - :init-specs - ((sp-flt spt-fade-b -1.3653333)) + :init-specs ((sp-flt spt-fade-b -1.3653333)) ) (defpartgroup group-spewing-volcano-36 :id 489 :bounds (static-bspherem 0 3 0 14) - :parts - ((sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1200 :offset 300) + :parts ((sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1200 :offset 300) (sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1320 :offset 360) (sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1440 :offset 420) (sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1560 :offset 480) @@ -808,8 +766,7 @@ (defpartgroup group-spewing-volcano-37 :id 490 :bounds (static-bspherem 0 3 0 14) - :parts - ((sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1200 :offset 1500) + :parts ((sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1200 :offset 1500) (sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1320 :offset 1560) (sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1440 :offset 1620) (sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1560 :offset 1680) @@ -859,8 +816,7 @@ ) (defpart 1836 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-int spt-rot-x 5) (sp-flt spt-r 8192.0) (sp-flt spt-g 6144.0) @@ -878,8 +834,7 @@ ) (defpart 1837 - :init-specs - ((sp-flt spt-fade-r 40.96) + :init-specs ((sp-flt spt-fade-r 40.96) (sp-flt spt-fade-g 34.133335) (sp-flt spt-fade-b 30.72) (sp-flt spt-accel-x 0.0) @@ -892,13 +847,11 @@ ) (defpart 1838 - :init-specs - ((sp-flt spt-fade-g 27.306667) (sp-int spt-timer 300)) + :init-specs ((sp-flt spt-fade-g 27.306667) (sp-int spt-timer 300)) ) (defpart 1833 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.6) (sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -923,8 +876,7 @@ ) (defpart 1839 - :init-specs - ((sp-rnd-flt spt-a 16.0 8.0 1.0) + :init-specs ((sp-rnd-flt spt-a 16.0 8.0 1.0) (sp-flt spt-scalevel-x (meters 0.013333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.42666668) @@ -941,13 +893,11 @@ ) (defpart 1840 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) (defpart 1834 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 3.5) (meters 0.75) 1.0) (sp-flt spt-y (meters -7)) @@ -973,8 +923,7 @@ ) (defpart 1835 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-x (meters 3.5) (meters 0.75) 1.0) (sp-flt spt-y (meters -6.5)) @@ -1003,8 +952,7 @@ ) (defpart 1829 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters 7) (meters 3) 1.0) (sp-flt spt-y (meters -7)) @@ -1030,8 +978,7 @@ ) (defpart 1828 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.09) (sp-rnd-flt spt-x (meters 7) (meters 3) 1.0) (sp-flt spt-y (meters -6.5)) @@ -1060,8 +1007,7 @@ ) (defpart 1827 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters 5) (meters 2) 1.0) (sp-flt spt-y (meters -7)) @@ -1086,8 +1032,7 @@ ) (defpart 1826 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters 5) (meters 2) 1.0) (sp-flt spt-y (meters -6.5)) @@ -1115,8 +1060,7 @@ ) (defpart 1824 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.09) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.25) (meters 0.5) 1.0) @@ -1145,8 +1089,7 @@ ) (defpart 1823 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.3) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.25) (meters 0.5) 1.0) @@ -1173,8 +1116,7 @@ ) (defpart 1825 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) (sp-flt spt-num 0.7) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.25) (meters 0.5) 1.0) @@ -1205,8 +1147,7 @@ ) (defpart 1832 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-int spt-rot-x 4) @@ -1234,8 +1175,7 @@ ) (defpart 1831 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1262,13 +1202,11 @@ ) (defpart 1841 - :init-specs - ((sp-flt spt-fade-r -0.08888889) (sp-flt spt-fade-g 0.0)) + :init-specs ((sp-flt spt-fade-r -0.08888889) (sp-flt spt-fade-g 0.0)) ) (defpart 1830 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-z (meters -0.5) (meters 1) 1.0) @@ -1299,8 +1237,7 @@ (defpartgroup group-village3-steam-puff-31 :id 491 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1842 :fade-after (meters 100) :falloff-to (meters 100) :period 900 :length 126) + :parts ((sp-item 1842 :fade-after (meters 100) :falloff-to (meters 100) :period 900 :length 126) (sp-item 1843 :fade-after (meters 100) :falloff-to (meters 100) :period 1260 :length 167) (sp-item 1844 :fade-after (meters 100) :falloff-to (meters 100) :period 690 :length 150) (sp-item 1845 :fade-after (meters 100) :falloff-to (meters 100) :period 1920 :length 80) @@ -1311,8 +1248,7 @@ (defpartgroup group-village3-steam-puff-22 :id 492 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1842 :fade-after (meters 100) :falloff-to (meters 100) :period 1230 :length 156) + :parts ((sp-item 1842 :fade-after (meters 100) :falloff-to (meters 100) :period 1230 :length 156) (sp-item 1843 :fade-after (meters 100) :falloff-to (meters 100) :period 2310 :length 107) (sp-item 1844 :fade-after (meters 100) :falloff-to (meters 100) :period 960 :length 120) (sp-item 1845 :fade-after (meters 100) :falloff-to (meters 100) :period 1350 :length 170) @@ -1323,8 +1259,7 @@ (defpartgroup group-village3-steam-puff-23 :id 493 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1842 :fade-after (meters 100) :falloff-to (meters 100) :period 1200 :length 126) + :parts ((sp-item 1842 :fade-after (meters 100) :falloff-to (meters 100) :period 1200 :length 126) (sp-item 1843 :fade-after (meters 100) :falloff-to (meters 100) :period 1560 :length 107) (sp-item 1844 :fade-after (meters 100) :falloff-to (meters 100) :period 1830 :length 120) (sp-item 1845 :fade-after (meters 100) :falloff-to (meters 100) :period 690 :length 110) @@ -1333,8 +1268,7 @@ ) (defpart 1842 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-sound (static-sound-spec "steam-short" :num 0.02)) (sp-flt spt-scale-x (meters 0.4)) @@ -1360,8 +1294,7 @@ ) (defpart 1843 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-sound (static-sound-spec "steam-short" :num 0.02)) (sp-flt spt-scale-x (meters 0.4)) @@ -1387,8 +1320,7 @@ ) (defpart 1844 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-sound (static-sound-spec "steam-short" :num 0.02)) (sp-flt spt-scale-x (meters 0.4)) @@ -1414,8 +1346,7 @@ ) (defpart 1845 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-sound (static-sound-spec "steam-short" :num 0.02)) (sp-flt spt-scale-x (meters 0.4)) @@ -1441,8 +1372,7 @@ ) (defpart 1846 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-sound (static-sound-spec "steam-short" :num 0.02)) (sp-flt spt-scale-x (meters 0.4)) @@ -1470,8 +1400,7 @@ (defpartgroup group-village3-bottom-puff-25 :id 494 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 900 :length 126) + :parts ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 900 :length 126) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1260 :length 167) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 669 :length 150) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1920 :length 80) @@ -1482,8 +1411,7 @@ (defpartgroup group-village3-bottom-puff-27 :id 495 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1200 :length 126) + :parts ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1200 :length 126) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1080 :length 167) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1569 :length 150) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 990 :length 80) @@ -1494,8 +1422,7 @@ (defpartgroup group-village3-bottom-puff-28 :id 496 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1500 :length 126) + :parts ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1500 :length 126) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1470 :length 167) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1029 :length 150) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 720 :length 80) @@ -1506,8 +1433,7 @@ (defpartgroup group-village3-bottom-puff-29 :id 497 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1500 :length 126) + :parts ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1500 :length 126) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 2010 :length 167) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 999 :length 150) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 720 :length 80) @@ -1518,8 +1444,7 @@ (defpartgroup group-village3-bottom-puff-30 :id 498 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1500 :length 126) + :parts ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1500 :length 126) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 960 :length 167) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1869 :length 150) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1050 :length 80) @@ -1528,8 +1453,7 @@ ) (defpart 1847 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-sound (static-sound-spec "steam-short" :num 0.02)) (sp-flt spt-y (meters 0.7)) @@ -1558,8 +1482,7 @@ (defpartgroup group-village3-lava-lava-20x20 :id 499 :bounds (static-bspherem 0 0 0 14) - :parts - ((sp-item 1850 :fade-after (meters 40) :falloff-to (meters 40)) + :parts ((sp-item 1850 :fade-after (meters 40) :falloff-to (meters 40)) (sp-item 1851 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1852 :fade-after (meters 80) :falloff-to (meters 80) :binding 1848) (sp-item 1848 :flags (start-dead)) @@ -1578,8 +1501,7 @@ ) (defpart 1851 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1605,8 +1527,7 @@ ) (defpart 1853 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0)) @@ -1626,8 +1547,7 @@ ) (defpart 1852 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.02 0.02 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0)) @@ -1649,8 +1569,7 @@ ) (defpart 1850 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -10) (meters 20) 1.0) @@ -1671,18 +1590,15 @@ ) (defpart 1856 - :init-specs - ((sp-flt spt-fade-b 16.384)) + :init-specs ((sp-flt spt-fade-b 16.384)) ) (defpart 1855 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 1857)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 1857)) ) (defpart 1857 - :init-specs - ((sp-flt spt-fade-r -0.85333335) + :init-specs ((sp-flt spt-fade-r -0.85333335) (sp-flt spt-fade-g -0.42666668) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 1858) @@ -1690,13 +1606,11 @@ ) (defpart 1858 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a -0.10666667)) ) (defpart 1848 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.7) (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.25) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1713,8 +1627,7 @@ ) (defpart 1849 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1735,8 +1648,7 @@ (defpartgroup group-village3-sagehut-warpgate :id 500 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1861 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1861 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1862 :fade-after (meters 60) :falloff-to (meters 100) :binding 1859) (sp-item 1859 :flags (bit1 start-dead launch-asap)) (sp-item 1859 :flags (bit1 start-dead launch-asap)) @@ -1915,8 +1827,7 @@ ) (defpart 1863 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-x (meters -2)) (sp-flt spt-scale-x (meters 0.25)) @@ -1931,8 +1842,7 @@ ) (defpart 1860 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 1.0 0.2 1.0) (sp-flt spt-x (meters 3.1111112)) (sp-flt spt-y (meters 4)) @@ -1955,8 +1865,7 @@ ) (defpart 1861 - :init-specs - ((sp-rnd-flt spt-num 5.0 5.0 1.0) + :init-specs ((sp-rnd-flt spt-num 5.0 5.0 1.0) (sp-flt spt-x (meters -0.5)) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) @@ -1973,8 +1882,7 @@ ) (defpart 1862 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.4 1.0 1.0) (sp-flt spt-scale-x (meters 0.25)) (sp-copy-from-other spt-scale-y -4) @@ -1987,8 +1895,7 @@ ) (defpart 1859 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.4 1.0) (sp-flt spt-x (meters 3.1111112)) (sp-flt spt-y (meters 4)) @@ -2014,13 +1921,11 @@ (defpartgroup group-village3-sagehut-boiling :id 501 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1864 :fade-after (meters 60) :flags (is-3d)) (sp-item 1865 :fade-after (meters 60) :flags (is-3d))) + :parts ((sp-item 1864 :fade-after (meters 60) :flags (is-3d)) (sp-item 1865 :fade-after (meters 60) :flags (is-3d))) ) (defpart 1864 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.5 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-flt spt-y (meters -2)) @@ -2047,13 +1952,11 @@ ) (defpart 1866 - :init-specs - ((sp-flt spt-fade-a -0.2)) + :init-specs ((sp-flt spt-fade-a -0.2)) ) (defpart 1865 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -0.5)) (sp-flt spt-z (meters -0.26)) @@ -2074,8 +1977,7 @@ (defpartgroup group-village3-sagehut-steam :id 502 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1867 :fade-after (meters 60) :falloff-to (meters 60) :period 1200 :length 126) + :parts ((sp-item 1867 :fade-after (meters 60) :falloff-to (meters 60) :period 1200 :length 126) (sp-item 1867 :fade-after (meters 60) :falloff-to (meters 60) :period 1560 :length 107) (sp-item 1867 :fade-after (meters 60) :falloff-to (meters 60) :period 1830 :length 120) (sp-item 1867 :fade-after (meters 60) :falloff-to (meters 60) :period 690 :length 110) @@ -2084,8 +1986,7 @@ ) (defpart 1867 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-sound (static-sound-spec "steam-short" :num 0.02)) (sp-flt spt-scale-x (meters 0.3)) @@ -2113,8 +2014,7 @@ (defpartgroup group-village3-sagehut-understeam :id 503 :bounds (static-bspherem 0 -3 0 8) - :parts - ((sp-item 1868 :fade-after (meters 200) :falloff-to (meters 200) :period 1200 :length 126) + :parts ((sp-item 1868 :fade-after (meters 200) :falloff-to (meters 200) :period 1200 :length 126) (sp-item 1868 :fade-after (meters 200) :falloff-to (meters 200) :period 1560 :length 107) (sp-item 1868 :fade-after (meters 200) :falloff-to (meters 200) :period 1830 :length 120) (sp-item 1868 :fade-after (meters 200) :falloff-to (meters 200) :period 690 :length 110) @@ -2123,8 +2023,7 @@ ) (defpart 1868 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 4.0 4.0 1.0) (sp-sound (static-sound-spec "steam-short" :num 0.02)) (sp-flt spt-x (meters 1.5)) diff --git a/goal_src/levels/village_common/oracle.gc b/goal_src/levels/village_common/oracle.gc index 72b163dc84..f22c235805 100644 --- a/goal_src/levels/village_common/oracle.gc +++ b/goal_src/levels/village_common/oracle.gc @@ -6,6 +6,7 @@ ;; dgos: CIT, L1, VI1, VI2, VI3, VILLAGEP ;; DECOMP BEGINS + (import "goal_src/import/oracle-ag.gc") (deftype oracle (process-taskable) @@ -43,8 +44,7 @@ :name "oracle-intro-2" :index 11 :parts 4 - :command-list - '((0 kill "pontoonten-20") + :command-list '((0 kill "pontoonten-20") (0 kill "pontoonten-19") (0 kill "pontoonten-18") (0 kill "pontoonten-15") @@ -225,14 +225,12 @@ (defstate idle (oracle) :virtual #t - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) ((-> (method-of-type process-taskable idle) exit)) (none) ) - :trans - (behavior () + :trans (behavior () (update! (-> self sound)) ((-> (method-of-type process-taskable idle) trans)) (none) @@ -274,19 +272,9 @@ (ja-post) (when (not (task-closed? (the-as game-task (-> obj first-task)) (task-status need-resolution))) (vector<-cspace! s4-0 (-> obj node-list data 5)) - (let ((s3-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj right-eye-cell) - (ppointer->handle - (when s3-0 - (let ((t9-8 (method-of-type manipy activate))) - (t9-8 (the-as manipy s3-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 manipy-init s4-0 (-> obj entity) *fuel-cell-sg* (new 'static 'vector :w 4915.2)) - (-> s3-0 ppointer) - ) - ) - ) - ) + (set! (-> obj right-eye-cell) + (ppointer->handle (manipy-spawn s4-0 (-> obj entity) *fuel-cell-sg* (new 'static 'vector :w 4915.2) :to obj)) + ) (send-event (handle->process (-> obj right-eye-cell)) 'eval @@ -300,19 +288,9 @@ ) (when (not (task-closed? (the-as game-task (-> obj second-task)) (task-status need-resolution))) (vector<-cspace! s4-0 (-> obj node-list data 6)) - (let ((s3-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj left-eye-cell) - (ppointer->handle - (when s3-1 - (let ((t9-15 (method-of-type manipy activate))) - (t9-15 (the-as manipy s3-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s3-1 manipy-init s4-0 (-> obj entity) *fuel-cell-sg* (new 'static 'vector :w 4915.2)) - (-> s3-1 ppointer) - ) - ) - ) - ) + (set! (-> obj left-eye-cell) + (ppointer->handle (manipy-spawn s4-0 (-> obj entity) *fuel-cell-sg* (new 'static 'vector :w 4915.2) :to obj)) + ) (send-event (handle->process (-> obj left-eye-cell)) 'eval diff --git a/goal_src/levels/village_common/villagep-obs.gc b/goal_src/levels/village_common/villagep-obs.gc index ffa8811ff4..588295cbbf 100644 --- a/goal_src/levels/village_common/villagep-obs.gc +++ b/goal_src/levels/village_common/villagep-obs.gc @@ -7,8 +7,9 @@ ;; DECOMP BEGINS -(import "goal_src/import/village-cam-ag.gc") + (import "goal_src/import/warp-gate-switch-ag.gc") +(import "goal_src/import/village-cam-ag.gc") (deftype warpgate (process-hidden) () @@ -19,14 +20,10 @@ (defstate target-warp-in (target) - :event - target-generic-event-handler - :enter - (-> target-warp-out enter) - :exit - (-> target-warp-out exit) - :trans - (behavior () + :event target-generic-event-handler + :enter (-> target-warp-out enter) + :exit (-> target-warp-out exit) + :trans (behavior () (set! (-> self control transv x) (- (-> self control unknown-vector103 x) (-> self control unknown-vector102 x)) ) @@ -39,8 +36,7 @@ ) (none) ) - :code - (behavior ((arg0 vector) (arg1 vector)) + :code (behavior ((arg0 vector) (arg1 vector)) (clear-collide-with-as (-> self control)) (ja-channel-set! 0) (vector-reset! (-> self control transv)) @@ -94,22 +90,19 @@ (target-falling-anim -1 (seconds 0.33)) (none) ) - :post - target-no-move-post + :post target-no-move-post ) (defstate idle (warp-gate) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hide) (go-virtual hidden) ) ) ) - :code - (behavior () + :code (behavior () (clear-pending-settings-from-process *setting-control* self 'allow-progress) (set! (-> self state-time) (-> *display* base-frame-counter)) (loop @@ -227,16 +220,14 @@ (defstate active (warp-gate) :virtual #t - :enter - (behavior () + :enter (behavior () (set-setting! *setting-control* self 'allow-progress #f 0.0 0) (copy-settings-from-target! *setting-control*) (sound-play-by-name (static-sound-name "start-options") (new-sound-id) 1024 0 0 1 #t) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (when (or (and (cpad-pressed? 0 triangle) (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (process-release? *target*) @@ -266,8 +257,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (sv-112 int) (sv-128 int) (sv-144 int)) (let ((gp-0 (get-next-slot-up self (+ (-> self level-slot) -1)))) 0 @@ -408,8 +398,7 @@ (defstate hidden (warp-gate) :virtual #t - :code - (the-as (function none :behavior warp-gate) anim-loop) + :code (the-as (function none :behavior warp-gate) anim-loop) ) (defbehavior warp-gate-init-by-other warp-gate ((arg0 vector)) @@ -630,14 +619,8 @@ ) ) ) - ;; note: they appear to be calling this on the wrong object. - ;; this doesn't actually cause any problems but corrupts the type of `float` in the symbol - ;; table because they they write to some field of arg0, which is actually #t and not a - ;; basebutton. The corruption is completely harmless but is annoying because it looks like - ;; a more severe memory corruption problem. So we fix it. (the-as int ((the-as (function basebutton symbol none) (find-parent-method warp-gate-switch 31)) - ;;(the-as basebutton arg0) - obj + (the-as basebutton arg0) arg0 ) ) @@ -646,8 +629,7 @@ (defstate basebutton-up-idle (warp-gate-switch) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (when (pressable? self) @@ -663,8 +645,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((t9-0 (-> (method-of-type basebutton basebutton-up-idle) enter))) (if t9-0 @@ -673,8 +654,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) self) (set! (-> a1-0 num-params) 0) @@ -768,8 +748,7 @@ (defstate basebutton-down-idle (warp-gate-switch) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hide) (send-event (handle->process (-> self warp)) arg2) @@ -779,21 +758,9 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((gp-0 (get-process *default-dead-pool* warp-gate #x4000))) - (set! (-> self warp) - (ppointer->handle (when gp-0 - (let ((t9-1 (method-of-type warp-gate activate))) - (t9-1 (the-as warp-gate gp-0) self 'warp-gate (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 warp-gate-init-by-other (-> self notify-actor extra trans)) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! (-> self warp) (ppointer->handle (process-spawn warp-gate (-> self notify-actor extra trans) :to self))) (process-entity-status! self (entity-perm-status complete) #t) (let ((t9-4 (-> (method-of-type basebutton basebutton-down-idle) enter))) (if t9-4 @@ -802,8 +769,7 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self warp)))) (if a0-1 (deactivate a0-1) @@ -816,8 +782,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 60)) (case (-> self entity extra perm task) (((game-task training-door)) @@ -846,8 +811,7 @@ (defstate basebutton-going-down (warp-gate-switch) :virtual #t - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "warpgate-butt") (new-sound-id) 1024 0 0 1 #t) (sound-play-by-name (static-sound-name "warpgate-act") (new-sound-id) 1024 0 0 1 #t) (let ((gp-2 (entity-actor-count (-> self entity) 'trigger-actor))) @@ -920,8 +884,7 @@ (defstate idle (village-cam) :virtual #t - :code - (behavior () + :code (behavior () (local-vars (v1-18 symbol)) (loop (let ((v1-5 @@ -1046,33 +1009,25 @@ *entity-pool* (game-task none) ) - (let ((s5-0 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-0 - (let ((t9-23 (method-of-type pov-camera activate))) - (t9-23 (the-as pov-camera s5-0) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> self entity extra trans) - *village-cam-sg* - "firecanyon-cam" - 0 - #f - '((0 want-force-vis village1 #t) - (0 alive "money-2669") - (0 alive "money-2670") - (0 alive "money-2671") - (0 alive "money-2672") - (0 alive "money-2673") - (0 alive "money-2674") - (0 alive "money-2675") - (0 alive "money-2677") - (0 alive "money-2678") - ) - ) - (-> s5-0 ppointer) + (process-spawn + pov-camera + (-> self entity extra trans) + *village-cam-sg* + "firecanyon-cam" + 0 + #f + '((0 want-force-vis village1 #t) + (0 alive "money-2669") + (0 alive "money-2670") + (0 alive "money-2671") + (0 alive "money-2672") + (0 alive "money-2673") + (0 alive "money-2674") + (0 alive "money-2675") + (0 alive "money-2677") + (0 alive "money-2678") ) + :to self ) ) ((= v1-84 1) @@ -1083,33 +1038,25 @@ *entity-pool* (game-task none) ) - (let ((s5-1 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-1 - (let ((t9-27 (method-of-type pov-camera activate))) - (t9-27 (the-as pov-camera s5-1) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - pov-camera-init-by-other - (-> self entity extra trans) - *village-cam-sg* - "firecanyon-alt-cam" - 0 - #f - '((0 want-force-vis village1 #t) - (0 alive "money-2669") - (0 alive "money-2670") - (0 alive "money-2671") - (0 alive "money-2672") - (0 alive "money-2673") - (0 alive "money-2674") - (0 alive "money-2675") - (0 alive "money-2677") - (0 alive "money-2678") - ) - ) - (-> s5-1 ppointer) + (process-spawn + pov-camera + (-> self entity extra trans) + *village-cam-sg* + "firecanyon-alt-cam" + 0 + #f + '((0 want-force-vis village1 #t) + (0 alive "money-2669") + (0 alive "money-2670") + (0 alive "money-2671") + (0 alive "money-2672") + (0 alive "money-2673") + (0 alive "money-2674") + (0 alive "money-2675") + (0 alive "money-2677") + (0 alive "money-2678") ) + :to self ) ) ) @@ -1128,24 +1075,7 @@ *entity-pool* (game-task none) ) - (let ((gp-1 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-1 - (let ((t9-33 (method-of-type pov-camera activate))) - (t9-33 (the-as pov-camera gp-1) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - pov-camera-init-by-other - (-> self entity extra trans) - *village-cam-sg* - "vi2-button-cam" - 0 - #f - '() - ) - (-> gp-1 ppointer) - ) - ) + (process-spawn pov-camera (-> self entity extra trans) *village-cam-sg* "vi2-button-cam" 0 #f '() :to self) ) ) ((= v1-79 3) @@ -1157,24 +1087,7 @@ *entity-pool* (game-task none) ) - (let ((gp-2 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-2 - (let ((t9-38 (method-of-type pov-camera activate))) - (t9-38 (the-as pov-camera gp-2) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-2 - pov-camera-init-by-other - (-> self entity extra trans) - *village-cam-sg* - "vi3-button-cam" - 0 - #f - '() - ) - (-> gp-2 ppointer) - ) - ) + (process-spawn pov-camera (-> self entity extra trans) *village-cam-sg* "vi3-button-cam" 0 #f '() :to self) ) ) ) diff --git a/goal_src/pc/anim-tester-x.gc b/goal_src/pc/anim-tester-x.gc index 536c106ba9..05893d341f 100644 --- a/goal_src/pc/anim-tester-x.gc +++ b/goal_src/pc/anim-tester-x.gc @@ -587,9 +587,7 @@ (if *target* (stop 'play)) - (set! *atx* (process-new anim-tester-x anim-tester-x-init-by-other - :from *pc-dead-pool* - :stack-size (* 8 1024))) + (set! *atx* (process-spawn anim-tester-x :from *pc-dead-pool* :stack-size (* 8 1024))) (set! *camera-orbit-target* *atx*) (send-event *camera* 'change-state cam-free-floating 0) ) diff --git a/goal_src/pc/hud-classes-pc.gc b/goal_src/pc/hud-classes-pc.gc index 705886d53e..b7f6009196 100644 --- a/goal_src/pc/hud-classes-pc.gc +++ b/goal_src/pc/hud-classes-pc.gc @@ -85,7 +85,7 @@ `(when (< (-> ,obj nb-of-icons) 6) (let ((icon-idx (-> ,obj nb-of-icons))) (set! (-> ,obj icons icon-idx) (new 'static 'hud-icon)) - (let ((new-manipy (process-new manipy manipy-init (new 'static 'vector :w 1.0) ,entity ,skel #f + (let ((new-manipy (manipy-spawn (new 'static 'vector :w 1.0) ,entity ,skel #f :to ,obj :stack *scratch-memory-top* ))) @@ -118,7 +118,7 @@ &key z &key (entity #f) ) - `(let ((new-manipy (process-new manipy manipy-init (new 'static 'vector :w 1.0) ,entity ,skel #f + `(let ((new-manipy (manipy-spawn (new 'static 'vector :w 1.0) ,entity ,skel #f :to ,obj :stack *scratch-memory-top* ))) @@ -369,7 +369,7 @@ (deactivate-hud-pc) - (set! (-> *hud-parts-pc* battle-enemy) (process-new hud-battle-enemy hud-init-by-other 0 + (set! (-> *hud-parts-pc* battle-enemy) (process-spawn hud-battle-enemy :init hud-init-by-other 0 :from *pc-dead-pool* :to tree :stack-size PC_PROC_DEFAULT_STACK_SIZE)) 0) diff --git a/goal_src/pc/pckernel-h.gc b/goal_src/pc/pckernel-h.gc index 6ad7e72c52..97792713ba 100644 --- a/goal_src/pc/pckernel-h.gc +++ b/goal_src/pc/pckernel-h.gc @@ -29,7 +29,7 @@ (defglobalconstant PC_KERNEL_VERSION_BUILD #x0001) -(defglobalconstant PC_KERNEL_VERSION_REVISION #x0004) +(defglobalconstant PC_KERNEL_VERSION_REVISION #x0005) (defglobalconstant PC_KERNEL_VERSION_MINOR #x0003) (defglobalconstant PC_KERNEL_VERSION_MAJOR #x0001) @@ -275,6 +275,8 @@ (third-camera-v-inverted? symbol) ;; third-person vertical camera inverted (money-starburst? symbol) ;; add a starburst to the money (extra-hud? symbol) ;; extra hud elements. + (music-fadeout? symbol) ;; music fadeout toggle. + (music-fadein? symbol) ;; music fadein toggle. (bingo pc-bingo-info :inline) ;; bingo integration. does nothing for now. @@ -419,6 +421,10 @@ (set! (-> obj audio-pan-override) 0.0) (set! (-> obj audio-volume-override) 1.0) (set! (-> obj audio-channel-nb) PS2_VOICE_AMOUNT) + + (set! (-> obj music-fadeout?) #t) + (set! (-> obj music-fadein?) #t) + (none)) (defmethod reset-input pc-settings ((obj pc-settings)) diff --git a/goal_src/pc/pckernel.gc b/goal_src/pc/pckernel.gc index 2974977431..017e2a0be1 100644 --- a/goal_src/pc/pckernel.gc +++ b/goal_src/pc/pckernel.gc @@ -33,6 +33,7 @@ (define *collision-wireframe* #f) (define *collision-mode* (pc-collision-mode mode)) +;; todo (defenum pc-pat-skip-hack :bitfield #t (noentity 0) @@ -166,6 +167,11 @@ ) (pc-sound-set-flava-hack (-> obj flava-hack)) + (let ((fade-hack 0)) + (unless (-> obj music-fadein?) (logior! fade-hack 1)) + (unless (-> obj music-fadeout?) (logior! fade-hack 2)) + (pc-sound-set-fade-hack fade-hack) + ) (none)) @@ -464,7 +470,7 @@ (return (logtest? (-> *pc-settings* secrets music i flava-mask) (ash 1 flava-idx))))) #f) -(defun print-music-log ((out object)) +(defun-debug print-music-log ((out object)) "prints the *pc-settings* music log." (dotimes (i PC_MUSIC_LOG_LENGTH) @@ -710,6 +716,8 @@ (("third-camera-v-inverted?") (set! (-> obj third-camera-v-inverted?) (file-stream-read-symbol file))) (("money-starburst?") (set! (-> obj money-starburst?) (file-stream-read-symbol file))) (("extra-hud?") (set! (-> obj extra-hud?) (file-stream-read-symbol file))) + (("music-fadein?") (set! (-> obj music-fadein?) (file-stream-read-symbol file))) + (("music-fadeout?") (set! (-> obj music-fadeout?) (file-stream-read-symbol file))) (("scenes-seen") (dotimes (i PC_SPOOL_LOG_LENGTH) (set! (-> obj scenes-seen i) (file-stream-read-int file)) @@ -806,7 +814,6 @@ (format file " (stick-deadzone ~f)~%" (-> obj stick-deadzone)) - (format file " (extra-hud? ~A)~%" (-> obj extra-hud?)) (format file " (ps2-read-speed? ~A)~%" (-> obj ps2-read-speed?)) (format file " (ps2-parts? ~A)~%" (-> obj ps2-parts?)) (format file " (ps2-music? ~A)~%" (-> obj ps2-music?)) @@ -823,6 +830,9 @@ (format file " (third-camera-v-inverted? ~A)~%" (-> obj third-camera-v-inverted?)) (format file " (money-starburst? ~A)~%" (-> obj money-starburst?)) (format file " (force-actors? ~A)~%" (-> obj force-actors?)) + (format file " (extra-hud? ~A)~%" (-> obj extra-hud?)) + (format file " (music-fadein? ~A)~%" (-> obj music-fadein?)) + (format file " (music-fadeout? ~A)~%" (-> obj music-fadeout?)) (format file " (subtitles? ~A)~%" (-> obj subtitles?)) (format file " (hinttitles? ~A)~%" (-> obj hinttitles?)) (format file " (subtitle-language ~D)~%" (-> obj subtitle-language)) diff --git a/goal_src/pc/progress-pc.gc b/goal_src/pc/progress-pc.gc index 525498adc6..9dad72848e 100644 --- a/goal_src/pc/progress-pc.gc +++ b/goal_src/pc/progress-pc.gc @@ -165,6 +165,7 @@ (new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id hinttitles) :scale #t) (new 'static 'game-option :option-type (game-option-type language-subtitles) :name (game-text-id subtitles-language) :scale #t) (new 'static 'game-option :option-type (game-option-type speaker) :name (game-text-id subtitles-speaker) :scale #t) + ;(new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id music-fadein) :scale #t) (new 'static 'game-option :option-type (game-option-type button) :name (game-text-id back) :scale #t) ) ) @@ -601,6 +602,7 @@ (set! (-> *sound-options-pc* 5 value-to-modify) (&-> *pc-settings* hinttitles?)) (set! (-> *sound-options-pc* 6 value-to-modify) (&-> *progress-carousell* subtitle-backup)) (set! (-> *sound-options-pc* 7 value-to-modify) (&-> *progress-carousell* int-backup)) + ;(set! (-> *sound-options-pc* 8 value-to-modify) (&-> *pc-settings* music-fadein?)) (set! (-> *progress-carousell* aspect-native-choice) (-> *pc-settings* use-vis?)) ;; scroll stuff! diff --git a/goal_src/pc/subtitle.gc b/goal_src/pc/subtitle.gc index 81e75edc52..8ab76d980b 100644 --- a/goal_src/pc/subtitle.gc +++ b/goal_src/pc/subtitle.gc @@ -787,9 +787,8 @@ (subtitle-stop) ) - (set! *subtitle* (process-new subtitle subtitle-init-by-other - :from *pc-dead-pool* :to *display-pool* - :stack-size PC_PROC_DEFAULT_STACK_SIZE)) + (set! *subtitle* (process-spawn subtitle :from *pc-dead-pool* :to *display-pool* + :stack-size PC_PROC_DEFAULT_STACK_SIZE)) ) diff --git a/goal_src/pc_debug/font-encode-test.gc b/goal_src/pc_debug/font-encode-test.gc index a8403bd7d0..05809eef87 100644 --- a/goal_src/pc_debug/font-encode-test.gc +++ b/goal_src/pc_debug/font-encode-test.gc @@ -38,7 +38,7 @@ "start the encode test proc" (unless (process-by-name 'font-encode *active-pool*) - (process-new-function process :name 'font-encode + (process-spawn-function process :name 'font-encode (lambda :behavior process () (stack-size-set! (-> self main-thread) 768) diff --git a/goal_src/pc_debug/pc-pad-utils.gc b/goal_src/pc_debug/pc-pad-utils.gc index e69e798d45..8982f9020e 100644 --- a/goal_src/pc_debug/pc-pad-utils.gc +++ b/goal_src/pc_debug/pc-pad-utils.gc @@ -95,7 +95,7 @@ (if (not (handle->process (-> *pc-pad-proc-list* show))) (let ((procp - (process-new-function pc-pad-proc :name 'pc-pad-show + (process-spawn-function pc-pad-proc :name 'pc-pad-show (lambda :behavior pc-pad-proc () (stack-size-set! (-> self main-thread) 512) (loop @@ -128,8 +128,8 @@ (if (not (handle->process (-> *pc-pad-proc-list* input))) (let ((procp - (process-new pc-pad-proc :name 'pc-pad-input - (lambda :behavior pc-pad-proc ((pad-idx int)) + (process-spawn pc-pad-proc :name 'pc-pad-input + :init (lambda :behavior pc-pad-proc ((pad-idx int)) (set! (-> self pad-idx) pad-idx) (pc-pad-input-mode-set #t) (pc-pad-input-pad-set (-> self pad-idx)) diff --git a/scripts/update-goal-src.py b/scripts/update-goal-src.py index 41b1fdd1bf..c7acb8885e 100644 --- a/scripts/update-goal-src.py +++ b/scripts/update-goal-src.py @@ -21,7 +21,6 @@ throw_error = False # list, it will remind you such a file was touched by making a root file # that will be picked up by git to shame you files_with_modifications = [ - "target-util", "ambient", "viewer", "sunken-obs", @@ -31,16 +30,19 @@ files_with_modifications = [ "default-menu", "collide-shape", "cam-states", - "helix-water", + "misty-obs", "lavatube-energy", - "sage-finalboss-FIN", + "sage-finalboss", "progress", "entity", "ogreboss", "navigate", "ice-cube", "snow-bunny", - "citadel-sages" + "citadel-sages", + "racer-part", + "collectables-part", + "collectables" ] for file in files: diff --git a/test/decompiler/reference/decompiler-macros.gc b/test/decompiler/reference/decompiler-macros.gc index 2bc68052f4..8101f675cf 100644 --- a/test/decompiler/reference/decompiler-macros.gc +++ b/test/decompiler/reference/decompiler-macros.gc @@ -953,6 +953,11 @@ `(set! ,place (seekl ,place ,target ,rate)) ) +(defmacro rand-float-gen (&key (gen *random-generator*)) + "Generate a float from [0, 1)" + `(+ -1.0 (the-as float (logior #x3f800000 (/ (rand-uint31-gen ,gen) 256)))) + ) + ;; gsound-h (defmacro sound-vol (vol) "convert to sound volume units" @@ -1119,5 +1124,73 @@ `(ja :eval? #f :chan ,chan :group! ,group! :num! ,num! :param0 ,param0 :param1 ,param1 :num-func ,num-func :frame-num ,frame-num :frame-interp ,frame-interp :dist ,dist) ) +;; gkernel-h + +(defconstant *scratch-memory-top* (the pointer #x70004000)) +(defconstant DPROCESS_STACK_SIZE #x8000) + +;; gkernel + +(defconstant *kernel-dram-stack* (&+ *dram-stack* DPROCESS_STACK_SIZE)) + +;; gstate +(defmacro process-spawn-function (proc-type func &key (from *default-dead-pool*) &key (to *default-pool*) &key (name #f) &key (stack-size #x4000) &key (stack *scratch-memory-top*) &rest args) + "Start a new process that runs a function on its main thread. + Returns a pointer to the new process (or #f? on error)." + + (with-gensyms (new-proc) + `(let ((,new-proc (the-as ,proc-type (get-process ,from ,proc-type ,stack-size)))) + (when ,new-proc + ((method-of-type ,proc-type activate) ,new-proc ,to ,(if name name `(quote ,proc-type)) ,stack) + (run-next-time-in-process ,new-proc ,func ,@args) + (the (pointer ,proc-type) (-> ,new-proc ppointer)) + ) + ) + ) + ) + +(defmacro process-spawn (proc-type &key (init #f) &key (from *default-dead-pool*) &key (to *default-pool*) &key (name #f) &key (stack-size #x4000) &key (stack *scratch-memory-top*) &rest args) + "Start a new process and run an init function on it. + Returns a pointer to the new process, or #f (or is it 0?) if something goes wrong." + + (with-gensyms (new-proc) + `(let ((,new-proc (the-as ,proc-type (get-process ,from ,proc-type ,stack-size)))) + (when ,new-proc + ((method-of-type ,proc-type activate) ,new-proc ,to ,(if name name `(quote ,proc-type)) ,stack) + (run-now-in-process ,new-proc ,(if init init (string->symbol (fmt #f "{}-init-by-other" proc-type))) ,@args) + (the (pointer ,proc-type) (-> ,new-proc ppointer)) + ) + ) + ) + ) + +;; generic-obs + +(defmacro manipy-spawn (trans entity skel arg &key (from *default-dead-pool*) &key (to *default-pool*) &key (name #f) &key (stack-size #x4000) &key (stack *scratch-memory-top*)) + `(process-spawn manipy :init manipy-init ,trans ,entity ,skel ,arg :from ,from :to ,to :name ,name :stack-size ,stack-size :stack ,stack) + ) + +;; game-h +(defmacro static-attack-info (&key (mask ()) &rest args) + (when (!= (length args) 1) + (error "static-attack-info can only have 1 arg")) + (let ((mask-actual mask) + (arg (car args)) + ) + (when (not (null? (assoc 'shove-up arg))) (cons! mask-actual 'shove-up)) + (when (not (null? (assoc 'shove-back arg))) (cons! mask-actual 'shove-back)) + (when (not (null? (assoc 'mode arg))) (cons! mask-actual 'mode)) + (when (not (null? (assoc 'vector arg))) (cons! mask-actual 'vector)) + (when (not (null? (assoc 'angle arg))) (cons! mask-actual 'angle)) + (when (not (null? (assoc 'control arg))) (cons! mask-actual 'control)) + `(let ((atk (new 'static 'attack-info :mask (attack-mask ,@mask-actual)))) + ,@(apply (lambda (x) (if (eq? (car x) 'vector) + `(vector-copy! (-> atk ,(car x)) ,(cadr x)) + `(set! (-> atk ,(car x)) ,(cadr x)) + )) arg) + atk) + ) + ) + diff --git a/test/decompiler/reference/engine/ambient/ambient_REF.gc b/test/decompiler/reference/engine/ambient/ambient_REF.gc index ffac6afe40..3aab5d8aa8 100644 --- a/test/decompiler/reference/engine/ambient/ambient_REF.gc +++ b/test/decompiler/reference/engine/ambient/ambient_REF.gc @@ -265,15 +265,7 @@ (let ((s3-1 (level-hint-task-process arg2 (the-as uint128 arg0) arg1))) (when (!= s3-1 -1) (kill-current-level-hint '() '() 'exit) - (let ((s2-0 (get-process *default-dead-pool* level-hint #x4000))) - (when s2-0 - (let ((t9-4 (method-of-type level-hint activate))) - (t9-4 (the-as level-hint s2-0) arg3 'level-hint (the-as pointer #x70004000)) - ) - (run-now-in-process s2-0 level-hint-init-by-other s3-1 arg1 arg2) - (-> s2-0 ppointer) - ) - ) + (process-spawn level-hint s3-1 arg1 arg2 :to arg3) ) ) 0 @@ -289,15 +281,7 @@ ) ) (the-as object (and (not *hint-semaphore*) - (let ((s2-0 (get-process *default-dead-pool* level-hint #x4000))) - (when s2-0 - (let ((t9-2 (method-of-type level-hint activate))) - (t9-2 (the-as level-hint s2-0) arg2 'level-hint (the-as pointer #x70004000)) - ) - (run-now-in-process s2-0 ambient-hint-init-by-other arg0 arg1 arg3) - (-> s2-0 ppointer) - ) - ) + (process-spawn level-hint :init ambient-hint-init-by-other arg0 arg1 arg3 :to arg2) ) ) ) @@ -424,8 +408,7 @@ ;; failed to figure out what this is: (defstate level-hint-normal (level-hint) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'exit) @@ -438,15 +421,13 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (if (= (ppointer->process *hint-semaphore*) self) (set! *hint-semaphore* (the-as (pointer level-hint) #f)) ) (none) ) - :code - (behavior () + :code (behavior () (cond ((= (-> self text-id-to-display) (game-text-id zero)) (if *debug-segment* @@ -487,8 +468,7 @@ ;; failed to figure out what this is: (defstate level-hint-sidekick (level-hint) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'exit) @@ -506,8 +486,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (if (nonzero? (-> self sound-id)) (sound-stop (-> self sound-id)) ) @@ -520,8 +499,7 @@ (send-event (handle->process (-> self voicebox)) 'die) (none) ) - :code - (behavior ((arg0 string)) + :code (behavior ((arg0 string)) (when (and (-> *setting-control* current play-hints) (< 0.0 (-> *setting-control* current dialog-volume))) (case (-> self mode) (('voicebox) @@ -570,10 +548,8 @@ ;; failed to figure out what this is: (defstate level-hint-ambient-sound (level-hint) - :event - (-> level-hint-sidekick event) - :exit - (behavior () + :event (-> level-hint-sidekick event) + :exit (behavior () (if (nonzero? (-> self sound-id)) (sound-stop (-> self sound-id)) ) @@ -584,8 +560,7 @@ ) (none) ) - :code - (behavior ((arg0 string)) + :code (behavior ((arg0 string)) (while (not *sound-player-enable*) (suspend) ) @@ -635,10 +610,8 @@ ;; failed to figure out what this is: (defstate level-hint-error (level-hint) - :event - (-> level-hint-normal event) - :code - (behavior ((arg0 string) (arg1 string)) + :event (-> level-hint-normal event) + :code (behavior ((arg0 string) (arg1 string)) (clear-pending-settings-from-process *setting-control* self 'hint) (let ((s4-0 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) s4-0) (seconds 1)) @@ -670,8 +643,7 @@ ;; failed to figure out what this is: (defstate level-hint-exit (level-hint) - :code - (behavior () + :code (behavior () (if (= (ppointer->process *hint-semaphore*) self) (set! *hint-semaphore* (the-as (pointer level-hint) #f)) ) @@ -738,15 +710,7 @@ ) ((!= s5-0 -1) (kill-current-level-hint '() '() 'exit) - (let ((s4-0 (get-process *default-dead-pool* level-hint #x4000))) - (when s4-0 - (let ((t9-8 (method-of-type level-hint activate))) - (t9-8 (the-as level-hint s4-0) pp 'level-hint (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 level-hint-init-by-other s5-0 #f (-> arg0 ambient)) - (-> s4-0 ppointer) - ) - ) + (process-spawn level-hint s5-0 #f (-> arg0 ambient) :to pp) ) ) ) diff --git a/test/decompiler/reference/engine/ambient/mood-tables_REF.gc b/test/decompiler/reference/engine/ambient/mood-tables_REF.gc index b2c3e44678..7b9e3f4ade 100644 --- a/test/decompiler/reference/engine/ambient/mood-tables_REF.gc +++ b/test/decompiler/reference/engine/ambient/mood-tables_REF.gc @@ -320,8 +320,7 @@ ;; definition for symbol *default-interp-table*, type sky-color-day (define *default-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 + :hour (new 'static 'inline-array sky-color-hour 24 (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.2 :morph-end 0.4) (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.4 :morph-end 0.6) (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.6 :morph-end 0.8) @@ -353,8 +352,7 @@ ;; definition for symbol *village1-palette-interp-table*, type sky-color-day (define *village1-palette-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 + :hour (new 'static 'inline-array sky-color-hour 24 (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.2 :morph-end 0.4) (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.4 :morph-end 0.6) (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.6 :morph-end 0.8) @@ -386,8 +384,7 @@ ;; definition for symbol *misty-palette-interp-table*, type sky-color-day (define *misty-palette-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 + :hour (new 'static 'inline-array sky-color-hour 24 (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.04 :morph-end 0.08) (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.08 :morph-end 0.12) (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.12 :morph-end 0.16) @@ -419,8 +416,7 @@ ;; definition for symbol *firecanyon-palette-interp-table*, type sky-color-day (define *firecanyon-palette-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 + :hour (new 'static 'inline-array sky-color-hour 24 (new 'static 'sky-color-hour :snapshot1 3 :morph-end 0.08) (new 'static 'sky-color-hour :snapshot1 3 :morph-start 0.08 :morph-end 0.12) (new 'static 'sky-color-hour :snapshot1 3 :morph-start 0.12 :morph-end 0.16) @@ -452,8 +448,7 @@ ;; definition for symbol *rolling-palette-interp-table*, type sky-color-day (define *rolling-palette-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 + :hour (new 'static 'inline-array sky-color-hour 24 (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-start 0.2 :morph-end 0.4) (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-start 0.4 :morph-end 0.6) (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-start 0.6 :morph-end 0.8) @@ -485,8 +480,7 @@ ;; definition for symbol *village2-sky-texture-table*, type sky-color-day (define *village2-sky-texture-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 + :hour (new 'static 'inline-array sky-color-hour 24 (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 4 :morph-start 0.2 :morph-end 0.4) (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 4 :morph-start 0.4 :morph-end 0.6) (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 4 :morph-start 0.6 :morph-end 0.8) @@ -518,8 +512,7 @@ ;; definition for symbol *finalboss-interp-table*, type sky-color-day (define *finalboss-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 + :hour (new 'static 'inline-array sky-color-hour 24 (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.2 :morph-end 0.4) (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.4 :morph-end 0.6) (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.6 :morph-end 0.8) @@ -552,58 +545,43 @@ (define *village1-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 4984832.0 :z 255.0 :w 51.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 4984832.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 3690496.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 3690496.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -614,91 +592,60 @@ (define *village1-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) - :lgt-color - (new 'static 'vector :x 1.558 :y 1.454 :z 0.228 :w 1.0) + :direction (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) + :lgt-color (new 'static 'vector :x 1.558 :y 1.454 :z 0.228 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.4 :y 0.266 :z 0.6 :w 1.0) - :shadow - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) + :amb-color (new 'static 'vector :x 0.4 :y 0.266 :z 0.6 :w 1.0) + :shadow (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) - :lgt-color - (new 'static 'vector :x 1.632 :y 1.586 :z 1.428 :w 1.0) + :direction (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + :lgt-color (new 'static 'vector :x 1.632 :y 1.586 :z 1.428 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.387 :y 0.387 :z 0.475 :w 1.0) - :shadow - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + :amb-color (new 'static 'vector :x 0.387 :y 0.387 :z 0.475 :w 1.0) + :shadow (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25881904 :y 0.9659258) - :lgt-color - (new 'static 'vector :x 1.644 :y 1.598 :z 1.438 :w 1.0) + :direction (new 'static 'vector :x -0.25881904 :y 0.9659258) + :lgt-color (new 'static 'vector :x 1.644 :y 1.598 :z 1.438 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.362 :y 0.362 :z 0.425 :w 1.0) - :shadow - (new 'static 'vector :x -0.25881904 :y 0.9659258) + :amb-color (new 'static 'vector :x 0.362 :y 0.362 :z 0.425 :w 1.0) + :shadow (new 'static 'vector :x -0.25881904 :y 0.9659258) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z -0.70710677) - :lgt-color - (new 'static 'vector :x 1.632 :y 1.586 :z 1.428 :w 1.0) + :direction (new 'static 'vector :x -0.1830127 :y 0.6830127 :z -0.70710677) + :lgt-color (new 'static 'vector :x 1.632 :y 1.586 :z 1.428 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.387 :y 0.387 :z 0.475 :w 1.0) - :shadow - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z -0.70710677) + :amb-color (new 'static 'vector :x 0.387 :y 0.387 :z 0.475 :w 1.0) + :shadow (new 'static 'vector :x -0.1830127 :y 0.6830127 :z -0.70710677) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) - :lgt-color - (new 'static 'vector :x 1.646 :y 1.118 :w 1.0) + :direction (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) + :lgt-color (new 'static 'vector :x 1.646 :y 1.118 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.32 :y 0.35 :z 0.6 :w 1.0) - :shadow - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) + :amb-color (new 'static 'vector :x 0.32 :y 0.35 :z 0.6 :w 1.0) + :shadow (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) ) (new 'static 'mood-lights :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.25 :y 0.5 :z 1.0 :w 1.0) + :lgt-color (new 'static 'vector :x 0.25 :y 0.5 :z 1.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.31 :y 0.29 :z 0.35 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) + :amb-color (new 'static 'vector :x 0.31 :y 0.29 :z 0.35 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) - :lgt-color - (new 'static 'vector :x 0.192 :y 0.256 :z 0.961 :w 1.0) + :direction (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) + :lgt-color (new 'static 'vector :x 0.192 :y 0.256 :z 0.961 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.383 :y 0.439 :z 0.7 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) + :amb-color (new 'static 'vector :x 0.383 :y 0.439 :z 0.7 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.354 :y 0.866 :z 0.354) - :lgt-color - (new 'static 'vector :x 0.0495 :y 0.62075 :z 0.326 :w 1.0) + :direction (new 'static 'vector :x 0.354 :y 0.866 :z 0.354) + :lgt-color (new 'static 'vector :x 0.0495 :y 0.62075 :z 0.326 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.25 :y 0.439 :z 0.7 :w 1.0) - :shadow - (new 'static 'vector :x 0.5393 :y 0.7652 :z -0.3514) + :amb-color (new 'static 'vector :x 0.25 :y 0.439 :z 0.7 :w 1.0) + :shadow (new 'static 'vector :x 0.5393 :y 0.7652 :z -0.3514) ) ) ) @@ -732,52 +679,36 @@ (define *village1-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 96.0 :y 96.0 :z 196.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 96.0 :y 96.0 :z 196.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 150.0 :z 196.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 64.0 :y 150.0 :z 196.0 :w 255.0) ) ) ) @@ -787,58 +718,43 @@ (define *training-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 51.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -849,59 +765,43 @@ (define *snow-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 210.0 :y 183.0 :z 160.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 210.0 :y 183.0 :z 160.0 :w 128.0) + :fog-dists (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 190.25 :y 198.0 :z 195.25 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 190.25 :y 198.0 :z 195.25 :w 128.0) + :fog-dists (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.5 :y 203.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 180.5 :y 203.0 :z 220.0 :w 128.0) + :fog-dists (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 192.75 :y 190.5 :z 197.75 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 192.75 :y 190.5 :z 197.75 :w 128.0) + :fog-dists (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 205.0 :y 178.0 :z 175.5 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 205.0 :y 178.0 :z 175.5 :w 128.0) + :fog-dists (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 48.0 :y 44.0 :z 64.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 48.0 :y 44.0 :z 64.0 :w 128.0) + :fog-dists (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 8.0 :y 16.0 :z 32.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 8.0 :y 16.0 :z 32.0 :w 128.0) + :fog-dists (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 16.0 :y 64.0 :z 60.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 16.0 :y 64.0 :z 60.0 :w 128.0) + :fog-dists (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -912,47 +812,32 @@ (define *snow-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.067 :y 0.25 :z 0.966) - :lgt-color - (new 'static 'vector :x 0.943 :y 0.88 :z 0.137 :w 1.0) + :direction (new 'static 'vector :x -0.067 :y 0.25 :z 0.966) + :lgt-color (new 'static 'vector :x 0.943 :y 0.88 :z 0.137 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.449 :y 0.35 :z 0.599 :w 1.0) - :shadow - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) + :amb-color (new 'static 'vector :x 0.449 :y 0.35 :z 0.599 :w 1.0) + :shadow (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.259 :y 0.966) - :lgt-color - (new 'static 'vector :x 0.66 :y 0.436 :z 0.291 :w 1.0) + :direction (new 'static 'vector :x -0.259 :y 0.966) + :lgt-color (new 'static 'vector :x 0.66 :y 0.436 :z 0.291 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.358 :y 0.575 :z 0.716 :w 1.0) - :shadow - (new 'static 'vector :x -0.25881904 :y 0.9659258) + :amb-color (new 'static 'vector :x 0.358 :y 0.575 :z 0.716 :w 1.0) + :shadow (new 'static 'vector :x -0.25881904 :y 0.9659258) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.067 :y 0.25 :z -0.966) - :lgt-color - (new 'static 'vector :x 1.056 :y 0.747 :w 1.0) + :direction (new 'static 'vector :x -0.067 :y 0.25 :z -0.966) + :lgt-color (new 'static 'vector :x 1.056 :y 0.747 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.383 :y 0.366 :z 0.599 :w 1.0) - :shadow - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) + :amb-color (new 'static 'vector :x 0.383 :y 0.366 :z 0.599 :w 1.0) + :shadow (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) ) (new 'static 'mood-lights :direction (new 'static 'vector :x 0.866 :y 0.5) - :lgt-color - (new 'static 'vector :x 0.067 :y 0.089 :z 0.333 :w 1.0) + :lgt-color (new 'static 'vector :x 0.067 :y 0.089 :z 0.333 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.304 :y 0.409 :z 0.76 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) + :amb-color (new 'static 'vector :x 0.304 :y 0.409 :z 0.76 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) ) (new 'static 'mood-lights) (new 'static 'mood-lights) @@ -1085,46 +970,36 @@ (define *snow-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 192.0 :y 176.5 :z 96.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color (new 'static 'vector :x 192.0 :y 176.5 :z 96.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 176.0 :z 192.0 :w 255.0) + :env-color (new 'static 'vector :x 128.0 :y 176.0 :z 192.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 180.0 :z 194.0 :w 255.0) + :env-color (new 'static 'vector :x 128.0 :y 180.0 :z 194.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 176.0 :z 192.0 :w 255.0) + :env-color (new 'static 'vector :x 128.0 :y 176.0 :z 192.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 192.0 :y 176.5 :z 96.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color (new 'static 'vector :x 192.0 :y 176.5 :z 96.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 80.0 :y 80.0 :z 173.0 :w 255.0) + :env-color (new 'static 'vector :x 80.0 :y 80.0 :z 173.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) + :env-color (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 107.0 :z 173.0 :w 255.0) + :env-color (new 'static 'vector :x 64.0 :y 107.0 :z 173.0 :w 255.0) ) ) ) @@ -1135,8 +1010,7 @@ (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 98304.0 :y 3072000.0 :z 255.0 :w 150.0) + :fog-dists (new 'static 'vector :x 98304.0 :y 3072000.0 :z 255.0 :w 150.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog) @@ -1155,11 +1029,9 @@ (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.287 :y 0.283 :z 0.4 :w 1.0) + :lgt-color (new 'static 'vector :x 0.287 :y 0.283 :z 0.4 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.14125 :y 0.1875 :z 0.375 :w 1.0) + :amb-color (new 'static 'vector :x 0.14125 :y 0.1875 :z 0.375 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights) @@ -1177,10 +1049,8 @@ (define *jungleb-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 48.0 :y 60.0 :z 96.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 48.0 :y 60.0 :z 96.0 :w 255.0) ) (new 'static 'mood-sun) (new 'static 'mood-sun) @@ -1197,10 +1067,8 @@ (define *maincave-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 96.0 :z 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 434176.0 :y 1048576.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :y 96.0 :z 96.0 :w 128.0) + :fog-dists (new 'static 'vector :x 434176.0 :y 1048576.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog) @@ -1219,11 +1087,9 @@ (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.25 :y 0.6 :z 0.75 :w 1.0) + :lgt-color (new 'static 'vector :x 0.25 :y 0.6 :z 0.75 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.15 :y 0.2 :z 0.25 :w 1.0) + :amb-color (new 'static 'vector :x 0.15 :y 0.2 :z 0.25 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights) @@ -1241,10 +1107,8 @@ (define *maincave-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 255.0 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 128.0 :y 255.0 :z 255.0 :w 255.0) ) (new 'static 'mood-sun) (new 'static 'mood-sun) @@ -1262,8 +1126,7 @@ (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2048000.0 :z 255.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2048000.0 :z 255.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog) @@ -1282,8 +1145,7 @@ (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1024000.0 :z 255.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1024000.0 :z 255.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog) @@ -1302,11 +1164,9 @@ (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 0.3 :y 0.4 :z 0.5 :w 1.0) + :lgt-color (new 'static 'vector :x 0.3 :y 0.4 :z 0.5 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.3 :y 0.4 :z 0.5 :w 1.0) + :amb-color (new 'static 'vector :x 0.3 :y 0.4 :z 0.5 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights) @@ -1324,10 +1184,8 @@ (define *darkcave-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 127.5 :y 255.0 :z 127.5 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 127.5 :y 255.0 :z 127.5 :w 255.0) ) (new 'static 'mood-sun) (new 'static 'mood-sun) @@ -1344,59 +1202,43 @@ (define *misty-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :fog-color (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 128.0) + :fog-dists (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 132.0 :y 140.0 :z 227.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :fog-color (new 'static 'vector :x 132.0 :y 140.0 :z 227.0 :w 128.0) + :fog-dists (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 132.0 :y 140.0 :z 243.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :fog-color (new 'static 'vector :x 132.0 :y 140.0 :z 243.0 :w 128.0) + :fog-dists (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 132.0 :y 140.0 :z 241.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :fog-color (new 'static 'vector :x 132.0 :y 140.0 :z 241.0 :w 128.0) + :fog-dists (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :fog-color (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 128.0) + :fog-dists (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 64.0 :z 152.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :fog-color (new 'static 'vector :y 64.0 :z 152.0 :w 128.0) + :fog-dists (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 32.0 :z 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :fog-color (new 'static 'vector :y 32.0 :z 96.0 :w 128.0) + :fog-dists (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 17.0 :y 119.0 :z 143.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :fog-color (new 'static 'vector :x 17.0 :y 119.0 :z 143.0 :w 128.0) + :fog-dists (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -1407,26 +1249,18 @@ (define *misty-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.877 :y 0.877 :z 0.877 :w 1.0) + :direction (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.877 :y 0.877 :z 0.877 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.375 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.374 :y 0.374 :z 0.375 :w 1.0) + :shadow (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.334 :y 0.348 :z 0.64 :w 1.0) + :direction (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.334 :y 0.348 :z 0.64 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.428 :y 0.44 :z 0.55 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.428 :y 0.44 :z 0.55 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) ) (new 'static 'mood-lights) (new 'static 'mood-lights) @@ -1448,52 +1282,36 @@ (define *misty-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 140.0 :z 227.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 132.0 :y 140.0 :z 227.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 140.0 :z 243.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 132.0 :y 140.0 :z 243.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 140.0 :z 241.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 132.0 :y 140.0 :z 241.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 32.0 :y 48.0 :z 160.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 32.0 :y 48.0 :z 160.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 32.0 :y 48.0 :z 150.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 32.0 :y 48.0 :z 150.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 32.0 :y 100.0 :z 160.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 32.0 :y 100.0 :z 160.0 :w 255.0) ) ) ) @@ -1503,59 +1321,43 @@ (define *village2-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 75.0 :y 82.0 :z 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 75.0 :y 82.0 :z 96.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 100.0 :y 102.0 :z 116.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 102.0) + :fog-color (new 'static 'vector :x 100.0 :y 102.0 :z 116.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 102.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 112.0 :y 114.0 :z 132.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 112.0 :y 114.0 :z 132.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 100.0 :y 102.0 :z 116.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 100.0 :y 102.0 :z 116.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 75.0 :y 82.0 :z 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 75.0 :y 82.0 :z 96.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 27.5 :y 40.0 :z 52.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 27.5 :y 40.0 :z 52.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 10.0 :y 23.0 :z 28.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 10.0 :y 23.0 :z 28.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 5.0 :y 35.0 :z 35.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :fog-color (new 'static 'vector :x 5.0 :y 35.0 :z 35.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -1566,46 +1368,32 @@ (define *village2-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) + :direction (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) + :shadow (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) + :direction (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :direction (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + :lgt-color (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + :shadow (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :direction (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + :lgt-color (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + :shadow (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) ) (new 'static 'mood-lights) (new 'static 'mood-lights) @@ -1630,45 +1418,32 @@ ;; definition for symbol *village2-mood-sun-table*, type mood-sun-table (define *village2-mood-sun-table* (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 + :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 133.0 :z 194.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 128.0 :y 133.0 :z 194.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :y 32.0 :z 76.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :y 32.0 :z 76.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 17.0 :y 76.0 :z 96.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 17.0 :y 76.0 :z 96.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 131.0 :z 160.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 132.0 :y 131.0 :z 160.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 126.0 :z 192.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 128.0 :y 126.0 :z 192.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 153.0 :y 141.0 :z 192.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 153.0 :y 141.0 :z 192.0 :w 255.0) ) ) ) @@ -1678,59 +1453,43 @@ (define *swamp-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 22.0 :y 89.0 :z 101.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 22.0 :y 89.0 :z 101.0 :w 128.0) + :fog-dists (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 32.0 :y 105.0 :z 116.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 32.0 :y 105.0 :z 116.0 :w 128.0) + :fog-dists (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 36.0 :y 118.0 :z 130.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 36.0 :y 118.0 :z 130.0 :w 128.0) + :fog-dists (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 32.0 :y 105.0 :z 116.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 32.0 :y 105.0 :z 116.0 :w 128.0) + :fog-dists (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 22.0 :y 89.0 :z 101.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 22.0 :y 89.0 :z 101.0 :w 128.0) + :fog-dists (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 20.0 :y 60.0 :z 70.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 20.0 :y 60.0 :z 70.0 :w 128.0) + :fog-dists (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 12.0 :y 42.0 :z 60.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 12.0 :y 42.0 :z 60.0 :w 128.0) + :fog-dists (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 17.0 :y 76.0 :z 86.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 17.0 :y 76.0 :z 86.0 :w 128.0) + :fog-dists (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -1741,46 +1500,32 @@ (define *swamp-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.825 :y 0.825 :z 0.825 :w 1.0) + :direction (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.825 :y 0.825 :z 0.825 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) + :shadow (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.173 :y 0.259 :z 0.519 :w 1.0) + :direction (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.173 :y 0.259 :z 0.519 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.412 :y 0.463 :z 0.55 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.412 :y 0.463 :z 0.55 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.7094065 :y 0.57357645 :z -0.40957603) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :direction (new 'static 'vector :x 0.7094065 :y 0.57357645 :z -0.40957603) + :lgt-color (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x 0.7094065 :y 0.57357645 :z -0.40957603) + :shadow (new 'static 'vector :x 0.7094065 :y 0.57357645 :z -0.40957603) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.7094065 :y 0.57357645 :z 0.40957603) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :direction (new 'static 'vector :x -0.7094065 :y 0.57357645 :z 0.40957603) + :lgt-color (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x -0.7094065 :y 0.57357645 :z 0.40957603) + :shadow (new 'static 'vector :x -0.7094065 :y 0.57357645 :z 0.40957603) ) (new 'static 'mood-lights) (new 'static 'mood-lights) @@ -1805,45 +1550,32 @@ ;; definition for symbol *swamp-mood-sun-table*, type mood-sun-table (define *swamp-mood-sun-table* (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 + :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 24.0 :y 133.0 :z 243.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 24.0 :y 133.0 :z 243.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :y 32.0 :z 96.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :y 32.0 :z 96.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 17.0 :y 119.0 :z 143.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 17.0 :y 119.0 :z 143.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 131.0 :z 200.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 132.0 :y 131.0 :z 200.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 87.0 :y 126.0 :z 227.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 87.0 :y 126.0 :z 227.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 153.0 :y 141.0 :z 240.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 153.0 :y 141.0 :z 240.0 :w 255.0) ) ) ) @@ -1853,20 +1585,14 @@ (define *sunken-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 16.512 :y 26.112 :z 54.912 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1351680.0 :z 255.0) - :erase-color - (new 'static 'vector :x 16.512 :y 26.112 :z 54.912 :w 128.0) + :fog-color (new 'static 'vector :x 16.512 :y 26.112 :z 54.912 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1351680.0 :z 255.0) + :erase-color (new 'static 'vector :x 16.512 :y 26.112 :z 54.912 :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 4.096 :y 15.744 :z 54.912 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1351680.0 :z 255.0) - :erase-color - (new 'static 'vector :x 4.096 :y 15.744 :z 54.912 :w 128.0) + :fog-color (new 'static 'vector :x 4.096 :y 15.744 :z 54.912 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1351680.0 :z 255.0) + :erase-color (new 'static 'vector :x 4.096 :y 15.744 :z 54.912 :w 128.0) ) (new 'static 'mood-fog) (new 'static 'mood-fog) @@ -1883,20 +1609,16 @@ (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.265 :y 0.387 :z 0.509 :w 1.0) + :lgt-color (new 'static 'vector :x 0.265 :y 0.387 :z 0.509 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) + :amb-color (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.172 :y 0.185 :z 0.298 :w 1.0) + :lgt-color (new 'static 'vector :x 0.172 :y 0.185 :z 0.298 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) + :amb-color (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights) @@ -1919,16 +1641,12 @@ (define *sunken-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 127.5 :y 191.25 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 127.5 :y 191.25 :z 255.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 76.5 :y 102.0 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 76.5 :y 102.0 :z 255.0 :w 255.0) ) (new 'static 'mood-sun) (new 'static 'mood-sun) @@ -1944,59 +1662,43 @@ (define *rolling-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 42.0 :y 50.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 42.0 :y 50.0 :z 68.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 94.0 :y 106.0 :z 126.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 94.0 :y 106.0 :z 126.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 104.0 :y 116.0 :z 136.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 104.0 :y 116.0 :z 136.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 94.0 :y 106.0 :z 126.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 94.0 :y 106.0 :z 126.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 42.0 :y 50.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 42.0 :y 50.0 :z 68.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 17.0 :y 26.0 :z 43.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 17.0 :y 26.0 :z 43.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -2007,48 +1709,32 @@ (define *rolling-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) - :lgt-color - (new 'static 'vector :x 0.922 :y 0.905 :z 0.873 :w 1.0) + :direction (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + :lgt-color (new 'static 'vector :x 0.922 :y 0.905 :z 0.873 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) - :shadow - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + :amb-color (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) + :shadow (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) - :lgt-color - (new 'static 'vector :x 0.914 :y 0.898 :z 0.866 :w 1.0) + :direction (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) + :lgt-color (new 'static 'vector :x 0.914 :y 0.898 :z 0.866 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) - :shadow - (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) + :amb-color (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) + :shadow (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.09 :y 0.135 :z 0.225 :w 1.0) + :direction (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.09 :y 0.135 :z 0.225 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) - :lgt-color - (new 'static 'vector :x 0.0464 :y 0.1344 :z 0.1254 :w 1.0) + :direction (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) + :lgt-color (new 'static 'vector :x 0.0464 :y 0.1344 :z 0.1254 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) - :shadow - (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) + :amb-color (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) + :shadow (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) ) (new 'static 'mood-lights) (new 'static 'mood-lights) @@ -2073,45 +1759,32 @@ ;; definition for symbol *rolling-mood-sun-table*, type mood-sun-table (define *rolling-mood-sun-table* (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 + :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 133.0 :z 194.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 128.0 :y 133.0 :z 194.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :y 32.0 :z 76.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :y 32.0 :z 76.0 :w 255.0) ) (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 17.0 :y 76.0 :z 96.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 17.0 :y 76.0 :z 96.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 131.0 :z 160.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 132.0 :y 131.0 :z 160.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 126.0 :z 192.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 128.0 :y 126.0 :z 192.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 153.0 :y 141.0 :z 192.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 153.0 :y 141.0 :z 192.0 :w 255.0) ) ) ) @@ -2121,59 +1794,43 @@ (define *firecanyon-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :fog-color (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) + :fog-dists (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :fog-color (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) + :fog-dists (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :fog-color (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) + :fog-dists (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :fog-color (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) + :fog-dists (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :fog-color (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) + :fog-dists (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 140.0 :y 64.5 :z 60.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :fog-color (new 'static 'vector :x 140.0 :y 64.5 :z 60.0 :w 128.0) + :fog-dists (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 128.0 :y 44.0 :z 40.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :fog-color (new 'static 'vector :x 128.0 :y 44.0 :z 40.0 :w 128.0) + :fog-dists (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 140.0 :y 50.0 :z 60.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :fog-color (new 'static 'vector :x 140.0 :y 50.0 :z 60.0 :w 128.0) + :fog-dists (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -2184,53 +1841,36 @@ (define *firecanyon-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.0278 :y 0.6578 :z 0.7526) - :lgt-color - (new 'static 'vector :x 1.0979 :y 1.0567 :z 0.4653 :w 1.0) + :direction (new 'static 'vector :x -0.0278 :y 0.6578 :z 0.7526) + :lgt-color (new 'static 'vector :x 1.0979 :y 1.0567 :z 0.4653 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.574 :y 0.32 :z 0.487 :w 1.0) - :shadow - (new 'static 'vector :x -0.0278 :y 0.6578 :z 0.7526) + :amb-color (new 'static 'vector :x 0.574 :y 0.32 :z 0.487 :w 1.0) + :shadow (new 'static 'vector :x -0.0278 :y 0.6578 :z 0.7526) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25881904 :y 0.9659258) - :lgt-color - (new 'static 'vector :x 1.644 :y 1.598 :z 1.438 :w 128.0) + :direction (new 'static 'vector :x -0.25881904 :y 0.9659258) + :lgt-color (new 'static 'vector :x 1.644 :y 1.598 :z 1.438 :w 128.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.368 :y 0.368 :z 0.4 :w 1.0) - :shadow - (new 'static 'vector :x -0.25881904 :y 0.9659258) + :amb-color (new 'static 'vector :x 0.368 :y 0.368 :z 0.4 :w 1.0) + :shadow (new 'static 'vector :x -0.25881904 :y 0.9659258) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.0353 :y 0.8338 :z -0.5508 :w 1.0) - :lgt-color - (new 'static 'vector :x 1.1419 :y 0.8887 :z 0.3513 :w 1.0) + :direction (new 'static 'vector :x -0.0353 :y 0.8338 :z -0.5508 :w 1.0) + :lgt-color (new 'static 'vector :x 1.1419 :y 0.8887 :z 0.3513 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.347 :y 0.362 :z 0.487 :w 1.0) - :shadow - (new 'static 'vector :x -0.0353 :y 0.8338 :z -0.5508 :w 1.0) + :amb-color (new 'static 'vector :x 0.347 :y 0.362 :z 0.487 :w 1.0) + :shadow (new 'static 'vector :x -0.0353 :y 0.8338 :z -0.5508 :w 1.0) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365 :y 0.4829 :z 0.2588) - :lgt-color - (new 'static 'vector :x 0.1824 :y 0.2574 :z 0.6964 :w 1.0) + :direction (new 'static 'vector :x 0.8365 :y 0.4829 :z 0.2588) + :lgt-color (new 'static 'vector :x 0.1824 :y 0.2574 :z 0.6964 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.434 :y 0.423 :z 0.625 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365 :y 0.4829 :z 0.2588) + :amb-color (new 'static 'vector :x 0.434 :y 0.423 :z 0.625 :w 1.0) + :shadow (new 'static 'vector :x 0.8365 :y 0.4829 :z 0.2588) ) (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :lgt-color (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :shadow (new 'static 'vector :y -1.0) ) @@ -2257,52 +1897,36 @@ (define *firecanyon-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 200.0 :y 200.0 :z 128.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 200.0 :y 200.0 :z 128.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 200.0 :y 200.0 :z 200.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 200.0 :y 200.0 :z 200.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 200.0 :y 200.0 :z 200.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 200.0 :y 200.0 :z 200.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 96.0 :y 96.0 :z 150.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 96.0 :y 96.0 :z 150.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 96.0 :y 200.0 :z 150.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 96.0 :y 200.0 :z 150.0 :w 255.0) ) ) ) @@ -2312,59 +1936,43 @@ (define *ogre-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 18.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 18.0 :z 18.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -2375,68 +1983,46 @@ (define *ogre-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) - :lgt-color - (new 'static 'vector :x 1.154 :y 1.132 :z 1.093 :w 1.0) + :direction (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + :lgt-color (new 'static 'vector :x 1.154 :y 1.132 :z 1.093 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) - :shadow - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + :amb-color (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) + :shadow (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) - :lgt-color - (new 'static 'vector :x 1.144 :y 1.124 :z 0.939 :w 1.0) + :direction (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) + :lgt-color (new 'static 'vector :x 1.144 :y 1.124 :z 0.939 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) - :shadow - (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) + :amb-color (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) + :shadow (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.113 :y 0.169 :z 0.282 :w 1.0) + :direction (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.113 :y 0.169 :z 0.282 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) - :lgt-color - (new 'static 'vector :x 0.058 :y 0.168 :z 0.157 :w 1.0) + :direction (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) + :lgt-color (new 'static 'vector :x 0.058 :y 0.168 :z 0.157 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) - :shadow - (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) + :amb-color (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) + :shadow (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :direction (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + :lgt-color (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + :shadow (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :direction (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + :lgt-color (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + :shadow (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) ) (new 'static 'mood-lights) (new 'static 'mood-lights) @@ -2466,68 +2052,46 @@ (define *ogre2-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) + :direction (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) + :shadow (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) + :direction (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) + :shadow (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) + :direction (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) + :direction (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) + :shadow (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :direction (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + :lgt-color (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + :shadow (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :direction (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + :lgt-color (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + :shadow (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) ) (new 'static 'mood-lights) (new 'static 'mood-lights) @@ -2557,10 +2121,8 @@ (define *ogre3-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 255.0 :y 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 393216.0 :y 7458816.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 255.0 :y 96.0 :w 128.0) + :fog-dists (new 'static 'vector :x 393216.0 :y 7458816.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog) @@ -2579,13 +2141,10 @@ (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights :direction (new 'static 'vector :y 0.666 :z 0.745) - :lgt-color - (new 'static 'vector :x 0.6 :y 0.51 :z 0.51 :w 1.0) + :lgt-color (new 'static 'vector :x 0.6 :y 0.51 :z 0.51 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.313 :y 0.375 :z 0.375 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :amb-color (new 'static 'vector :x 0.313 :y 0.375 :z 0.375 :w 1.0) + :shadow (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) ) (new 'static 'mood-lights) (new 'static 'mood-lights) @@ -2605,59 +2164,43 @@ (define *village3-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 18.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 18.0 :z 18.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -2668,41 +2211,31 @@ (define *village3-mood-lights-table* (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.067 :y 0.25 :z 0.966) + :direction (new 'static 'vector :x -0.067 :y 0.25 :z 0.966) :lgt-color (new 'static 'vector :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.449 :y 0.35 :z 0.599 :w 1.0) + :amb-color (new 'static 'vector :x 0.449 :y 0.35 :z 0.599 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.259 :y 0.966) - :lgt-color - (new 'static 'vector :x 0.66 :y 0.436 :z 0.291 :w 1.0) + :direction (new 'static 'vector :x -0.259 :y 0.966) + :lgt-color (new 'static 'vector :x 0.66 :y 0.436 :z 0.291 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.358 :y 0.575 :z 0.716 :w 1.0) + :amb-color (new 'static 'vector :x 0.358 :y 0.575 :z 0.716 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.067 :y 0.25 :z -0.966) - :lgt-color - (new 'static 'vector :x 1.056 :y 0.747 :w 1.0) + :direction (new 'static 'vector :x -0.067 :y 0.25 :z -0.966) + :lgt-color (new 'static 'vector :x 1.056 :y 0.747 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.383 :y 0.366 :z 0.599 :w 1.0) + :amb-color (new 'static 'vector :x 0.383 :y 0.366 :z 0.599 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :x 0.866 :y 0.5) - :lgt-color - (new 'static 'vector :x 0.067 :y 0.089 :z 0.333 :w 1.0) + :lgt-color (new 'static 'vector :x 0.067 :y 0.089 :z 0.333 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.304 :y 0.409 :z 0.76 :w 1.0) + :amb-color (new 'static 'vector :x 0.304 :y 0.409 :z 0.76 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights) @@ -2717,10 +2250,8 @@ (define *lavatube-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 255.0 :y 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1851392.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 255.0 :y 96.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 1851392.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog) @@ -2739,59 +2270,50 @@ (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.19 :y 0.128 :z 0.128 :w 1.0) + :lgt-color (new 'static 'vector :x 0.19 :y 0.128 :z 0.128 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.31 :y 0.372 :z 0.372 :w 1.0) + :amb-color (new 'static 'vector :x 0.31 :y 0.372 :z 0.372 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :lgt-color (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :lgt-color (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :lgt-color (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :lgt-color (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :lgt-color (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :lgt-color (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :lgt-color (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) :prt-color (new 'static 'vector :w 1.0) :shadow (new 'static 'vector :y -1.0) ) @@ -2806,10 +2328,8 @@ (define *lavatube-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 175.0 :z 128.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 175.0 :z 128.0 :w 255.0) ) (new 'static 'mood-sun) (new 'static 'mood-sun) @@ -2826,52 +2346,36 @@ (define *finalboss-mood-sun-table* (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 109.0 :y 64.0 :z 160.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 109.0 :y 64.0 :z 160.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 96.0 :y 96.0 :z 196.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 96.0 :y 96.0 :z 196.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) ) (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 150.0 :z 196.0 :w 255.0) + :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color (new 'static 'vector :x 64.0 :y 150.0 :z 196.0 :w 255.0) ) ) ) @@ -2881,58 +2385,43 @@ (define *finalboss-mood-fog-table* (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 45.0 :z 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 909312.0 :y 1912832.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 45.0 :z 96.0 :w 128.0) + :fog-dists (new 'static 'vector :x 909312.0 :y 1912832.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 51.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 51.0) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :fog-color (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) + :fog-dists (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) ) @@ -3040,8 +2529,7 @@ (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 (new 'static 'mood-fog :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2252800.0 :z 255.0 :w 25.5) + :fog-dists (new 'static 'vector :x 262144.0 :y 2252800.0 :z 255.0 :w 25.5) :erase-color (new 'static 'vector :w 128.0) ) (new 'static 'mood-fog) @@ -3060,11 +2548,9 @@ (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 (new 'static 'mood-lights :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.75 :y 0.725 :z 0.5 :w 1.0) + :lgt-color (new 'static 'vector :x 0.75 :y 0.725 :z 0.5 :w 1.0) :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.3 :y 0.3 :z 0.3 :w 1.0) + :amb-color (new 'static 'vector :x 0.3 :y 0.3 :z 0.3 :w 1.0) :shadow (new 'static 'vector :y -1.0) ) (new 'static 'mood-lights) @@ -3083,8 +2569,7 @@ (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 (new 'static 'mood-sun :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 96.0 :y 96.0 :z 96.0 :w 255.0) + :env-color (new 'static 'vector :x 96.0 :y 96.0 :z 96.0 :w 255.0) ) (new 'static 'mood-sun) (new 'static 'mood-sun) diff --git a/test/decompiler/reference/engine/ambient/mood_REF.gc b/test/decompiler/reference/engine/ambient/mood_REF.gc index 1dc0c4aa21..15a5f86708 100644 --- a/test/decompiler/reference/engine/ambient/mood_REF.gc +++ b/test/decompiler/reference/engine/ambient/mood_REF.gc @@ -509,175 +509,69 @@ ) ;; definition for symbol *flash0*, type (array float) -(define *flash0* (the-as (array float) (new - 'static - 'boxed-array - :type float :length 13 :allocated-length 13 - 1.0 - 0.0 - 0.5 - 1.0 - 0.5 - 0.0 - 0.5 - 0.35 - 0.4 - 0.35 - 0.25 - 0.1 - 0.04 - ) - ) - ) +(define *flash0* + (new 'static 'boxed-array :type float 1.0 0.0 0.5 1.0 0.5 0.0 0.5 0.35 0.4 0.35 0.25 0.1 0.04) + ) ;; definition for symbol *flash1*, type (array float) -(define *flash1* - (the-as (array float) - (new 'static 'boxed-array :type float :length 9 :allocated-length 9 1.0 0.8 0.0 1.0 0.5 1.0 0.4 0.2 0.1) - ) - ) +(define *flash1* (new 'static 'boxed-array :type float 1.0 0.8 0.0 1.0 0.5 1.0 0.4 0.2 0.1)) ;; definition for symbol *flash2*, type (array float) -(define *flash2* - (the-as (array float) - (new 'static 'boxed-array :type float :length 10 :allocated-length 10 1.0 0.9 0.8 0.7 0.0 0.0 1.0 0.0 1.0 0.5) - ) - ) +(define *flash2* (new 'static 'boxed-array :type float 1.0 0.9 0.8 0.7 0.0 0.0 1.0 0.0 1.0 0.5)) ;; definition for symbol *flash3*, type (array float) -(define *flash3* (the-as (array float) (new - 'static - 'boxed-array - :type float :length 13 :allocated-length 13 - 0.5 - 0.0 - 1.0 - 0.9 - 1.0 - 0.8 - 0.3 - 0.0 - 0.0 - 0.5 - 0.1 - 0.5 - 0.35 - ) - ) - ) +(define *flash3* (new 'static 'boxed-array :type float 0.5 0.0 1.0 0.9 1.0 0.8 0.3 0.0 0.0 0.5 0.1 0.5 0.35)) ;; definition for symbol *flash4*, type (array float) -(define *flash4* (the-as (array float) (new - 'static - 'boxed-array - :type float :length 18 :allocated-length 18 - 1.0 - 0.0 - 1.0 - 0.0 - 1.0 - 0.9 - 0.8 - 0.7 - 0.6 - 0.5 - 0.4 - 0.3 - 0.2 - 0.5 - 0.4 - 0.3 - 0.2 - 0.1 - ) - ) - ) +(define *flash4* + (new 'static 'boxed-array :type float 1.0 0.0 1.0 0.0 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.5 0.4 0.3 0.2 0.1) + ) ;; definition for symbol *flash5*, type (array float) -(define *flash5* (the-as (array float) (new - 'static - 'boxed-array - :type float :length 31 :allocated-length 31 - 1.0 - 0.0 - 1.0 - 0.0 - 1.0 - 0.95 - 0.9 - 0.85 - 0.8 - 0.75 - 0.7 - 0.65 - 0.6 - 0.55 - 0.5 - 0.45 - 0.4 - 0.35 - 0.3 - 0.25 - 0.2 - 0.5 - 0.45 - 0.4 - 0.35 - 0.3 - 0.25 - 0.2 - 0.15 - 0.1 - 0.05 - ) - ) +(define *flash5* (new 'static 'boxed-array :type float + 1.0 + 0.0 + 1.0 + 0.0 + 1.0 + 0.95 + 0.9 + 0.85 + 0.8 + 0.75 + 0.7 + 0.65 + 0.6 + 0.55 + 0.5 + 0.45 + 0.4 + 0.35 + 0.3 + 0.25 + 0.2 + 0.5 + 0.45 + 0.4 + 0.35 + 0.3 + 0.25 + 0.2 + 0.15 + 0.1 + 0.05 + ) ) ;; definition for symbol *flash6*, type (array float) -(define *flash6* (the-as (array float) (new - 'static - 'boxed-array - :type float :length 14 :allocated-length 14 - 1.0 - 0.0 - 1.0 - 0.0 - 0.5 - 0.0 - 0.5 - 0.35 - 0.0 - 0.0 - 1.0 - 0.0 - 0.2 - 0.1 - ) - ) - ) +(define *flash6* + (new 'static 'boxed-array :type float 1.0 0.0 1.0 0.0 0.5 0.0 0.5 0.35 0.0 0.0 1.0 0.0 0.2 0.1) + ) ;; definition for symbol *flash7*, type (array float) -(define *flash7* (the-as (array float) (new - 'static - 'boxed-array - :type float :length 14 :allocated-length 14 - 1.0 - 0.8 - 0.3 - 0.0 - 0.6 - 0.5 - 0.4 - 0.3 - 0.2 - 0.5 - 0.4 - 0.3 - 0.2 - 0.1 - ) - ) - ) +(define *flash7* + (new 'static 'boxed-array :type float 1.0 0.8 0.3 0.0 0.6 0.5 0.4 0.3 0.2 0.5 0.4 0.3 0.2 0.1) + ) ;; definition for symbol *lightning-index*, type int (define *lightning-index* 0) @@ -1874,16 +1768,14 @@ ;; definition for symbol *rolling-spheres-light2*, type light-ellipse (define *rolling-spheres-light2* (new 'static 'light-ellipse - :matrix - (new 'static 'matrix :vector (new 'static 'inline-array vector 4 + :matrix (new 'static 'matrix :vector (new 'static 'inline-array vector 4 (new 'static 'vector :x -581632.0 :y 114688.0 :z -6479872.0 :w 24576.0) (new 'static 'vector :x -737280.0 :y 110592.0 :z -7159808.0 :w 24576.0) (new 'static 'vector :x -733184.0 :y 110592.0 :z -7266304.0 :w 24576.0) (new 'static 'vector :x -1363968.0 :y 110592.0 :z -6578176.0 :w 24576.0) ) ) - :color - (new 'static 'rgbaf :x -1404928.0 :y 110592.0 :z -6541312.0 :w 24576.0) + :color (new 'static 'rgbaf :x -1404928.0 :y 110592.0 :z -6541312.0 :w 24576.0) ) ) diff --git a/test/decompiler/reference/engine/ambient/weather-part_REF.gc b/test/decompiler/reference/engine/ambient/weather-part_REF.gc index af1feb1f3b..b81ddfc2a5 100644 --- a/test/decompiler/reference/engine/ambient/weather-part_REF.gc +++ b/test/decompiler/reference/engine/ambient/weather-part_REF.gc @@ -6,8 +6,7 @@ :id 188 :flags (screen-space) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 18 :binding 19) + :parts ((sp-item 18 :binding 19) (sp-item 19 :flags (start-dead launch-asap) :binding 20) (sp-item 19 :flags (start-dead launch-asap) :binding 20) (sp-item 19 :flags (start-dead launch-asap) :binding 20) @@ -81,8 +80,7 @@ ;; failed to figure out what this is: (defpart 21 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -4.5) (meters 9) 1.0) (sp-rnd-flt spt-y (meters -3) (meters 6) 1.0) @@ -103,8 +101,7 @@ ;; failed to figure out what this is: (defpart 22 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.5)) (sp-copy-from-other spt-scale-y -4) @@ -125,8 +122,7 @@ ;; failed to figure out what this is: (defpart 24 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.004166667)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.004166667)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.06666667) ) @@ -134,8 +130,7 @@ ;; failed to figure out what this is: (defpart 23 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-int spt-rot-x 12) (sp-flt spt-r 4096.0) (sp-flt spt-g 3276.8) @@ -153,14 +148,12 @@ ;; failed to figure out what this is: (defpart 25 - :init-specs - ((sp-flt spt-fade-g -5.1200004)) + :init-specs ((sp-flt spt-fade-g -5.1200004)) ) ;; failed to figure out what this is: (defpart 18 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -4.5) (meters 9) 1.0) (sp-rnd-flt spt-y (meters -3) (meters 6) 1.0) @@ -181,8 +174,7 @@ ;; failed to figure out what this is: (defpart 19 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2.6)) (sp-copy-from-other spt-scale-y -4) @@ -203,8 +195,7 @@ ;; failed to figure out what this is: (defpart 26 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.008333334)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.008333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.06666667) ) @@ -212,8 +203,7 @@ ;; failed to figure out what this is: (defpart 20 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-int spt-rot-x 24) (sp-flt spt-r 12288.0) (sp-flt spt-g 6553.6) @@ -231,8 +221,7 @@ ;; failed to figure out what this is: (defpart 27 - :init-specs - ((sp-flt spt-fade-g -10.240001)) + :init-specs ((sp-flt spt-fade-g -10.240001)) ) ;; failed to figure out what this is: @@ -240,14 +229,12 @@ :id 34 :flags (always-draw) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 28) (sp-item 29) (sp-item 30)) + :parts ((sp-item 28) (sp-item 29) (sp-item 30)) ) ;; failed to figure out what this is: (defpart 28 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 40) (meters 40) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -269,20 +256,17 @@ ;; failed to figure out what this is: (defpart 31 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 29999700) (sp-launcher-by-id spt-next-launcher 32)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 29999700) (sp-launcher-by-id spt-next-launcher 32)) ) ;; failed to figure out what this is: (defpart 32 - :init-specs - ((sp-flt spt-fade-a -0.42666668)) + :init-specs ((sp-flt spt-fade-a -0.42666668)) ) ;; failed to figure out what this is: (defpart 29 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 40) (meters 40) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -304,8 +288,7 @@ ;; failed to figure out what this is: (defpart 30 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 40) (meters 40) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -327,8 +310,7 @@ ;; failed to figure out what this is: (defpart 33 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters 10) (meters 10) 1.0) (sp-rnd-flt spt-y (meters 2) (meters 14) 1.0) @@ -353,8 +335,7 @@ ;; failed to figure out what this is: (defpart 34 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.0) (sp-rnd-flt spt-x (meters 0) (meters 20) 1.0) (sp-flt spt-y (meters 16)) @@ -379,14 +360,12 @@ ;; failed to figure out what this is: (defpart 35 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 1200) (sp-launcher-by-id spt-next-launcher 36)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 1200) (sp-launcher-by-id spt-next-launcher 36)) ) ;; failed to figure out what this is: (defpart 36 - :init-specs - ((sp-flt spt-fade-a -0.85333335)) + :init-specs ((sp-flt spt-fade-a -0.85333335)) ) ;; definition for function update-snow @@ -423,8 +402,7 @@ ;; failed to figure out what this is: (defpart 37 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters 0) (meters 20) 1.0) (sp-flt spt-y (meters 16)) @@ -445,8 +423,7 @@ ;; failed to figure out what this is: (defpart 38 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 4.5) (sp-rnd-flt spt-x (meters 0) (meters 20) 1.0) (sp-flt spt-y (meters 16)) @@ -465,8 +442,7 @@ ;; failed to figure out what this is: (defpart 39 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-int spt-num 0 1 2.0) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -486,8 +462,7 @@ ;; failed to figure out what this is: (defpart 40 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.02)) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -638,14 +613,12 @@ :id 35 :flags (always-draw) :bounds (static-bspherem 0 0 0 70) - :parts - ((sp-item 1950) (sp-item 1951) (sp-item 1952)) + :parts ((sp-item 1950) (sp-item 1951) (sp-item 1952)) ) ;; failed to figure out what this is: (defpart 1950 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1200)) (sp-copy-from-other spt-scale-y -4) @@ -662,8 +635,7 @@ ;; failed to figure out what this is: (defpart 1951 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2800)) (sp-flt spt-rot-z (degrees 0.0)) @@ -682,8 +654,7 @@ ;; failed to figure out what this is: (defpart 1952 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2200)) (sp-flt spt-rot-z (degrees 0.0)) @@ -705,14 +676,12 @@ :id 36 :flags (always-draw) :bounds (static-bspherem 0 0 0 70) - :parts - ((sp-item 1974) (sp-item 1975) (sp-item 1976)) + :parts ((sp-item 1974) (sp-item 1975) (sp-item 1976)) ) ;; failed to figure out what this is: (defpart 1974 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 600)) (sp-copy-from-other spt-scale-y -4) @@ -729,8 +698,7 @@ ;; failed to figure out what this is: (defpart 1975 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1400)) (sp-flt spt-rot-z (degrees 0.0)) @@ -749,8 +717,7 @@ ;; failed to figure out what this is: (defpart 1976 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1100)) (sp-flt spt-rot-z (degrees 0.0)) diff --git a/test/decompiler/reference/engine/camera/cam-combiner_REF.gc b/test/decompiler/reference/engine/camera/cam-combiner_REF.gc index 26f9b43dc4..0f0cec38df 100644 --- a/test/decompiler/reference/engine/camera/cam-combiner_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-combiner_REF.gc @@ -3,8 +3,7 @@ ;; failed to figure out what this is: (defstate cam-combiner-active (camera-combiner) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -170,8 +169,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (local-vars (sv-160 cam-rotation-tracker)) (loop (when (and (zero? (logand (-> *camera* master-options) 2)) (!= (-> self tracking-status) 0)) diff --git a/test/decompiler/reference/engine/camera/cam-layout_REF.gc b/test/decompiler/reference/engine/camera/cam-layout_REF.gc index ac77090df1..81820ba657 100644 --- a/test/decompiler/reference/engine/camera/cam-layout_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-layout_REF.gc @@ -2751,41 +2751,27 @@ (define *clm-focalpull-attr* (new 'static 'clm :title "---focalpull attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " ok" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) (new 'static 'clm-item :description "adjust" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) + :action (new 'static 'clm-item-action :button #x4000 :func #f) ) (new 'static 'clm-list :tracker #f - :items - (new - 'static - 'boxed-array - :type clm-list-item :length 2 :allocated-length 2 + :items (new 'static 'boxed-array :type clm-list-item (new 'static 'clm-list-item :description "radial " :track-val #f :val-func 'clmf-cam-flag :val-parm0 16 :val-parm1-basic 'focalpull-flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 @@ -2801,15 +2787,14 @@ :val-func 'clmf-cam-flag :val-parm0 8 :val-parm1-basic 'focalpull-flags - :actions - (new 'static 'boxed-array :type clm-item-action :length 1 :allocated-length 1 (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 8 - :parm1-basic 'focalpull-flags - ) - ) + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 8 + :parm1-basic 'focalpull-flags + ) + ) ) ) ) @@ -2821,41 +2806,27 @@ (define *clm-index-attr* (new 'static 'clm :title "---index attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " ok" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) (new 'static 'clm-item :description "adjust" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) + :action (new 'static 'clm-item-action :button #x4000 :func #f) ) (new 'static 'clm-list :tracker #f - :items - (new - 'static - 'boxed-array - :type clm-list-item :length 2 :allocated-length 2 + :items (new 'static 'boxed-array :type clm-list-item (new 'static 'clm-list-item :description "radial " :track-val #f :val-func 'clmf-cam-flag :val-parm0 16 :val-parm1-basic 'campoints-flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 @@ -2871,15 +2842,14 @@ :val-func 'clmf-cam-flag :val-parm0 8 :val-parm1-basic 'campoints-flags - :actions - (new 'static 'boxed-array :type clm-item-action :length 1 :allocated-length 1 (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 8 - :parm1-basic 'campoints-flags - ) - ) + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 8 + :parm1-basic 'campoints-flags + ) + ) ) ) ) @@ -2891,65 +2861,49 @@ (define *clm-intro-attr* (new 'static 'clm :title "---intro attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " ok" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) (new 'static 'clm-item :description "adjust" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) + :action (new 'static 'clm-item-action :button #x4000 :func #f) + ) + (new 'static 'clm-list + :tracker #f + :items (new 'static 'boxed-array :type clm-list-item + (new 'static 'clm-list-item + :description "time " + :track-val #f + :val-func 'clmf-cam-intro-time + :val-parm0-basic 'intro-time + :actions (new 'static 'boxed-array :type clm-item-action + (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'intro-time-offset + :parm1-basic (new 'static 'bfloat :data 0.01) + ) + ) + ) + (new 'static 'clm-list-item + :description "exitValue" + :track-val #f + :val-func 'clmf-cam-float + :val-parm0-basic 'intro-exitValue + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'intro-exitValue-offset + :parm1-basic (new 'static 'bfloat :data 0.001) + ) + ) + ) + ) ) - (new 'static 'clm-list :tracker #f :items (new - 'static - 'boxed-array - :type clm-list-item :length 2 :allocated-length 2 - (new 'static 'clm-list-item - :description "time " - :track-val #f - :val-func 'clmf-cam-intro-time - :val-parm0-basic 'intro-time - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'intro-time-offset - :parm1-basic (new 'static 'bfloat :data 0.01) - ) - ) - ) - (new 'static 'clm-list-item - :description "exitValue" - :track-val #f - :val-func 'clmf-cam-float - :val-parm0-basic 'intro-exitValue - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'intro-exitValue-offset - :parm1-basic (new 'static 'bfloat :data 0.001) - ) - ) - ) - ) - ) ) ) ) @@ -2958,47 +2912,35 @@ (define *clm-spline-attr* (new 'static 'clm :title "---spline attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " ok" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) (new 'static 'clm-item :description "adjust" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) + :action (new 'static 'clm-item-action :button #x4000 :func #f) + ) + (new 'static 'clm-list + :tracker #f + :items (new 'static 'boxed-array :type clm-list-item + (new 'static 'clm-list-item + :description "followDist" + :track-val #f + :val-func 'clmf-cam-meters + :val-parm0-basic 'spline-follow-dist + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'spline-follow-dist-offset + :parm1-basic (new 'static 'bfloat :data 409.6) + ) + ) + ) + ) ) - (new 'static 'clm-list :tracker #f :items (new - 'static - 'boxed-array - :type clm-list-item :length 1 :allocated-length 1 - (new 'static 'clm-list-item - :description "followDist" - :track-val #f - :val-func 'clmf-cam-meters - :val-parm0-basic 'spline-follow-dist - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'spline-follow-dist-offset - :parm1-basic (new 'static 'bfloat :data 409.6) - ) - ) - ) - ) - ) ) ) ) @@ -3007,45 +2949,34 @@ (define *clm-vol-attr* (new 'static 'clm :title "---volume attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " ok" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) (new 'static 'clm-item :description "adjust" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) + :action (new 'static 'clm-item-action :button #x4000 :func #f) ) (new 'static 'clm-list :tracker #f - :items - (new - 'static - 'boxed-array - :type clm-list-item :length 1 :allocated-length 1 + :items (new 'static 'boxed-array :type clm-list-item (new 'static 'clm-list-item :description "airSwitch" :track-val #f :val-func 'clmf-cam-flag :val-parm0 8 :val-parm1-basic 'vol-flags - :actions - (new 'static 'boxed-array :type clm-item-action :length 1 :allocated-length 1 (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 8 - :parm1-basic 'vol-flags - ) - ) + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 8 + :parm1-basic 'vol-flags + ) + ) ) ) ) @@ -3057,41 +2988,27 @@ (define *clm-cam-attr* (new 'static 'clm :title "---camera attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " ok" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) (new 'static 'clm-item :description "adjust" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) + :action (new 'static 'clm-item-action :button #x4000 :func #f) ) (new 'static 'clm-list :tracker #f - :items - (new - 'static - 'boxed-array - :type clm-list-item :length 18 :allocated-length 18 + :items (new 'static 'boxed-array :type clm-list-item (new 'static 'clm-list-item :description "drag " :track-val #f :val-func 'clmf-cam-flag :val-parm0 #x400 :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 @@ -3106,11 +3023,7 @@ :track-val #f :val-func 'clmf-cam-fov :val-parm0-basic 'fov - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -3124,11 +3037,7 @@ :track-val #f :val-func 'clmf-cam-deg :val-parm0-basic 'focalPull - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -3142,11 +3051,7 @@ :track-val #f :val-func 'clmf-cam-interp-time :val-parm0-basic 'interpTime - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -3161,11 +3066,7 @@ :val-func 'clmf-cam-flag :val-parm0 16 :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 @@ -3181,11 +3082,7 @@ :val-func 'clmf-cam-flag :val-parm0 32 :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 @@ -3200,11 +3097,7 @@ :track-val #f :val-func 'clmf-cam-meters :val-parm0-basic 'stringMinLength - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -3218,11 +3111,7 @@ :track-val #f :val-func 'clmf-cam-meters :val-parm0-basic 'stringMaxLength - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -3236,11 +3125,7 @@ :track-val #f :val-func 'clmf-cam-meters :val-parm0-basic 'stringMinHeight - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -3254,11 +3139,7 @@ :track-val #f :val-func 'clmf-cam-meters :val-parm0-basic 'stringMaxHeight - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -3272,11 +3153,7 @@ :track-val #f :val-func 'clmf-cam-meters :val-parm0-basic 'stringCliffHeight - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -3290,19 +3167,14 @@ :track-val #f :val-func 'clmf-cam-string :val-parm0-basic 'alternates - :actions - (new 'static 'boxed-array :type clm-item-action :length 0 :allocated-length 0) + :actions (new 'static 'boxed-array :type clm-item-action) ) (new 'static 'clm-list-item :description "maxAngle " :track-val #f :val-func 'clmf-cam-deg :val-parm0-basic 'maxAngle - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -3317,11 +3189,7 @@ :val-func 'clmf-cam-flag :val-parm0 #x4000 :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 @@ -3337,11 +3205,7 @@ :val-func 'clmf-cam-flag :val-parm0 #x40000 :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 @@ -3356,11 +3220,7 @@ :track-val #f :val-func 'clmf-cam-deg :val-parm0-basic 'tiltAdjust - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-cam-float-adjust @@ -3375,11 +3235,7 @@ :val-func 'clmf-cam-flag :val-parm0 #x80000 :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 @@ -3395,15 +3251,14 @@ :val-func 'clmf-cam-flag :val-parm0 #x100000 :val-parm1-basic 'flags - :actions - (new 'static 'boxed-array :type clm-item-action :length 1 :allocated-length 1 (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 #x100000 - :parm1-basic 'flags - ) - ) + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 #x100000 + :parm1-basic 'flags + ) + ) ) ) ) @@ -3415,28 +3270,21 @@ (define *clm-cam-lookthrough* (new 'static 'clm :title "---cam-lookthrough---" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 5 :allocated-length 5 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " " :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :options #x4 :func 'clmf-look-through) + :action (new 'static 'clm-item-action :button #x4000 :options #x4 :func 'clmf-look-through) ) (new 'static 'clm-item :description " ok" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-to-edit) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-to-edit) ) (new 'static 'clm-item :description "pos/rot" :button-symbol 'x - :action - (new 'static 'clm-item-action + :action (new 'static 'clm-item-action :button #x4000 :options #x8 :func 'clmf-pos-rot @@ -3447,33 +3295,26 @@ (new 'static 'clm-item :description " adjust" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) + :action (new 'static 'clm-item-action :button #x4000 :func #f) + ) + (new 'static 'clm-list + :tracker #f + :items (new 'static 'boxed-array :type clm-list-item + (new 'static 'clm-list-item + :description "fov" + :track-val #f + :val-func 'clmf-cam-fov + :val-parm0-basic 'fov + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'fov-offset + :parm1-basic (new 'static 'bfloat :data 91.022224) + ) + ) + ) + ) ) - (new 'static 'clm-list :tracker #f :items (new - 'static - 'boxed-array - :type clm-list-item :length 1 :allocated-length 1 - (new 'static 'clm-list-item - :description "fov" - :track-val #f - :val-func 'clmf-cam-fov - :val-parm0-basic 'fov - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'fov-offset - :parm1-basic (new 'static 'bfloat :data 91.022224) - ) - ) - ) - ) - ) ) ) ) @@ -3482,57 +3323,40 @@ (define *clm-edit* (new 'static 'clm :title "---edit---" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 6 :allocated-length 6 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " ok" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-to-select) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-to-select) ) (new 'static 'clm-item :description "attributes" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :options #x1 :func #f) + :action (new 'static 'clm-item-action :button #x4000 :options #x1 :func #f) ) (new 'static 'clm-item :description " edit part" :button-symbol 'circle - :action - (new 'static 'clm-item-action :button #x2000 :options #x1 :func #f) + :action (new 'static 'clm-item-action :button #x2000 :options #x1 :func #f) ) (new 'static 'clm-item :description "scale/next" :button-symbol 'r2 - :action - (new 'static 'clm-item-action :button #x200 :func #f) + :action (new 'static 'clm-item-action :button #x200 :func #f) ) (new 'static 'clm-item :description " pos/rot" :button-symbol 'l2 - :action - (new 'static 'clm-item-action :button #x100 :func #f) + :action (new 'static 'clm-item-action :button #x100 :func #f) ) (new 'static 'clm-list :tracker '*camera-layout-blink* - :items - (new - 'static - 'boxed-array - :type clm-list-item :length 9 :allocated-length 9 + :items (new 'static 'boxed-array :type clm-list-item (new 'static 'clm-list-item :description "camera " :track-val 'camera :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 :func '*clm-cam-attr*) (new 'static 'clm-item-action :button #x2000 :func '*clm-cam-lookthrough*) (new 'static 'clm-item-action :button #x200 :func 'clmf-bna) @@ -3548,11 +3372,7 @@ :description "volume " :track-val 'volume :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-to-vol-attr) (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) (new 'static 'clm-item-action :button #x200 :func 'clmf-next-vol-dpad) @@ -3563,11 +3383,7 @@ :description "align " :track-val 'align :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-bna) (new 'static 'clm-item-action :button #x2000 :func 'clmf-bna) (new 'static 'clm-item-action :button #x200 :func 'clmf-bna) @@ -3578,11 +3394,7 @@ :description "pivot " :track-val 'pivot :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-bna) (new 'static 'clm-item-action :button #x2000 :func 'clmf-bna) (new 'static 'clm-item-action :button #x200 :func 'clmf-bna) @@ -3593,11 +3405,7 @@ :description "interesting" :track-val 'interesting :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-bna) (new 'static 'clm-item-action :button #x2000 :func 'clmf-bna) (new 'static 'clm-item-action :button #x200 :func 'clmf-bna) @@ -3613,11 +3421,7 @@ :description "spline " :track-val 'spline :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :func 'clmf-to-spline-attr) (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) (new 'static 'clm-item-action :button #x200 :func 'clmf-implement) @@ -3628,11 +3432,7 @@ :description "intro " :track-val 'intro :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-to-intro-attr) (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) (new 'static 'clm-item-action :button #x200 :func 'clmf-implement) @@ -3643,11 +3443,7 @@ :description "index " :track-val 'index :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-to-index-attr) (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) (new 'static 'clm-item-action :button #x200 :func 'clmf-implement) @@ -3658,11 +3454,7 @@ :description "focalpull" :track-val 'focalpull :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 + :actions (new 'static 'boxed-array :type clm-item-action (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-to-focalpull-attr) (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) (new 'static 'clm-item-action :button #x200 :func 'clmf-implement) @@ -3679,28 +3471,21 @@ (define *clm-save-all* (new 'static 'clm :title "---save all?---" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " save all" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-save-all :parm0 16) + :action (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-save-all :parm0 16) ) (new 'static 'clm-item :description "print all" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-save-all :parm0 8) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-save-all :parm0 8) ) (new 'static 'clm-item :description " done" :button-symbol 'triangle - :action - (new 'static 'clm-item-action :button #x1000 :options #x1 :func 'clmf-to-select) + :action (new 'static 'clm-item-action :button #x1000 :options #x1 :func 'clmf-to-select) ) ) ) @@ -3710,28 +3495,21 @@ (define *clm-save-one* (new 'static 'clm :title "---single save?---" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " single save" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-save-one :parm0 16) + :action (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-save-one :parm0 16) ) (new 'static 'clm-item :description "single print" :button-symbol 'square - :action - (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-save-one :parm0 8) + :action (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-save-one :parm0 8) ) (new 'static 'clm-item :description " done" :button-symbol 'triangle - :action - (new 'static 'clm-item-action :button #x1000 :options #x1 :func 'clmf-to-select) + :action (new 'static 'clm-item-action :button #x1000 :options #x1 :func 'clmf-to-select) ) ) ) @@ -3741,46 +3519,36 @@ (define *clm-select* (new 'static 'clm :title "---camera---" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 6 :allocated-length 6 + :items (new 'static 'boxed-array :type clm-basic (new 'static 'clm-item :description " edit" :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :options #x3 :func 'clmf-to-edit-cam) + :action (new 'static 'clm-item-action :button #x4000 :options #x3 :func 'clmf-to-edit-cam) ) (new 'static 'clm-item :description "save one" :button-symbol 'triangle - :action - (new 'static 'clm-item-action :button #x1000 :options #x3 :func '*clm-save-one*) + :action (new 'static 'clm-item-action :button #x1000 :options #x3 :func '*clm-save-one*) ) (new 'static 'clm-item :description " next" :button-symbol 'down - :action - (new 'static 'clm-item-action :button #x40 :options #x3 :func 'clmf-next-entity :parm0 8) + :action (new 'static 'clm-item-action :button #x40 :options #x3 :func 'clmf-next-entity :parm0 8) ) (new 'static 'clm-item :description " prev" :button-symbol 'up - :action - (new 'static 'clm-item-action :button #x10 :options #x3 :func 'clmf-next-entity :parm0 -8) + :action (new 'static 'clm-item-action :button #x10 :options #x3 :func 'clmf-next-entity :parm0 -8) ) (new 'static 'clm-item :description " next 5" :button-symbol 'right - :action - (new 'static 'clm-item-action :button #x20 :options #x3 :func 'clmf-next-entity :parm0 40) + :action (new 'static 'clm-item-action :button #x20 :options #x3 :func 'clmf-next-entity :parm0 40) ) (new 'static 'clm-item :description " prev 5" :button-symbol 'left - :action - (new 'static 'clm-item-action :button #x80 :options #x3 :func 'clmf-next-entity :parm0 -40) + :action (new 'static 'clm-item-action :button #x80 :options #x3 :func 'clmf-next-entity :parm0 -40) ) ) ) @@ -3992,8 +3760,7 @@ ;; failed to figure out what this is: (defstate cam-layout-active (cam-layout) - :code - (behavior () + :code (behavior () (loop (cam-layout-entity-info (the-as entity-actor (-> self cam-entity))) (cam-layout-entity-volume-info) @@ -4042,16 +3809,7 @@ ) (cond ((not *cam-layout*) - (let* ((gp-0 (get-process *camera-dead-pool* cam-layout #x4000)) - (v1-4 (when gp-0 - (let ((t9-3 (method-of-type cam-layout activate))) - (t9-3 (the-as cam-layout gp-0) *default-pool* 'cam-layout (the-as pointer #x70004000)) - ) - (run-next-time-in-process gp-0 cam-layout-init) - (-> gp-0 ppointer) - ) - ) - ) + (let ((v1-4 (process-spawn-function cam-layout cam-layout-init :from *camera-dead-pool*))) (cond (v1-4 (logclear! (-> v1-4 0 mask) (process-mask pause menu)) diff --git a/test/decompiler/reference/engine/camera/cam-master_REF.gc b/test/decompiler/reference/engine/camera/cam-master_REF.gc index 874fecf7bc..13c54135f3 100644 --- a/test/decompiler/reference/engine/camera/cam-master_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-master_REF.gc @@ -595,15 +595,9 @@ (set! (-> self stringCliffHeight) 163840.0) (send-event *camera* 'point-of-interest #f) (set! (-> *camera-combiner* tracking point-of-interest-blend target) 0.0) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'query-state) - (set! (-> a1-1 param 0) (the-as uint *camera-base-mode*)) - (if (not (send-event-function *camera* a1-1)) - (send-event *camera* 'change-state *camera-base-mode* 450) - ) - ) + (if (not (send-event *camera* 'query-state *camera-base-mode*)) + (send-event *camera* 'change-state *camera-base-mode* (seconds 1.5)) + ) (set! (-> *camera-combiner* tracking tilt-adjust target) (-> *CAMERA-bank* default-tilt-adjust)) (send-event *camera* 'clear-slave-option #x10000) ) @@ -633,15 +627,9 @@ (set! (-> self stringMaxLength) (-> *CAMERA-bank* default-string-max-z)) ) (set! (-> self stringCliffHeight) (cam-slave-get-float arg0 'stringCliffHeight 163840.0)) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 1) - (set! (-> a1-7 message) 'query-state) - (set! (-> a1-7 param 0) (the-as uint *camera-base-mode*)) - (if (not (send-event-function *camera* a1-7)) - (send-event *camera* 'change-state *camera-base-mode* 450) - ) - ) + (if (not (send-event *camera* 'query-state *camera-base-mode*)) + (send-event *camera* 'change-state *camera-base-mode* (seconds 1.5)) + ) (if (logtest? #x10000 (cam-slave-get-flags (-> self cam-entity) 'flags)) (send-event *camera* 'set-slave-option #x10000) ) @@ -807,90 +795,82 @@ ;; definition for function master-check-regions (defbehavior master-check-regions camera-master () - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'query-state) - (set! (-> a1-0 param 0) (the-as uint cam-eye)) - (cond - ((send-event-function *camera* a1-0) - #f - ) - ((or (not *target*) (logtest? (-> self master-options) 1)) - (master-unset-region) - ) - ((and (logtest? (-> self master-options) 4) - (not (-> self on-ground)) - (or (not (-> self cam-entity)) (zero? (logand #x20000 (cam-slave-get-flags (-> self cam-entity) 'flags)))) - ) - #f - ) - ((and (-> self cam-entity) - (not (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 0.0 'cutoutvol)) - (or (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 1024.0 'pvol) - (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 1024.0 'vol) - (and (not ((method-of-type res-lump get-property-data) - (-> self cam-entity) - 'pvol - 'exact - 0.0 - (the-as pointer #f) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - (not ((method-of-type res-lump get-property-data) - (-> self cam-entity) - 'vol - 'exact - 0.0 - (the-as pointer #f) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - ) - ) - #f - ) - (else - (let ((v1-17 (-> *camera-engine* alive-list next0))) - *camera-engine* - (let ((gp-5 (-> v1-17 next0))) - (while (!= v1-17 (-> *camera-engine* alive-list-end)) - (let ((s5-1 (-> (the-as connection v1-17) param1))) - (when (and (not (in-cam-entity-volume? (target-pos 0) (the-as entity s5-1) 1024.0 'cutoutvol)) - (in-cam-entity-volume? (target-pos 0) (the-as entity s5-1) 0.0 'vol) - ) - (if (master-switch-to-entity (the-as entity s5-1)) - (return #t) - ) - ) - ) - (set! v1-17 gp-5) - *camera-engine* - (set! gp-5 (-> gp-5 next0)) + (cond + ((send-event *camera* 'query-state cam-eye) + #f + ) + ((or (not *target*) (logtest? (-> self master-options) 1)) + (master-unset-region) + ) + ((and (logtest? (-> self master-options) 4) + (not (-> self on-ground)) + (or (not (-> self cam-entity)) (zero? (logand #x20000 (cam-slave-get-flags (-> self cam-entity) 'flags)))) + ) + #f + ) + ((and (-> self cam-entity) + (not (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 0.0 'cutoutvol)) + (or (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 1024.0 'pvol) + (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 1024.0 'vol) + (and (not ((method-of-type res-lump get-property-data) + (-> self cam-entity) + 'pvol + 'exact + 0.0 + (the-as pointer #f) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (not ((method-of-type res-lump get-property-data) + (-> self cam-entity) + 'vol + 'exact + 0.0 + (the-as pointer #f) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) ) + ) + #f + ) + (else + (let ((v1-17 (-> *camera-engine* alive-list next0))) + *camera-engine* + (let ((gp-5 (-> v1-17 next0))) + (while (!= v1-17 (-> *camera-engine* alive-list-end)) + (let ((s5-1 (-> (the-as connection v1-17) param1))) + (when (and (not (in-cam-entity-volume? (target-pos 0) (the-as entity s5-1) 1024.0 'cutoutvol)) + (in-cam-entity-volume? (target-pos 0) (the-as entity s5-1) 0.0 'vol) + ) + (if (master-switch-to-entity (the-as entity s5-1)) + (return #t) + ) + ) + ) + (set! v1-17 gp-5) + *camera-engine* + (set! gp-5 (-> gp-5 next0)) ) ) - (master-unset-region) ) + (master-unset-region) ) ) ) ;; failed to figure out what this is: (defstate cam-master-active (camera-master) - :enter - (behavior () + :enter (behavior () (if (and (nonzero? camera-master-debug) *debug-segment*) (add-connection *debug-engine* self camera-master-debug self #f #f) ) (none) ) - :trans - (behavior () + :trans (behavior () (when (not (paused?)) (vector-negate! (-> self local-down) @@ -900,8 +880,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (if (and *dproc* *debug-segment*) (add-frame @@ -918,15 +897,9 @@ (master-track-target) (set! (-> last-try-to-look-at-data horz) 0.0) (set! (-> last-try-to-look-at-data vert) 0.0) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'slave-option?) - (set! (-> a1-1 param 0) (the-as uint #x4000)) - (when (send-event-function *camera* a1-1) - (set! (-> self string-min target y) 18432.0) - (set! (-> self string-max target y) 18432.041) - ) + (when (send-event *camera* 'slave-option? #x4000) + (set! (-> self string-min target y) 18432.0) + (set! (-> self string-max target y) 18432.041) ) (when (not (paused?)) (update! (-> self string-min) (the-as vector #f)) @@ -975,8 +948,7 @@ ;; failed to figure out what this is: (defstate list-keeper-active (camera-master) - :code - (behavior () + :code (behavior () (loop (change-to-last-brother self) (suspend) @@ -1033,34 +1005,18 @@ ) (set! (-> self pov-handle) (the-as handle #f)) (set! (-> self pov-bone) 0) - (let ((gp-1 (get-process *camera-dead-pool* list-keeper #x4000))) - (cond - ((when gp-1 - (let ((t9-5 (method-of-type list-keeper activate))) - (t9-5 (the-as list-keeper gp-1) self 'list-keeper (the-as pointer #x70004000)) - ) - (run-next-time-in-process gp-1 list-keeper-init) - (-> gp-1 ppointer) - ) - ) - (else - (format 0 "ERROR : master camera list keeper failed to activate~%") - ) + (cond + ((process-spawn-function list-keeper list-keeper-init :from *camera-dead-pool* :to self) + ) + (else + (format 0 "ERROR : master camera list keeper failed to activate~%") ) ) - (let ((gp-2 (get-process *camera-dead-pool* camera-slave #x4000))) - (cond - ((when gp-2 - (let ((t9-9 (method-of-type camera-slave activate))) - (t9-9 (the-as camera-slave gp-2) self 'camera-slave (the-as pointer #x70004000)) - ) - (run-next-time-in-process gp-2 cam-slave-init cam-free-floating #f) - (-> gp-2 ppointer) - ) - ) - (else - (format 0 "ERROR : first slave failed to activate~%") - ) + (cond + ((process-spawn-function camera-slave cam-slave-init cam-free-floating #f :from *camera-dead-pool* :to self) + ) + (else + (format 0 "ERROR : first slave failed to activate~%") ) ) (set! (-> self water-drip) (create-launch-control group-rain-screend-drop self)) diff --git a/test/decompiler/reference/engine/camera/cam-start_REF.gc b/test/decompiler/reference/engine/camera/cam-start_REF.gc index 007ca57979..6399944334 100644 --- a/test/decompiler/reference/engine/camera/cam-start_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-start_REF.gc @@ -17,30 +17,14 @@ ;; INFO: Return type mismatch int vs none. (defun cam-start ((arg0 symbol)) (cam-stop) - (let ((s5-0 (get-process *camera-dead-pool* camera-combiner #x4000))) - (when s5-0 - (let ((t9-2 (method-of-type camera-combiner activate))) - (t9-2 (the-as camera-combiner s5-0) *camera-pool* 'camera-combiner (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 cam-combiner-init) - (-> s5-0 ppointer) - ) - ) - (let ((s5-1 (get-process *camera-master-dead-pool* camera-master #x4000))) - (set! *camera* - (the-as camera-master - (ppointer->process - (when s5-1 - (let ((t9-5 (method-of-type camera-master activate))) - (t9-5 (the-as camera-master s5-1) *camera-pool* 'camera-master (the-as pointer #x70004000)) - ) - (run-next-time-in-process s5-1 cam-master-init) - (-> s5-1 ppointer) - ) - ) + (process-spawn camera-combiner :init cam-combiner-init :from *camera-dead-pool* :to *camera-pool*) + (set! *camera* + (the-as camera-master + (ppointer->process + (process-spawn-function camera-master cam-master-init :from *camera-master-dead-pool* :to *camera-pool*) ) ) - ) + ) (if arg0 (reset-cameras) ) diff --git a/test/decompiler/reference/engine/camera/cam-states-dbg_REF.gc b/test/decompiler/reference/engine/camera/cam-states-dbg_REF.gc index 6e17ed5234..a90c4e5b41 100644 --- a/test/decompiler/reference/engine/camera/cam-states-dbg_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-states-dbg_REF.gc @@ -24,8 +24,7 @@ ;; failed to figure out what this is: (defstate cam-point-watch (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -35,8 +34,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self pivot-rad) 40960.0) (set! (-> self blend-from-type) (the-as uint 1)) @@ -44,8 +42,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (let ((s5-0 (new-stack-vector0)) (gp-0 (new-stack-vector0)) @@ -419,8 +416,7 @@ ;; failed to figure out what this is: (defstate cam-free-floating (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -430,8 +426,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self blend-from-type) (the-as uint 1)) (set! (-> self blend-to-type) (the-as uint 1)) @@ -439,8 +434,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (let ((a2-0 (-> *camera* local-down))) (if (logtest? (-> self options) 8) @@ -528,8 +522,7 @@ ;; failed to figure out what this is: (defstate cam-orbit (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -539,8 +532,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (if (not *camera-orbit-target*) (cam-slave-go cam-free-floating) @@ -554,13 +546,11 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () '() (none) ) - :code - (behavior () + :code (behavior () (loop (if (not *camera-orbit-target*) (cam-slave-go cam-free-floating) diff --git a/test/decompiler/reference/engine/camera/cam-states_REF.gc b/test/decompiler/reference/engine/camera/cam-states_REF.gc index 66cec758b7..4eab519e52 100644 --- a/test/decompiler/reference/engine/camera/cam-states_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-states_REF.gc @@ -3,8 +3,7 @@ ;; failed to figure out what this is: (defstate cam-fixed (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -14,8 +13,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self saved-pt quad) (-> self trans quad)) (set! (-> self blend-from-type) (the-as uint 1)) @@ -24,8 +22,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (paused?)) (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -45,8 +42,7 @@ ;; failed to figure out what this is: (defstate cam-fixed-read-entity (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -56,8 +52,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (cond ((-> self enter-has-run) ) @@ -80,8 +75,7 @@ (go cam-fixed) (none) ) - :code - (behavior () + :code (behavior () (loop (format *stdcon* "ERROR : stayed in cam-fixed-read-entity~%") (suspend) @@ -92,8 +86,7 @@ ;; failed to figure out what this is: (defstate cam-pov (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -103,24 +96,21 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self blend-from-type) (the-as uint 1)) (set! (-> self blend-to-type) (the-as uint 1)) ) (none) ) - :trans - (behavior () + :trans (behavior () (when (not (handle->process (-> *camera* pov-handle))) (set! (-> self blend-from-type) (the-as uint 0)) (cam-slave-go cam-fixed) ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (paused?)) (vector<-cspace! @@ -156,8 +146,7 @@ ;; failed to figure out what this is: (defstate cam-pov180 (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -167,24 +156,21 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self blend-from-type) (the-as uint 1)) (set! (-> self blend-to-type) (the-as uint 1)) ) (none) ) - :trans - (behavior () + :trans (behavior () (when (not (handle->process (-> *camera* pov-handle))) (set! (-> self blend-from-type) (the-as uint 0)) (cam-slave-go cam-fixed) ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) (s4-0 #t) @@ -260,10 +246,8 @@ ;; failed to figure out what this is: (defstate cam-pov-track (camera-slave) - :event - cam-standard-event-handler - :enter - (behavior () + :event cam-standard-event-handler + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self blend-from-type) (the-as uint 2)) (set! (-> self blend-to-type) (the-as uint 2)) @@ -275,15 +259,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (or (not (handle->process (-> *camera* pov-handle))) (zero? (logand (-> *camera* master-options) 2))) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (if (not (paused?)) (vector<-cspace! @@ -307,8 +289,7 @@ ;; failed to figure out what this is: (defstate cam-standoff (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('set-standoff-dist) (vector-normalize! (-> self pivot-pt) (the-as float (-> arg3 param 0))) @@ -329,8 +310,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (vector-! (-> self pivot-pt) (-> self trans) (-> *camera* tpos-curr-adj)) (cond @@ -348,15 +328,13 @@ (cam-calc-follow! (-> self tracking) (-> self trans) #f) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (paused?)) (cam-calc-follow! (-> self tracking) (-> self trans) #t) @@ -370,10 +348,8 @@ ;; failed to figure out what this is: (defstate cam-standoff-read-entity (camera-slave) - :event - cam-standard-event-handler - :enter - (behavior () + :event cam-standard-event-handler + :enter (behavior () (cond ((-> self enter-has-run) ) @@ -408,8 +384,7 @@ (go cam-standoff) (none) ) - :code - (behavior () + :code (behavior () (loop (format *stdcon* "ERROR : stayed in cam-standoff-read-entity~%") (suspend) @@ -447,8 +422,7 @@ ;; failed to figure out what this is: (defstate cam-eye (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -458,8 +432,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (let ((v1-3 (vector-float*! (new-stack-vector0) (-> *camera* local-down) (+ 1024.0 (-> *camera* target-height))))) (vector-! (-> self trans) (-> *camera* tpos-curr) v1-3) @@ -471,8 +444,7 @@ (set! (-> self fov) 11650.845) (none) ) - :exit - (behavior () + :exit (behavior () (if (and *target* (logtest? (-> *camera* master-options) 2) (logtest? (-> *target* state-flags) (state-flags sf09)) @@ -481,15 +453,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (-> *display* base-frame-counter))) (loop (when (not (paused?)) @@ -631,8 +601,7 @@ ;; failed to figure out what this is: (defstate cam-billy (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -642,8 +611,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (let ((v1-3 (vector-float*! (new-stack-vector0) (-> *camera* local-down) (-> *camera* target-height)))) (vector-! (-> self trans) (-> *camera* tpos-curr) v1-3) @@ -656,20 +624,17 @@ (matrix-rotate-y! (the-as matrix (-> self tracking)) (the-as float -32768.0)) (none) ) - :exit - (behavior () + :exit (behavior () '() (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (paused?)) (let ((s5-0 (vector-reset! (new-stack-vector0))) @@ -753,10 +718,8 @@ ;; failed to figure out what this is: (defstate cam-spline (camera-slave) - :event - cam-standard-event-handler - :enter - (behavior () + :event cam-standard-event-handler + :enter (behavior () (cond ((-> self enter-has-run) ) @@ -835,15 +798,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (paused?)) (cam-calc-follow! (-> self tracking) (-> self trans) #t) @@ -859,8 +820,7 @@ ;; failed to figure out what this is: (defstate cam-decel (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -870,15 +830,13 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (if (not (-> self enter-has-run)) (set! (-> self saved-pt quad) (-> self trans quad)) ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (paused?)) (let ((s5-0 (new-stack-vector0)) @@ -915,8 +873,7 @@ ;; failed to figure out what this is: (defstate cam-endlessfall (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -926,16 +883,14 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self blend-from-type) (the-as uint 2)) (set! (-> self blend-to-type) (the-as uint 2)) ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'cam-vector-seeker)) (f30-0 (-> self velocity y)) ) @@ -1157,8 +1112,7 @@ ;; failed to figure out what this is: (defstate cam-circular (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -1172,8 +1126,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (cond ((-> self enter-has-run) ) @@ -1244,15 +1197,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (if (not (paused?)) (cam-circular-code) @@ -1265,25 +1216,21 @@ ;; failed to figure out what this is: (defstate cam-lookat (camera-slave) - :event - cam-standard-event-handler - :enter - (behavior () + :event cam-standard-event-handler + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self blend-from-type) (the-as uint 2)) (set! (-> self blend-to-type) (the-as uint 2)) ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) @@ -2881,8 +2828,7 @@ ;; failed to figure out what this is: (defstate cam-string (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) (let ((gp-0 (new-stack-vector0))) @@ -2925,8 +2871,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (set-string-parms) (set! *camera-base-mode* cam-string) @@ -3075,15 +3020,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (paused?)) (set-string-parms) @@ -3226,10 +3169,8 @@ ;; failed to figure out what this is: (defstate cam-stick (camera-slave) - :event - cam-standard-event-handler - :enter - (behavior () + :event cam-standard-event-handler + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self view-off-param) (-> *camera* view-off-param-save)) (set! (-> self view-off x) 0.0) @@ -3253,8 +3194,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) @@ -3331,8 +3271,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (if (not (paused?)) (cam-stick-code) @@ -3482,10 +3421,8 @@ ;; failed to figure out what this is: (defstate cam-bike (camera-slave) - :event - cam-standard-event-handler - :enter - (behavior () + :event cam-standard-event-handler + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> *camera* foot-offset) 4096.0) (set! (-> *camera* head-offset) 16384.0) @@ -3506,15 +3443,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (if (not (paused?)) (cam-bike-code) diff --git a/test/decompiler/reference/engine/camera/camera_REF.gc b/test/decompiler/reference/engine/camera/camera_REF.gc index 7308f73b2a..f1a7a6ef61 100644 --- a/test/decompiler/reference/engine/camera/camera_REF.gc +++ b/test/decompiler/reference/engine/camera/camera_REF.gc @@ -1246,123 +1246,115 @@ ;; definition for function cam-calc-follow! ;; Used lq/sq (defun cam-calc-follow! ((arg0 cam-rotation-tracker) (arg1 vector) (arg2 symbol)) - (with-pp - (cond - (arg2 - (update! (-> arg0 tilt-adjust) 0.0) - (update! (-> arg0 point-of-interest-blend) 0.0) - (update! (-> arg0 underwater-blend) 0.0) - ) - (else - (jump-to-target! (-> arg0 tilt-adjust) 0.0) - (jump-to-target! (-> arg0 point-of-interest-blend) 0.0) - (jump-to-target! (-> arg0 underwater-blend) 0.0) - ) + (cond + (arg2 + (update! (-> arg0 tilt-adjust) 0.0) + (update! (-> arg0 point-of-interest-blend) 0.0) + (update! (-> arg0 underwater-blend) 0.0) ) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) pp) - (set! (-> a1-7 num-params) 1) - (set! (-> a1-7 message) 'slave-option?) - (set! (-> a1-7 param 0) (the-as uint #x4000)) - (cond - ((send-event-function *camera* a1-7) - (let ((s3-0 (new 'stack-no-clear 'vector)) - (s2-0 (new 'stack-no-clear 'vector)) - (f30-0 (vector-vector-distance (-> *camera* tpos-curr-adj) (-> *camera* tpos-old-adj))) - (s5-1 (new 'stack-no-clear 'vector)) - ) - (vector-flatten! s3-0 (-> *camera* tgt-face-mat vector 2) (-> *camera* local-down)) - (vector-normalize! s3-0 1.0) - (vector-! s2-0 (-> *camera* tpos-curr-adj) arg1) - (vector-flatten! s2-0 s2-0 (-> *camera* local-down)) - (vector-normalize! s2-0 1.0) - (vector-float*! s5-1 (-> *camera* tgt-face-mat vector 2) 32768.0) - (let* ((f30-1 (lerp-clamp 0.7 0.4 (parameter-ease-sin-clamp (* 0.00081380206 (+ -409.6 f30-0))))) - (f0-4 (acos (vector-dot s2-0 s3-0))) - (f28-0 (fmax 1820.4445 f0-4)) - ) - (if (< f28-0 8192.0) - (vector-float*! - s5-1 - s5-1 - (+ f30-1 - (* (/ (- 1.0 f30-1) (- 1.0 (cos 32768.0))) (+ (- (cos 32768.0)) (cos (* 5.142857 (- 8192.0 f28-0))))) - ) - ) - ) - ) - (cond - ((< (-> *camera* ease-t) 1.0) - ) - ((< (-> arg0 follow-blend) 1.0) - (let* ((f0-18 (-> arg0 follow-blend)) - (f0-19 (* f0-18 f0-18)) - (f0-20 (* f0-19 f0-19)) - ) - (vector-! s5-1 s5-1 (-> arg0 follow-off)) - (vector-float*! s5-1 s5-1 f0-20) - ) - (+! (-> arg0 follow-blend) (* 0.016666668 (-> *display* time-adjust-ratio))) - (vector+! (-> arg0 follow-off) (-> arg0 follow-off) s5-1) - ) - (else - (set! (-> arg0 follow-off quad) (-> s5-1 quad)) - ) - ) + (else + (jump-to-target! (-> arg0 tilt-adjust) 0.0) + (jump-to-target! (-> arg0 point-of-interest-blend) 0.0) + (jump-to-target! (-> arg0 underwater-blend) 0.0) + ) + ) + (cond + ((send-event *camera* 'slave-option? #x4000) + (let ((s3-0 (new 'stack-no-clear 'vector)) + (s2-0 (new 'stack-no-clear 'vector)) + (f30-0 (vector-vector-distance (-> *camera* tpos-curr-adj) (-> *camera* tpos-old-adj))) + (s5-1 (new 'stack-no-clear 'vector)) ) - (vector+! (-> arg0 follow-pt) (-> *camera* tpos-curr-adj) (-> arg0 follow-off)) - (vector--float*! - (-> arg0 follow-pt) - (-> arg0 follow-pt) - (-> *camera* local-down) - (+ 12288.0 (-> *camera* target-height)) + (vector-flatten! s3-0 (-> *camera* tgt-face-mat vector 2) (-> *camera* local-down)) + (vector-normalize! s3-0 1.0) + (vector-! s2-0 (-> *camera* tpos-curr-adj) arg1) + (vector-flatten! s2-0 s2-0 (-> *camera* local-down)) + (vector-normalize! s2-0 1.0) + (vector-float*! s5-1 (-> *camera* tgt-face-mat vector 2) 32768.0) + (let* ((f30-1 (lerp-clamp 0.7 0.4 (parameter-ease-sin-clamp (* 0.00081380206 (+ -409.6 f30-0))))) + (f0-4 (acos (vector-dot s2-0 s3-0))) + (f28-0 (fmax 1820.4445 f0-4)) + ) + (if (< f28-0 8192.0) + (vector-float*! + s5-1 + s5-1 + (+ f30-1 + (* (/ (- 1.0 f30-1) (- 1.0 (cos 32768.0))) (+ (- (cos 32768.0)) (cos (* 5.142857 (- 8192.0 f28-0))))) + ) + ) + ) + ) + (cond + ((< (-> *camera* ease-t) 1.0) + ) + ((< (-> arg0 follow-blend) 1.0) + (let* ((f0-18 (-> arg0 follow-blend)) + (f0-19 (* f0-18 f0-18)) + (f0-20 (* f0-19 f0-19)) + ) + (vector-! s5-1 s5-1 (-> arg0 follow-off)) + (vector-float*! s5-1 s5-1 f0-20) + ) + (+! (-> arg0 follow-blend) (* 0.016666668 (-> *display* time-adjust-ratio))) + (vector+! (-> arg0 follow-off) (-> arg0 follow-off) s5-1) + ) + (else + (set! (-> arg0 follow-off quad) (-> s5-1 quad)) ) ) - (else - 0.0 - (let ((s3-2 (new-stack-vector0))) - (set! (-> arg0 follow-blend) 0.0) - (cond - ((-> arg0 no-follow) - (vector-reset! s3-2) - ) - (else - (vector-! s3-2 (-> *camera* tpos-curr-adj) arg1) - (vector-normalize! s3-2 1.0) - (let* ((f0-28 (vector-dot (-> *camera* tgt-rot-mat vector 2) s3-2)) - (f30-2 (cond - ((< f0-28 0.0) - 1.0 - ) - (else - (let* ((f0-29 (* f0-28 f0-28)) (f0-30 (- 1.0 f0-29))) (* f0-30 (* f0-30 f0-30))) - ) - ) + ) + (vector+! (-> arg0 follow-pt) (-> *camera* tpos-curr-adj) (-> arg0 follow-off)) + (vector--float*! + (-> arg0 follow-pt) + (-> arg0 follow-pt) + (-> *camera* local-down) + (+ 12288.0 (-> *camera* target-height)) + ) + ) + (else + 0.0 + (let ((s3-2 (new-stack-vector0))) + (set! (-> arg0 follow-blend) 0.0) + (cond + ((-> arg0 no-follow) + (vector-reset! s3-2) + ) + (else + (vector-! s3-2 (-> *camera* tpos-curr-adj) arg1) + (vector-normalize! s3-2 1.0) + (let* ((f0-28 (vector-dot (-> *camera* tgt-rot-mat vector 2) s3-2)) + (f30-2 (cond + ((< f0-28 0.0) + 1.0 + ) + (else + (let* ((f0-29 (* f0-28 f0-28)) (f0-30 (- 1.0 f0-29))) (* f0-30 (* f0-30 f0-30))) ) - ) - (vector-! s3-2 arg1 (-> *camera* tpos-curr-adj)) - (vector-flatten! s3-2 s3-2 (-> *camera* local-down)) - (let* ((f0-33 (* 0.000022194603 (+ -20480.0 (vector-length s3-2)))) - (f0-34 (fmin 1.0 f0-33)) - (f0-35 (fmax 0.0 f0-34)) - ) - (vector-float*! s3-2 (-> *camera* tgt-rot-mat vector 2) (* (lerp 2048.0 8192.0 f0-35) f30-2)) - ) - ) + ) + ) + ) + (vector-! s3-2 arg1 (-> *camera* tpos-curr-adj)) + (vector-flatten! s3-2 s3-2 (-> *camera* local-down)) + (let* ((f0-33 (* 0.000022194603 (+ -20480.0 (vector-length s3-2)))) + (f0-34 (fmin 1.0 f0-33)) + (f0-35 (fmax 0.0 f0-34)) + ) + (vector-float*! s3-2 (-> *camera* tgt-rot-mat vector 2) (* (lerp 2048.0 8192.0 f0-35) f30-2)) ) ) - (if arg2 - (vector-seek-3d-smooth! (-> arg0 follow-off) s3-2 (* 20480.0 (-> *display* seconds-per-frame)) 0.05) - (set! (-> arg0 follow-off quad) (-> s3-2 quad)) - ) ) - (vector+! (-> arg0 follow-pt) (-> *camera* tpos-curr-adj) (-> arg0 follow-off)) - (vector--float*! (-> arg0 follow-pt) (-> arg0 follow-pt) (-> *camera* local-down) (-> *camera* target-height)) ) + (if arg2 + (vector-seek-3d-smooth! (-> arg0 follow-off) s3-2 (* 20480.0 (-> *display* seconds-per-frame)) 0.05) + (set! (-> arg0 follow-off quad) (-> s3-2 quad)) + ) ) + (vector+! (-> arg0 follow-pt) (-> *camera* tpos-curr-adj) (-> arg0 follow-off)) + (vector--float*! (-> arg0 follow-pt) (-> arg0 follow-pt) (-> *camera* local-down) (-> *camera* target-height)) ) - (-> arg0 follow-pt) ) + (-> arg0 follow-pt) ) ;; definition for function mat-remove-z-rot diff --git a/test/decompiler/reference/engine/camera/pov-camera_REF.gc b/test/decompiler/reference/engine/camera/pov-camera_REF.gc index f4b62274ef..eba69e9efd 100644 --- a/test/decompiler/reference/engine/camera/pov-camera_REF.gc +++ b/test/decompiler/reference/engine/camera/pov-camera_REF.gc @@ -30,8 +30,7 @@ ;; failed to figure out what this is: (defstate pov-camera-startup (pov-camera) :virtual #t - :code - (behavior () + :code (behavior () (go-virtual pov-camera-start-playing) (none) ) @@ -40,8 +39,7 @@ ;; failed to figure out what this is: (defstate pov-camera-start-playing (pov-camera) :virtual #t - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (while (not (target-grabbed? self)) (suspend) @@ -52,16 +50,7 @@ (set! gp-0 (+ (-> v1-7 number) 1)) ) ) - (let* ((s5-0 (get-process *default-dead-pool* othercam #x4000)) - (v1-10 (when s5-0 - (let ((t9-3 (method-of-type othercam activate))) - (t9-3 (the-as othercam s5-0) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 othercam-init-by-other self gp-0 #t #t) - (-> s5-0 ppointer) - ) - ) - ) + (let ((v1-10 (process-spawn othercam self gp-0 #t #t :to self))) (send-event (ppointer->process v1-10) 'mask (-> self mask-to-clear)) ) ) @@ -93,8 +82,7 @@ ;; failed to figure out what this is: (defstate pov-camera-playing (pov-camera) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('abort) (when (logtest? (-> self flags) (pov-camera-flag notify-of-abort)) @@ -106,16 +94,14 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self debounce-start-time) (-> *display* base-frame-counter)) (if (= (-> self anim-name type) string) (backup-load-state-and-set-cmds *load-state* (-> self command-list)) ) (none) ) - :exit - (behavior () + :exit (behavior () (if (= (-> self anim-name type) string) (restore-load-state-and-cleanup *load-state*) ) @@ -123,8 +109,7 @@ (clear-pending-settings-from-process *setting-control* self 'sfx-volume) (none) ) - :code - (behavior () + :code (behavior () (push-setting! *setting-control* self 'music-volume 'rel (-> self music-volume-movie) 0) (push-setting! *setting-control* self 'sfx-volume 'rel (-> self sfx-volume-movie) 0) (cond @@ -148,8 +133,7 @@ (go-virtual pov-camera-done-playing) (none) ) - :post - (behavior () + :post (behavior () (if (= (-> self anim-name type) string) (execute-commands-up-to *load-state* (ja-aframe-num 0)) ) @@ -161,13 +145,11 @@ ;; failed to figure out what this is: (defstate pov-camera-abort (pov-camera) :virtual #t - :enter - (behavior () + :enter (behavior () (logior! (-> self flags) (pov-camera-flag allow-abort)) (none) ) - :code - (behavior () + :code (behavior () (set-blackout-frames (seconds 0.035)) (suspend) (suspend) @@ -179,8 +161,7 @@ ;; failed to figure out what this is: (defstate pov-camera-done-playing (pov-camera) :virtual #t - :code - (behavior () + :code (behavior () (while (begin self (not ((method-of-object self target-released?)))) (suspend) ) diff --git a/test/decompiler/reference/engine/collide/collide-edge-grab-h_REF.gc b/test/decompiler/reference/engine/collide/collide-edge-grab-h_REF.gc index 9949706df7..51e2a5b615 100644 --- a/test/decompiler/reference/engine/collide/collide-edge-grab-h_REF.gc +++ b/test/decompiler/reference/engine/collide/collide-edge-grab-h_REF.gc @@ -222,26 +222,17 @@ (define *collide-edge-work* (new 'static 'collide-edge-work :max-dist-sqrd-to-outward-pt 37748736.0 :max-dir-cosa-delta 0.6 - :split-dists - (new 'static 'array float 2 1024.0 1433.6) - :outward-offset - (new 'static 'vector :x 708.608 :y 13312.0 :w 1.0) - :local-cache-fill-box - (new 'static 'bounding-box - :min - (new 'static 'vector :x -8192.0 :y -11059.2 :z -8192.0 :w 1.0) - :max - (new 'static 'vector :x 8192.0 :y 24576.0 :z 8192.0 :w 1.0) + :split-dists (new 'static 'array float 2 1024.0 1433.6) + :outward-offset (new 'static 'vector :x 708.608 :y 13312.0 :w 1.0) + :local-cache-fill-box (new 'static 'bounding-box + :min (new 'static 'vector :x -8192.0 :y -11059.2 :z -8192.0 :w 1.0) + :max (new 'static 'vector :x 8192.0 :y 24576.0 :z 8192.0 :w 1.0) ) - :local-within-reach-box - (new 'static 'bounding-box - :min - (new 'static 'vector :x -6144.0 :y 5324.8 :z -6144.0 :w 1.0) - :max - (new 'static 'vector :x 6144.0 :y 11059.2 :z 6144.0 :w 1.0) + :local-within-reach-box (new 'static 'bounding-box + :min (new 'static 'vector :x -6144.0 :y 5324.8 :z -6144.0 :w 1.0) + :max (new 'static 'vector :x 6144.0 :y 11059.2 :z 6144.0 :w 1.0) ) - :local-player-spheres - (new 'static 'inline-array sphere 12 + :local-player-spheres (new 'static 'inline-array sphere 12 (new 'static 'sphere :x 1720.32 :y -819.2 :w 1433.6) (new 'static 'sphere :x 2293.76 :y -3276.8 :w 1884.16) (new 'static 'sphere :x 1966.08 :y -6144.0 :w 1556.48) diff --git a/test/decompiler/reference/engine/collide/collide-shape-h_REF.gc b/test/decompiler/reference/engine/collide/collide-shape-h_REF.gc index 18a8ddc00b..e2cc0e21a0 100644 --- a/test/decompiler/reference/engine/collide/collide-shape-h_REF.gc +++ b/test/decompiler/reference/engine/collide/collide-shape-h_REF.gc @@ -698,8 +698,7 @@ ;; definition for symbol *collide-shape-prim-backgnd*, type collide-shape-prim-mesh (define *collide-shape-prim-backgnd* (new 'static 'collide-shape-prim-mesh :cshape #f - :prim-core - (new 'static 'collide-prim-core + :prim-core (new 'static 'collide-prim-core :world-sphere (new 'static 'vector :w 204800000.0) :collide-as (collide-kind background) :action (collide-action solid) @@ -714,8 +713,7 @@ ;; definition for symbol *collide-shape-prim-water*, type collide-shape-prim-mesh (define *collide-shape-prim-water* (new 'static 'collide-shape-prim-mesh :cshape #f - :prim-core - (new 'static 'collide-prim-core + :prim-core (new 'static 'collide-prim-core :world-sphere (new 'static 'vector :w 204800000.0) :collide-as (collide-kind water) :action (collide-action solid) diff --git a/test/decompiler/reference/engine/collide/collide_REF.gc b/test/decompiler/reference/engine/collide/collide_REF.gc index ac3b598ec4..92b0a5866d 100644 --- a/test/decompiler/reference/engine/collide/collide_REF.gc +++ b/test/decompiler/reference/engine/collide/collide_REF.gc @@ -2,10 +2,7 @@ (in-package goal) ;; definition for symbol *collide-vif0-init*, type (array uint32) -(define *collide-vif0-init* (the-as (array uint32) (new - 'static - 'boxed-array - :type uint32 :length 12 :allocated-length 12 +(define *collide-vif0-init* (the-as (array uint32) (new 'static 'boxed-array :type uint32 #x30000000 #x4d000000 #x4d000000 diff --git a/test/decompiler/reference/engine/debug/anim-tester_REF.gc b/test/decompiler/reference/engine/debug/anim-tester_REF.gc index d64335e660..e8feb511c0 100644 --- a/test/decompiler/reference/engine/debug/anim-tester_REF.gc +++ b/test/decompiler/reference/engine/debug/anim-tester_REF.gc @@ -2482,15 +2482,12 @@ ;; failed to figure out what this is: (defstate anim-tester-process (anim-tester) - :event - anim-tester-standard-event-handler - :enter - (behavior () + :event anim-tester-standard-event-handler + :enter (behavior () (logior! (-> self flags) (anim-tester-flags fanimt1)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (zero? (logand (-> self flags) (anim-tester-flags fanimt1))) (= *master-mode* 'menu)) (anim-tester-interface) ) @@ -2506,8 +2503,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (s4-0 glst-node) (s5-1 anim-test-seq-item) (gp-2 anim-test-sequence)) (loop (logclear! (-> self flags) (anim-tester-flags fanimt0)) @@ -2654,8 +2650,7 @@ ) (none) ) - :post - anim-tester-post + :post anim-tester-post ) ;; definition for function initialize-anim-tester diff --git a/test/decompiler/reference/engine/debug/default-menu_REF.gc b/test/decompiler/reference/engine/debug/default-menu_REF.gc index 6ba831eea3..706d646090 100644 --- a/test/decompiler/reference/engine/debug/default-menu_REF.gc +++ b/test/decompiler/reference/engine/debug/default-menu_REF.gc @@ -179,60 +179,53 @@ ;; definition for function dm-cam-render-float (defun dm-cam-render-float ((arg0 int) (arg1 debug-menu-msg) (arg2 float) (arg3 float)) - (with-pp - (when (= arg1 (debug-menu-msg press)) - (cond - ((zero? (/ arg0 8)) - (when *math-camera* - (set! (-> *math-camera* fov) (* 182.04445 arg2)) - (update-math-camera - *math-camera* - (-> *setting-control* current video-mode) - (-> *setting-control* current aspect-ratio) - ) - ) - ) - ((= (/ arg0 8) 1) - (if *camera* - (send-event *camera* 'set-fov (* 182.04445 arg2)) - ) - ) - ) - ) + (when (= arg1 (debug-menu-msg press)) (cond ((zero? (/ arg0 8)) - (cond - (*math-camera* - (* 0.005493164 (-> *math-camera* fov)) - ) - (else - (empty) - arg3 + (when *math-camera* + (set! (-> *math-camera* fov) (* 182.04445 arg2)) + (update-math-camera + *math-camera* + (-> *setting-control* current video-mode) + (-> *setting-control* current aspect-ratio) ) ) ) ((= (/ arg0 8) 1) - (cond - (*camera* - (let ((f30-0 0.005493164) - (a1-3 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 0) - (set! (-> a1-3 message) 'query-fov) - (* f30-0 (the-as float (send-event-function *camera* a1-3))) - ) - ) - (else - (empty) - arg3 + (if *camera* + (send-event *camera* 'set-fov (* 182.04445 arg2)) ) + ) + ) + ) + (cond + ((zero? (/ arg0 8)) + (cond + (*math-camera* + (* 0.005493164 (-> *math-camera* fov)) + ) + (else + (empty) + arg3 ) ) - (else - (empty) - arg3 - ) + ) + ((= (/ arg0 8) 1) + (cond + (*camera* + (let ((f30-0 0.005493164)) + (* f30-0 (the-as float (send-event *camera* 'query-fov))) + ) + ) + (else + (empty) + arg3 + ) + ) + ) + (else + (empty) + arg3 ) ) ) @@ -3145,19 +3138,10 @@ ;; definition for function dm-task-get-money (defun dm-task-get-money ((arg0 int) (arg1 debug-menu-msg)) - (with-pp - (if (= arg1 (debug-menu-msg press)) - (send-event *target* 'get-pickup 5 (-> *GAME-bank* money-task-inc)) - ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) pp) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'pickup)) - (set! (-> a1-2 param 1) (the-as uint 5)) - (>= (the-as float (send-event-function *target* a1-2)) (-> *GAME-bank* money-task-inc)) + (if (= arg1 (debug-menu-msg press)) + (send-event *target* 'get-pickup 5 (-> *GAME-bank* money-task-inc)) ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ;; definition for function dm-give-all-cells diff --git a/test/decompiler/reference/engine/debug/part-tester_REF.gc b/test/decompiler/reference/engine/debug/part-tester_REF.gc index c96ead71c4..9a8d8a46de 100644 --- a/test/decompiler/reference/engine/debug/part-tester_REF.gc +++ b/test/decompiler/reference/engine/debug/part-tester_REF.gc @@ -44,8 +44,7 @@ ;; failed to figure out what this is: (defstate part-tester-idle (part-tester) - :code - (behavior () + :code (behavior () (loop (let ((gp-0 (entity-by-name *part-tester-name*))) (when gp-0 @@ -111,18 +110,13 @@ ;; INFO: Return type mismatch (pointer process) vs none. (defun start-part () (kill-by-type part-tester *active-pool*) - (let ((gp-0 (get-process *debug-part-dead-pool* part-tester #x4000))) - (when gp-0 - (let ((t9-2 (method-of-type part-tester activate))) - (t9-2 (the-as part-tester gp-0) *default-pool* 'part-tester (the-as pointer #x70004000)) + (process-spawn + part-tester + (if *anim-tester* + (-> *anim-tester* 0 root trans) + (target-pos 0) ) - (run-now-in-process gp-0 part-tester-init-by-other (if *anim-tester* - (-> *anim-tester* 0 root trans) - (target-pos 0) - ) - ) - (-> gp-0 ppointer) - ) + :from *debug-part-dead-pool* ) (none) ) diff --git a/test/decompiler/reference/engine/debug/viewer_REF.gc b/test/decompiler/reference/engine/debug/viewer_REF.gc index 0f62eefbd8..403b83f571 100644 --- a/test/decompiler/reference/engine/debug/viewer_REF.gc +++ b/test/decompiler/reference/engine/debug/viewer_REF.gc @@ -4,8 +4,7 @@ ;; definition for symbol *viewer-sg*, type skeleton-group (define *viewer-sg* (new 'static 'skeleton-group :bounds (new 'static 'vector :w 16384.0) - :lod-dist - (new 'static 'array float 4 4095996000.0 0.0 0.0 0.0) + :lod-dist (new 'static 'array float 4 4095996000.0 0.0 0.0 0.0) ) ) @@ -33,12 +32,10 @@ ;; failed to figure out what this is: (defstate viewer-process (viewer) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (-> self janim) - :num! - (seek! (the float (+ (-> self janim data 0 length) -1))) + :num! (seek! (the float (+ (-> self janim data 0 length) -1))) :frame-num 0.0 ) (until (ja-done? 0) @@ -50,8 +47,7 @@ ) (none) ) - :post - (the-as (function none :behavior viewer) ja-post) + :post (the-as (function none :behavior viewer) ja-post) ) ;; definition for symbol viewer-string, type string diff --git a/test/decompiler/reference/engine/dma/dma-disasm_REF.gc b/test/decompiler/reference/engine/dma/dma-disasm_REF.gc index 06a6df7f22..0428b298be 100644 --- a/test/decompiler/reference/engine/dma/dma-disasm_REF.gc +++ b/test/decompiler/reference/engine/dma/dma-disasm_REF.gc @@ -33,10 +33,7 @@ ;; definition for symbol *vif-disasm-table*, type (array vif-disasm-element) (define *vif-disasm-table* (the-as (array vif-disasm-element) - (new - 'static - 'boxed-array - :type vif-disasm-element :length 34 :allocated-length 34 + (new 'static 'boxed-array :type vif-disasm-element (new 'static 'vif-disasm-element :mask #x7f :string1 "nop") (new 'static 'vif-disasm-element :mask #x7f :tag (vif-cmd-32 stcycl) :print #x2 :string1 "stcycl") (new 'static 'vif-disasm-element diff --git a/test/decompiler/reference/engine/draw/process-drawable_REF.gc b/test/decompiler/reference/engine/draw/process-drawable_REF.gc index 90e07659a9..084e62af78 100644 --- a/test/decompiler/reference/engine/draw/process-drawable_REF.gc +++ b/test/decompiler/reference/engine/draw/process-drawable_REF.gc @@ -401,8 +401,7 @@ ;; failed to figure out what this is: (defstate process-drawable-art-error (process-drawable) - :code - (behavior ((arg0 string)) + :code (behavior ((arg0 string)) (logior! (-> self entity extra perm status) (entity-perm-status bit-1)) (loop (when *display-entity-errors* @@ -429,10 +428,8 @@ ;; failed to figure out what this is: (defstate process-drawable-idle (process-drawable) - :code - anim-loop - :post - ja-post + :code anim-loop + :post ja-post ) ;; definition for method 14 of type process-drawable diff --git a/test/decompiler/reference/engine/entity/entity-table_REF.gc b/test/decompiler/reference/engine/entity/entity-table_REF.gc index 81784d2b46..494fe77e2e 100644 --- a/test/decompiler/reference/engine/entity/entity-table_REF.gc +++ b/test/decompiler/reference/engine/entity/entity-table_REF.gc @@ -2,13 +2,9 @@ (in-package goal) ;; definition for symbol *entity-info*, type (array entity-info) -(define *entity-info* (the-as (array entity-info) (new - 'static - 'boxed-array - :type entity-info :length 19 :allocated-length 19 +(define *entity-info* (the-as (array entity-info) (new 'static 'boxed-array :type entity-info (new 'static 'entity-info - :ptype - (type-ref sage-finalboss :method-count 53) + :ptype (type-ref sage-finalboss :method-count 53) :package "l1" :art-group '() :pool '*16k-dead-pool* @@ -22,8 +18,7 @@ :heap-size #x8000 ) (new 'static 'entity-info - :ptype - (type-ref assistant-levitator :method-count 53) + :ptype (type-ref assistant-levitator :method-count 53) :package "l1" :art-group '() :pool '*16k-dead-pool* @@ -58,8 +53,7 @@ :heap-size #x400 ) (new 'static 'entity-info - :ptype - (type-ref pickup-spawner :method-count 30) + :ptype (type-ref pickup-spawner :method-count 30) :package "game" :art-group '() :pool '*16k-dead-pool* @@ -87,8 +81,7 @@ :heap-size #xc00 ) (new 'static 'entity-info - :ptype - (type-ref orb-cache-top :method-count 29) + :ptype (type-ref orb-cache-top :method-count 29) :package "game" :art-group '("orb-cache-top") :pool '*16k-dead-pool* @@ -137,8 +130,7 @@ :heap-size #xc00 ) (new 'static 'entity-info - :ptype - (type-ref target-start :method-count 15) + :ptype (type-ref target-start :method-count 15) :package "game" :art-group '() :pool '*16k-dead-pool* diff --git a/test/decompiler/reference/engine/game/collectables-part_REF.gc b/test/decompiler/reference/engine/game/collectables-part_REF.gc index 8fa1296c19..e646156415 100644 --- a/test/decompiler/reference/engine/game/collectables-part_REF.gc +++ b/test/decompiler/reference/engine/game/collectables-part_REF.gc @@ -79,8 +79,7 @@ (defpartgroup group-eco-blue :id 42 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2 :flags (launch-asap) :binding 3) + :parts ((sp-item 2 :flags (launch-asap) :binding 3) (sp-item 3 :fade-after (meters 40) :flags (start-dead launch-asap) :binding 5) (sp-item 3 :fade-after (meters 60) :flags (start-dead launch-asap) :binding 5) (sp-item 3 :fade-after (meters 80) :flags (start-dead launch-asap) :binding 5) @@ -105,8 +104,7 @@ ;; failed to figure out what this is: (defpart 2 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 4)) (sp-flt spt-scale-x (meters 0.01)) @@ -119,8 +117,7 @@ ;; failed to figure out what this is: (defpart 3 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.3) (meters 0.15) 1.0) @@ -146,14 +143,12 @@ ;; failed to figure out what this is: (defpart 4 - :init-specs - ((sp-flt spt-fade-a -0.21333334) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.21333334) (sp-int spt-timer 150)) ) ;; failed to figure out what this is: (defpart 5 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.2) (meters 0.1) 1.0) @@ -179,14 +174,12 @@ ;; failed to figure out what this is: (defpart 6 - :init-specs - ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) ) ;; failed to figure out what this is: (defpart 7 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -206,8 +199,7 @@ ;; failed to figure out what this is: (defpart 8 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -227,8 +219,7 @@ ;; failed to figure out what this is: (defpart 9 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -248,8 +239,7 @@ ;; failed to figure out what this is: (defpart 10 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.2 0.2 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -268,8 +258,7 @@ :duration 150 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 11 :flags (launch-asap) :binding 12) + :parts ((sp-item 11 :flags (launch-asap) :binding 12) (sp-item 12 :flags (start-dead launch-asap) :binding 13) (sp-item 12 :flags (start-dead launch-asap) :binding 14) (sp-item 12 :flags (start-dead launch-asap) :binding 13) @@ -292,8 +281,7 @@ ;; failed to figure out what this is: (defpart 11 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 4)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -313,8 +301,7 @@ ;; failed to figure out what this is: (defpart 12 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-y (meters -4) (meters 16) 1.0) (sp-flt spt-z (meters 0.08)) @@ -336,8 +323,7 @@ ;; failed to figure out what this is: (defpart 13 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -357,8 +343,7 @@ ;; failed to figure out what this is: (defpart 14 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -378,8 +363,7 @@ ;; failed to figure out what this is: (defpart 147 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -401,8 +385,7 @@ (defpartgroup group-part-vent-blue-active :id 44 :bounds (static-bspherem 0 5 0 5) - :parts - ((sp-item 149 :fade-after (meters 140) :falloff-to (meters 140) :binding 156) + :parts ((sp-item 149 :fade-after (meters 140) :falloff-to (meters 140) :binding 156) (sp-item 149 :fade-after (meters 140) :falloff-to (meters 140) :binding 155) (sp-item 149 :fade-after (meters 140) :falloff-to (meters 140) :binding 154) (sp-item 150) @@ -424,14 +407,12 @@ (defpartgroup group-part-vent-blue-inactive :id 45 :bounds (static-bspherem 0 5 0 5) - :parts - ((sp-item 149 :fade-after (meters 100)) (sp-item 150)) + :parts ((sp-item 149 :fade-after (meters 100)) (sp-item 150)) ) ;; failed to figure out what this is: (defpart 150 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -451,8 +432,7 @@ ;; failed to figure out what this is: (defpart 149 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 0.05 0.1 1.0) (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -471,8 +451,7 @@ ;; failed to figure out what this is: (defpart 156 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) (sp-int spt-rot-x 4) @@ -492,8 +471,7 @@ ;; failed to figure out what this is: (defpart 155 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) (sp-int spt-rot-x 4) @@ -513,8 +491,7 @@ ;; failed to figure out what this is: (defpart 154 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) (sp-int spt-rot-x 4) @@ -534,8 +511,7 @@ ;; failed to figure out what this is: (defpart 151 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.1 0.5 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -558,8 +534,7 @@ ;; failed to figure out what this is: (defpart 152 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-rnd-flt spt-num 0.2 0.4 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -582,8 +557,7 @@ ;; failed to figure out what this is: (defpart 153 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-rnd-flt spt-num 0.3 0.1 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -606,8 +580,7 @@ ;; failed to figure out what this is: (defpart 146 - :init-specs - ((sp-flt spt-r 64.0) + :init-specs ((sp-flt spt-r 64.0) (sp-flt spt-g 64.0) (sp-flt spt-fade-r -1.0) (sp-flt spt-fade-g -1.0) @@ -619,8 +592,7 @@ (defpartgroup group-eco-red :id 48 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 160 :flags (launch-asap) :binding 161) + :parts ((sp-item 160 :flags (launch-asap) :binding 161) (sp-item 161 :flags (start-dead launch-asap) :binding 162) (sp-item 161 :flags (start-dead launch-asap) :binding 162) (sp-item 161 :flags (start-dead launch-asap) :binding 162) @@ -641,8 +613,7 @@ ;; failed to figure out what this is: (defpart 160 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 4)) (sp-flt spt-scale-x (meters 0.01)) @@ -655,8 +626,7 @@ ;; failed to figure out what this is: (defpart 161 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.15) (meters 0.2) 1.0) @@ -682,14 +652,12 @@ ;; failed to figure out what this is: (defpart 165 - :init-specs - ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) ) ;; failed to figure out what this is: (defpart 162 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.25) (meters 0.1) 1.0) @@ -712,14 +680,12 @@ ;; failed to figure out what this is: (defpart 166 - :init-specs - ((sp-flt spt-fade-a -0.21333334) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.21333334) (sp-int spt-timer 150)) ) ;; failed to figure out what this is: (defpart 163 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -740,8 +706,7 @@ ;; failed to figure out what this is: (defpart 164 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -765,8 +730,7 @@ ;; failed to figure out what this is: (defpart 167 - :init-specs - ((sp-flt spt-fade-g 0.0)) + :init-specs ((sp-flt spt-fade-g 0.0)) ) ;; failed to figure out what this is: @@ -776,8 +740,7 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 168 :flags (launch-asap) :binding 169) + :parts ((sp-item 168 :flags (launch-asap) :binding 169) (sp-item 169 :flags (start-dead launch-asap) :binding 170) (sp-item 169 :flags (start-dead launch-asap) :binding 170) (sp-item 169 :flags (start-dead launch-asap) :binding 170) @@ -793,8 +756,7 @@ ;; failed to figure out what this is: (defpart 168 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 4)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -814,8 +776,7 @@ ;; failed to figure out what this is: (defpart 169 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-y (meters -4) (meters 16) 1.0) (sp-flt spt-z (meters 0.08)) @@ -837,8 +798,7 @@ ;; failed to figure out what this is: (defpart 170 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -865,8 +825,7 @@ (defpartgroup group-part-vent-red-active :id 50 :bounds (static-bspherem 0 3 0 5) - :parts - ((sp-item 172 :fade-after (meters 30) :period 330 :length 5 :binding 173) + :parts ((sp-item 172 :fade-after (meters 30) :period 330 :length 5 :binding 173) (sp-item 172 :fade-after (meters 60) :period 736 :length 5 :binding 173) (sp-item 172 :fade-after (meters 90) :period 936 :length 5 :binding 173) (sp-item 172 :fade-after (meters 130) :period 528 :length 5 :binding 173) @@ -904,14 +863,12 @@ (defpartgroup group-part-vent-red-inactive :id 51 :bounds (static-bspherem 0 3 0 5) - :parts - ((sp-item 176 :fade-after (meters 140) :falloff-to (meters 140)) (sp-item 177)) + :parts ((sp-item 176 :fade-after (meters 140) :falloff-to (meters 140)) (sp-item 177)) ) ;; failed to figure out what this is: (defpart 177 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.6 0.6 1.0) (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -933,8 +890,7 @@ ;; failed to figure out what this is: (defpart 176 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 0.1 0.3 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -956,8 +912,7 @@ ;; failed to figure out what this is: (defpart 172 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 1.5) 1.0) (sp-flt spt-scale-x (meters 0.01)) @@ -973,8 +928,7 @@ ;; failed to figure out what this is: (defpart 173 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 0.5)) @@ -998,8 +952,7 @@ ;; failed to figure out what this is: (defpart 174 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.25) (meters 0.1) 1.0) @@ -1019,8 +972,7 @@ ;; failed to figure out what this is: (defpart 175 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1045,16 +997,14 @@ ;; failed to figure out what this is: (defpart 171 - :init-specs - ((sp-flt spt-fade-g 0.0)) + :init-specs ((sp-flt spt-fade-g 0.0)) ) ;; failed to figure out what this is: (defpartgroup group-part-vent-yellow-active :id 52 :bounds (static-bspherem 0 3 0 5) - :parts - ((sp-item 178 :fade-after (meters 40) :period 330 :length 5 :binding 179) + :parts ((sp-item 178 :fade-after (meters 40) :period 330 :length 5 :binding 179) (sp-item 178 :fade-after (meters 60) :period 736 :length 5 :binding 179) (sp-item 178 :fade-after (meters 80) :period 936 :length 5 :binding 179) (sp-item 178 :fade-after (meters 100) :period 528 :length 5 :binding 179) @@ -1092,14 +1042,12 @@ (defpartgroup group-part-vent-yellow-inactive :id 53 :bounds (static-bspherem 0 3 0 5) - :parts - ((sp-item 182 :fade-after (meters 140) :falloff-to (meters 140)) (sp-item 183)) + :parts ((sp-item 182 :fade-after (meters 140) :falloff-to (meters 140)) (sp-item 183)) ) ;; failed to figure out what this is: (defpart 183 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.6 0.6 1.0) (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1121,8 +1069,7 @@ ;; failed to figure out what this is: (defpart 182 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 0.1 0.3 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1144,8 +1091,7 @@ ;; failed to figure out what this is: (defpart 178 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 1.5) 1.0) (sp-flt spt-scale-x (meters 0.01)) @@ -1161,8 +1107,7 @@ ;; failed to figure out what this is: (defpart 179 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-flt spt-y (meters 0)) @@ -1183,8 +1128,7 @@ ;; failed to figure out what this is: (defpart 180 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -1205,8 +1149,7 @@ ;; failed to figure out what this is: (defpart 181 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.5 2.0 1.0) (sp-flt spt-y (meters -0.05)) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 1.0) @@ -1234,16 +1177,14 @@ ;; failed to figure out what this is: (defpart 190 - :init-specs - ((sp-flt spt-fade-r 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0)) ) ;; failed to figure out what this is: (defpartgroup group-eco-yellow :id 56 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 191 :flags (launch-asap) :binding 192) + :parts ((sp-item 191 :flags (launch-asap) :binding 192) (sp-item 192 :flags (start-dead launch-asap) :binding 193) (sp-item 192 :flags (start-dead launch-asap) :binding 193) (sp-item 192 :flags (start-dead launch-asap) :binding 193) @@ -1267,8 +1208,7 @@ ;; failed to figure out what this is: (defpart 191 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 4)) (sp-flt spt-scale-x (meters 0.01)) @@ -1281,8 +1221,7 @@ ;; failed to figure out what this is: (defpart 192 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.15) (meters 0.2) 1.0) @@ -1308,14 +1247,12 @@ ;; failed to figure out what this is: (defpart 196 - :init-specs - ((sp-flt spt-fade-a -0.10666667) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.10666667) (sp-int spt-timer 150)) ) ;; failed to figure out what this is: (defpart 193 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.75) (meters 0.1) 1.0) @@ -1338,14 +1275,12 @@ ;; failed to figure out what this is: (defpart 197 - :init-specs - ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) ) ;; failed to figure out what this is: (defpart 194 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -1366,8 +1301,7 @@ ;; failed to figure out what this is: (defpart 195 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1389,8 +1323,7 @@ ;; failed to figure out what this is: (defpart 198 - :init-specs - ((sp-flt spt-fade-g 0.0)) + :init-specs ((sp-flt spt-fade-g 0.0)) ) ;; failed to figure out what this is: @@ -1399,8 +1332,7 @@ :duration 150 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 199 :flags (launch-asap) :binding 200) + :parts ((sp-item 199 :flags (launch-asap) :binding 200) (sp-item 200 :flags (start-dead launch-asap) :binding 201) (sp-item 200 :flags (start-dead launch-asap) :binding 201) (sp-item 200 :flags (start-dead launch-asap) :binding 201) @@ -1416,8 +1348,7 @@ ;; failed to figure out what this is: (defpart 199 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 4)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1437,8 +1368,7 @@ ;; failed to figure out what this is: (defpart 200 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-y (meters -4) (meters 16) 1.0) (sp-flt spt-z (meters 0.08)) @@ -1460,8 +1390,7 @@ ;; failed to figure out what this is: (defpart 201 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1485,8 +1414,7 @@ (defpartgroup group-eco-green :id 58 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 202 :flags (launch-asap) :binding 203) + :parts ((sp-item 202 :flags (launch-asap) :binding 203) (sp-item 203 :flags (start-dead launch-asap) :binding 204) (sp-item 203 :flags (start-dead launch-asap) :binding 204) (sp-item 203 :flags (start-dead launch-asap) :binding 204) @@ -1509,8 +1437,7 @@ ;; failed to figure out what this is: (defpart 202 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 4)) (sp-flt spt-scale-x (meters 0.01)) @@ -1526,8 +1453,7 @@ ;; failed to figure out what this is: (defpart 203 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.3) (meters 0.25) 1.0) @@ -1552,14 +1478,12 @@ ;; failed to figure out what this is: (defpart 206 - :init-specs - ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) ) ;; failed to figure out what this is: (defpart 204 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 0.3)) @@ -1582,14 +1506,12 @@ ;; failed to figure out what this is: (defpart 207 - :init-specs - ((sp-flt spt-fade-a -0.42666668) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.42666668) (sp-int spt-timer 150)) ) ;; failed to figure out what this is: (defpart 205 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-y (meters -0.05)) (sp-flt spt-scale-x (meters 0.3)) @@ -1611,16 +1533,14 @@ ;; failed to figure out what this is: (defpart 208 - :init-specs - ((sp-flt spt-fade-r 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0)) ) ;; failed to figure out what this is: (defpartgroup group-eco-green-pill :id 59 :bounds (static-bspherem 0 0 0 0.4) - :parts - ((sp-item 209 :flags (launch-asap) :binding 210) + :parts ((sp-item 209 :flags (launch-asap) :binding 210) (sp-item 210 :flags (start-dead launch-asap) :binding 211) (sp-item 211 :flags (start-dead launch-asap) :binding 212) (sp-item 212 :flags (start-dead launch-asap) :binding 213) @@ -1633,8 +1553,7 @@ ;; failed to figure out what this is: (defpart 209 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.01)) (sp-copy-from-other spt-scale-y -4) @@ -1649,8 +1568,7 @@ ;; failed to figure out what this is: (defpart 210 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.2) (meters 0.1) 1.0) @@ -1675,14 +1593,12 @@ ;; failed to figure out what this is: (defpart 214 - :init-specs - ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150)) ) ;; failed to figure out what this is: (defpart 211 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0) (meters 0.2) 1.0) @@ -1707,8 +1623,7 @@ ;; failed to figure out what this is: (defpart 212 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 0.08)) @@ -1731,14 +1646,12 @@ ;; failed to figure out what this is: (defpart 215 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-a -0.8466667) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-a -0.8466667) (sp-int spt-timer 150)) ) ;; failed to figure out what this is: (defpart 213 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-y (meters -0.05)) (sp-flt spt-scale-x (meters 0.15)) @@ -1764,8 +1677,7 @@ :duration 150 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 216 :flags (launch-asap) :binding 217) + :parts ((sp-item 216 :flags (launch-asap) :binding 217) (sp-item 217 :flags (start-dead launch-asap) :binding 218) (sp-item 217 :flags (start-dead launch-asap) :binding 218) (sp-item 217 :flags (start-dead launch-asap) :binding 218) @@ -1785,8 +1697,7 @@ :duration 150 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 216 :flags (launch-asap) :binding 219) + :parts ((sp-item 216 :flags (launch-asap) :binding 219) (sp-item 219 :flags (start-dead launch-asap) :binding 218) (sp-item 219 :flags (start-dead launch-asap) :binding 218) (sp-item 219 :flags (start-dead launch-asap) :binding 218) @@ -1802,8 +1713,7 @@ ;; failed to figure out what this is: (defpart 216 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 4)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1822,8 +1732,7 @@ ;; failed to figure out what this is: (defpart 148 - :init-specs - ((sp-flt spt-scale-x (meters 0.1)) + :init-specs ((sp-flt spt-scale-x (meters 0.1)) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-a 0.0) (sp-flt spt-fade-a 0.0) @@ -1832,8 +1741,7 @@ ;; failed to figure out what this is: (defpart 219 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-y (meters -4) (meters 16) 1.0) (sp-flt spt-z (meters 0.08)) @@ -1854,8 +1762,7 @@ ;; failed to figure out what this is: (defpart 217 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -4) (meters 16) 1.0) (sp-flt spt-z (meters 0.08)) @@ -1876,8 +1783,7 @@ ;; failed to figure out what this is: (defpart 220 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -0.05)) (sp-flt spt-scale-x (meters 0.3)) @@ -1899,8 +1805,7 @@ ;; failed to figure out what this is: (defpart 218 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -0.05)) (sp-flt spt-scale-x (meters 0.2)) @@ -1924,8 +1829,7 @@ (defpartgroup group-part-vent-green-active :id 62 :bounds (static-bspherem 0 5 0 5) - :parts - ((sp-item 222 :fade-after (meters 80) :falloff-to (meters 80) :period 48 :length 5 :binding 223) + :parts ((sp-item 222 :fade-after (meters 80) :falloff-to (meters 80) :period 48 :length 5 :binding 223) (sp-item 223 :fade-after (meters 80) :flags (start-dead launch-asap) :binding 224) (sp-item 223 :fade-after (meters 80) :flags (start-dead launch-asap) :binding 224) (sp-item 223 :fade-after (meters 80) :flags (start-dead launch-asap) :binding 224) @@ -1963,8 +1867,7 @@ ;; failed to figure out what this is: (defpart 226 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.6 0.6 1.0) (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1986,8 +1889,7 @@ ;; failed to figure out what this is: (defpart 225 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 0.1 0.3 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2009,8 +1911,7 @@ ;; failed to figure out what this is: (defpart 222 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-scale-x (meters 0.01)) @@ -2024,8 +1925,7 @@ ;; failed to figure out what this is: (defpart 223 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.2) (meters 0.6) 1.0) @@ -2049,14 +1949,12 @@ ;; failed to figure out what this is: (defpart 227 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-a -0.8466667) (sp-int spt-timer 150)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-a -0.8466667) (sp-int spt-timer 150)) ) ;; failed to figure out what this is: (defpart 224 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.2)) (sp-copy-from-other spt-scale-y -4) @@ -2079,8 +1977,7 @@ (defpartgroup group-fuel-cell-starburst :id 63 :bounds (static-bspherem 0 0.5 0 1.5) - :parts - ((sp-item 228 :fade-after (meters 35)) + :parts ((sp-item 228 :fade-after (meters 35)) (sp-item 229 :fade-after (meters 20)) (sp-item 230 :flags (bit1 launch-asap)) (sp-item 231 :flags (bit1 launch-asap)) @@ -2089,8 +1986,7 @@ ;; failed to figure out what this is: (defpart 228 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-int spt-rot-x 4) @@ -2114,14 +2010,12 @@ ;; failed to figure out what this is: (defpart 232 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) ;; failed to figure out what this is: (defpart 229 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-int spt-rot-x 4) @@ -2144,8 +2038,7 @@ ;; failed to figure out what this is: (defpart 230 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3.5)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2163,8 +2056,7 @@ ;; failed to figure out what this is: (defpart 231 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 4)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2198,8 +2090,7 @@ ;; failed to figure out what this is: (defpart 233 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-int spt-rot-x 4) @@ -2222,14 +2113,12 @@ ;; failed to figure out what this is: (defpart 234 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) ;; failed to figure out what this is: (defpart 235 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-int spt-rot-x 4) @@ -2251,8 +2140,7 @@ ;; failed to figure out what this is: (defpart 236 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2.5)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2270,8 +2158,7 @@ ;; failed to figure out what this is: (defpart 237 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2294,14 +2181,12 @@ (defpartgroup group-buzzer-effect :id 65 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 239 :flags (is-3d)) (sp-item 240 :flags (is-3d))) + :parts ((sp-item 239 :flags (is-3d)) (sp-item 240 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 239 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1a :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1a :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-scale-x (meters 1.3) (meters 0.2) 1.0) (sp-rnd-flt spt-rot-x 0.0 12743.111 1.0) @@ -2321,8 +2206,7 @@ ;; failed to figure out what this is: (defpart 240 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1a :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1a :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-scale-x (meters 1.3) (meters 0.2) 1.0) (sp-rnd-flt spt-rot-x 20024.889 12743.111 1.0) @@ -2347,14 +2231,12 @@ :linger-duration 1200 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 241) (sp-item 242) (sp-item 243)) + :parts ((sp-item 241) (sp-item 242) (sp-item 243)) ) ;; failed to figure out what this is: (defpart 241 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -2378,8 +2260,7 @@ ;; failed to figure out what this is: (defpart 242 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 2) 1.0) (sp-int spt-rot-x 4) @@ -2402,8 +2283,7 @@ ;; failed to figure out what this is: (defpart 243 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 6)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2431,14 +2311,12 @@ :linger-duration 1200 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 246) (sp-item 247) (sp-item 248)) + :parts ((sp-item 246) (sp-item 247) (sp-item 248)) ) ;; failed to figure out what this is: (defpart 246 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -2462,8 +2340,7 @@ ;; failed to figure out what this is: (defpart 247 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 2) 1.0) (sp-int spt-rot-x 4) @@ -2486,8 +2363,7 @@ ;; failed to figure out what this is: (defpart 248 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 6)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2515,14 +2391,12 @@ :linger-duration 1200 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 249) (sp-item 250) (sp-item 251)) + :parts ((sp-item 249) (sp-item 250) (sp-item 251)) ) ;; failed to figure out what this is: (defpart 249 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -2546,14 +2420,12 @@ ;; failed to figure out what this is: (defpart 244 - :init-specs - ((sp-flt spt-fade-a -0.15238096)) + :init-specs ((sp-flt spt-fade-a -0.15238096)) ) ;; failed to figure out what this is: (defpart 250 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 2) 1.0) (sp-int spt-rot-x 4) @@ -2576,8 +2448,7 @@ ;; failed to figure out what this is: (defpart 251 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 6)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2600,8 +2471,7 @@ ;; failed to figure out what this is: (defpart 245 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.025)) (sp-copy-from-other spt-scalevel-y -4)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.025)) (sp-copy-from-other spt-scalevel-y -4)) ) ;; failed to figure out what this is: @@ -2611,14 +2481,12 @@ :linger-duration 1200 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 252) (sp-item 253) (sp-item 254)) + :parts ((sp-item 252) (sp-item 253) (sp-item 254)) ) ;; failed to figure out what this is: (defpart 252 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -2642,8 +2510,7 @@ ;; failed to figure out what this is: (defpart 253 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 2) 1.0) (sp-int spt-rot-x 4) @@ -2666,8 +2533,7 @@ ;; failed to figure out what this is: (defpart 254 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 6)) (sp-flt spt-rot-z (degrees 0.0)) diff --git a/test/decompiler/reference/engine/game/collectables_REF.gc b/test/decompiler/reference/engine/game/collectables_REF.gc index 2ed1fc7010..2a2d8170f5 100644 --- a/test/decompiler/reference/engine/game/collectables_REF.gc +++ b/test/decompiler/reference/engine/game/collectables_REF.gc @@ -431,22 +431,19 @@ ;; failed to figure out what this is: (defstate blocked (eco-collectable) :virtual #t - :trans - (behavior () + :trans (behavior () (if (task-complete? *game-info* (-> self entity extra perm task)) (go-virtual wait) ) (none) ) - :code - (the-as (function none :behavior eco-collectable) anim-loop) + :code (the-as (function none :behavior eco-collectable) anim-loop) ) ;; failed to figure out what this is: (defstate jump (eco-collectable) :virtual #t - :code - (behavior () + :code (behavior () (if (type-type? (-> self type) fuel-cell) (sound-play-by-name (static-sound-name "cell-prize") (new-sound-id) 1024 0 0 1 #t) ) @@ -490,8 +487,7 @@ ;; failed to figure out what this is: (defstate wait (eco-collectable) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-3 none)) (when (and (or (= arg2 'touch) (= arg2 'attack)) (and (logtest? (-> self flags) (collectable-flags can-collect)) @@ -570,8 +566,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (if (and (logtest? (-> self fact options) (fact-options fop6 can-collect)) (logtest? (-> self flags) (collectable-flags can-collect)) (!= (-> self next-state name) 'pickup) @@ -581,8 +576,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (cond ((logtest? (-> self flags) (collectable-flags trans)) (vector-v++! @@ -626,8 +620,7 @@ (update-transforms! (-> self root-override)) (none) ) - :code - (behavior () + :code (behavior () (loop (let ((gp-0 (-> self part)) (s5-0 (-> self root-override root-prim prim-core)) @@ -668,8 +661,7 @@ ;; failed to figure out what this is: (defstate notice-blue (eco-collectable) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (when (and (or (= arg2 'touch) (= arg2 'attack)) (and (logtest? (-> self flags) (collectable-flags can-collect)) (>= (- (-> *display* base-frame-counter) (-> self birth-time)) (-> self collect-timeout)) @@ -681,8 +673,7 @@ (go-virtual pickup #f (process->handle arg0)) ) ) - :enter - (behavior ((arg0 handle)) + :enter (behavior ((arg0 handle)) (set! (-> self target) arg0) (set! (-> self speed quad) (the-as uint128 0)) (set! (-> self speed z) (the-as float (if (rand-vu-percent? (the-as float 0.5)) @@ -695,15 +686,13 @@ (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (if (-> self actor-pause) (logior! (-> self mask) (process-mask actor-pause)) ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) self) (set! (-> a1-0 num-params) 2) @@ -716,8 +705,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (loop (set! (-> self root-override trans quad) (-> self base quad)) (add-blue-motion #t #f #t #f) @@ -744,8 +732,7 @@ ;; failed to figure out what this is: (defstate pickup (eco-collectable) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -784,8 +771,7 @@ ) ) ) - :enter - (behavior ((arg0 object) (arg1 handle)) + :enter (behavior ((arg0 object) (arg1 handle)) (set! (-> self pickup-handle) arg1) (when (-> self notify-parent) (let ((gp-0 (new 'stack-no-clear 'event-message-block))) @@ -808,8 +794,7 @@ (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :code - (behavior ((arg0 object) (arg1 handle)) + :code (behavior ((arg0 object) (arg1 handle)) (clear-collide-with-as (-> self root-override)) (if (not (or (= (-> self fact pickup-type) (pickup-type eco-pill)) (logtest? (-> self fact options) (fact-options powerup)) @@ -852,75 +837,61 @@ (kill-and-free-particles (-> self part)) ) (let ((gp-6 (handle->process (-> self pickup-handle)))) - (when (nonzero? (-> self collect-effect)) - (let ((s5-5 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-5 - (let ((t9-17 (method-of-type part-tracker activate))) - (t9-17 (the-as part-tracker s5-5) gp-6 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-5 - part-tracker-init - (-> self collect-effect) - -1 - part-tracker-track-target - #f - #f - (-> self root-override root-prim prim-core) - ) - (-> s5-5 ppointer) + (if (nonzero? (-> self collect-effect)) + (process-spawn + part-tracker + :init part-tracker-init + (-> self collect-effect) + -1 + part-tracker-track-target + #f + #f + (-> self root-override root-prim prim-core) + :to gp-6 ) ) - ) ) - (when (nonzero? (-> self collect-effect2)) - (let ((gp-7 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-7 - (let ((t9-20 (method-of-type part-tracker activate))) - (t9-20 (the-as part-tracker gp-7) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-7 - part-tracker-init - (-> self collect-effect2) - -1 - (lambda ((arg0 part-tracker)) - (let ((s5-0 (handle->process (-> arg0 userdata)))) - (when s5-0 - (let* ((v1-4 (handle->process (-> (the-as eco-collectable s5-0) pickup-handle))) - (a2-0 (cond - ((not v1-4) - (-> arg0 root trans) - ) - ((= (-> v1-4 type) target) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> (the-as target v1-4) node-list data 5)) - ) - (else - (-> (the-as target v1-4) control trans) - ) + (if (nonzero? (-> self collect-effect2)) + (process-spawn + part-tracker + :init part-tracker-init + (-> self collect-effect2) + -1 + (lambda ((arg0 part-tracker)) + (let ((s5-0 (handle->process (-> arg0 userdata)))) + (when s5-0 + (let* ((v1-4 (handle->process (-> (the-as eco-collectable s5-0) pickup-handle))) + (a2-0 (cond + ((not v1-4) + (-> arg0 root trans) + ) + ((= (-> v1-4 type) target) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> (the-as target v1-4) node-list data 5)) + ) + (else + (-> (the-as target v1-4) control trans) ) ) - ) - (vector-lerp! - (-> arg0 root trans) - (-> arg0 offset) - a2-0 - (/ (the float (- (-> *display* base-frame-counter) (-> arg0 start-time))) - (the float (-> (the-as eco-collectable s5-0) collect-effect-time)) - ) - ) + ) + ) + (vector-lerp! + (-> arg0 root trans) + (-> arg0 offset) + a2-0 + (/ (the float (- (-> *display* base-frame-counter) (-> arg0 start-time))) + (the float (-> (the-as eco-collectable s5-0) collect-effect-time)) + ) ) ) ) ) - (process->handle self) - #f - (-> self root-override root-prim prim-core) ) - (-> gp-7 ppointer) + (process->handle self) + #f + (-> self root-override root-prim prim-core) + :to self ) ) - ) (while (-> self child) (suspend) ) @@ -932,8 +903,7 @@ ;; failed to figure out what this is: (defstate die (eco-collectable) :virtual #t - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status dead) #t) (none) ) @@ -974,8 +944,7 @@ ;; failed to figure out what this is: (defstate die (eco) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'fade) @@ -989,16 +958,14 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (process-entity-status! self (entity-perm-status bit-3) #f) (if (-> self actor-pause) (logior! (-> self mask) (process-mask actor-pause)) ) (none) ) - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status bit-3) #t) (logclear! (-> self mask) (process-mask actor-pause)) (logclear! (-> self fact options) (fact-options fop6 can-collect)) @@ -1014,15 +981,8 @@ ) ) (else - (while (let ((f30-0 0.0) - (a1-1 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'pickup)) - (set! (-> a1-1 param 1) (the-as uint (-> self fact pickup-type))) - (< f30-0 (the-as float (send-event-function *target* a1-1))) + (while (let ((f30-0 0.0)) + (< f30-0 (the-as float (send-event *target* 'query 'pickup (-> self fact pickup-type)))) ) (suspend) ) @@ -1281,8 +1241,7 @@ ;; failed to figure out what this is: (defstate wait (money) :virtual #t - :code - (behavior () + :code (behavior () (loop (quaternion-rotate-y! (-> self root-override quat) @@ -1316,8 +1275,7 @@ ;; failed to figure out what this is: (defstate notice-blue (money) :virtual #t - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (loop (quaternion-rotate-y! (-> self root-override quat) @@ -1352,8 +1310,7 @@ ;; failed to figure out what this is: (defstate pickup (money) :virtual #t - :code - (behavior ((arg0 object) (arg1 handle)) + :code (behavior ((arg0 object) (arg1 handle)) (logclear! (-> self mask) (process-mask actor-pause)) (clear-collide-with-as (-> self root-override)) (process-entity-status! self (entity-perm-status dead) #t) @@ -1615,8 +1572,7 @@ ;; failed to figure out what this is: (defstate wait (fuel-cell) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-3 none)) (when (and (or (= arg2 'touch) (= arg2 'attack)) (and (logtest? (-> self flags) (collectable-flags can-collect)) @@ -1676,8 +1632,7 @@ ) ) ) - :code - (behavior () + :code (behavior () 0.5 (let ((f28-0 0.0)) (ja :group! (-> self draw art-group data 2)) @@ -1709,8 +1664,7 @@ ;; failed to figure out what this is: (defstate pickup (fuel-cell) :virtual #t - :enter - (behavior ((arg0 object) (arg1 handle)) + :enter (behavior ((arg0 object) (arg1 handle)) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self state-object) #t) (let ((t9-1 (-> (the-as (state eco-collectable) (find-parent-method fuel-cell 23)) enter))) @@ -1720,8 +1674,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (the-as float (cond ((string= (-> self victory-anim name) "fuel-cell-victory") 97.0 @@ -1778,8 +1731,7 @@ ) (none) ) - :code - (behavior ((arg0 object) (arg1 handle)) + :code (behavior ((arg0 object) (arg1 handle)) (local-vars (sv-96 res-tag)) (sound-play-by-name (static-sound-name "pu-powercell") (new-sound-id) 1024 0 0 1 #t) (clear-collide-with-as (-> self root-override)) @@ -1798,13 +1750,7 @@ (spool-push *art-control* (-> self victory-anim name) 0 self (the-as float -99.0)) (suspend) ) - (while (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) self) - (set! (-> a1-8 num-params) 1) - (set! (-> a1-8 message) 'clone-anim) - (set! (-> a1-8 param 0) (the-as uint self)) - (not (send-event-function *target* a1-8)) - ) + (while (not (send-event *target* 'clone-anim self)) (spool-push *art-control* (-> self victory-anim name) 0 self (the-as float -99.0)) (format #t "WARNING: fuel-cell stall on not cloning.~%") (suspend) @@ -1815,10 +1761,8 @@ (-> self entity) 'movie-pos (inline-array vector) - :tag-ptr - (& sv-96) - :time - (the-as float -1000000000.0) + :tag-ptr (& sv-96) + :time (the-as float -1000000000.0) ) ) (gp-1 (if (and v1-34 (< (-> self movie-pos-index) (the-as int (-> sv-96 elt-count)))) @@ -1866,15 +1810,7 @@ (-> *setting-control* current ambient-volume-movie) 0 ) - (let ((gp-3 (get-process *default-dead-pool* othercam #x4000))) - (when gp-3 - (let ((t9-26 (method-of-type othercam activate))) - (t9-26 (the-as othercam gp-3) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-3 othercam-init-by-other self 10 #f #t) - (-> gp-3 ppointer) - ) - ) + (process-spawn othercam self 10 #f #t :to self) (auto-save-command 'auto-save 0 0 *default-pool*) (ja-play-spooled-anim (-> self victory-anim) @@ -1892,264 +1828,257 @@ (ja-channel-set! 0) (suspend) (suspend) - (let ((gp-4 (get-process *default-dead-pool* process #x4000))) - (when gp-4 - (let ((t9-39 (method-of-type process activate))) - (t9-39 gp-4 self 'process (the-as pointer #x70004000)) + (process-spawn-function + process + (lambda :behavior collectable + ((arg0 game-task)) + (while (or (-> *setting-control* current ambient) + (-> *setting-control* current movie) + (-> *setting-control* current hint) + (str-is-playing?) + ) + (suspend) ) - (run-next-time-in-process - gp-4 - (lambda :behavior collectable - ((arg0 game-task)) - (while (or (-> *setting-control* current ambient) - (-> *setting-control* current movie) - (-> *setting-control* current hint) - (str-is-playing?) - ) - (suspend) - ) - (cond - ((= arg0 (game-task training-buzzer)) - (level-hint-spawn - (game-text-id training-assistant-found-scout-fly-cell) - "asstvb45" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task training-door)) - (level-hint-spawn - (game-text-id training-eco-opened-door) - "sagevb25" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task beach-ecorocks)) - (level-hint-spawn - (game-text-id beach-collectors-unblocked) - "sagevb01" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task misty-cannon)) - (level-hint-spawn - (game-text-id misty-stopped-lurkers-at-silo) - "sagevb02" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task misty-bike)) - (level-hint-spawn - (game-text-id misty-stopped-balloon-lurkers) - "asstvb03" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task firecanyon-end)) - (level-hint-spawn - (game-text-id fire-canyon-we-made-it) - "sksp0095" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task rolling-robbers)) - (level-hint-spawn - (game-text-id rolling-beat-lurkers) - "asstvb20" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task rolling-plants)) - (level-hint-spawn - (game-text-id sage-golfclap-i-have-low-expectations) - "sagevb03" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task swamp-flutflut)) - (level-hint-spawn - (game-text-id swamp-finished-with-flutflut) - "asstvb21" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task ogre-boss)) - (level-hint-spawn - (game-text-id ogre-boss-killed) - "asstvb23" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task ogre-end)) - (level-hint-spawn - (game-text-id assistant-finished-mountain-pass-race) - "asstvb25" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task beach-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task jungle-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task misty-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task firecanyon-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task rolling-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task sunken-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task swamp-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task ogre-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task cave-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task snow-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task lavatube-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task citadel-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task village1-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task village2-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 (game-task village3-buzzer)) - (level-hint-spawn - (game-text-id found-all-scout-flies) - "sksp009k" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ) - (none) - ) - (the int (-> self fact pickup-amount)) + (cond + ((= arg0 (game-task training-buzzer)) + (level-hint-spawn + (game-text-id training-assistant-found-scout-fly-cell) + "asstvb45" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task training-door)) + (level-hint-spawn + (game-text-id training-eco-opened-door) + "sagevb25" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task beach-ecorocks)) + (level-hint-spawn + (game-text-id beach-collectors-unblocked) + "sagevb01" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task misty-cannon)) + (level-hint-spawn + (game-text-id misty-stopped-lurkers-at-silo) + "sagevb02" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task misty-bike)) + (level-hint-spawn + (game-text-id misty-stopped-balloon-lurkers) + "asstvb03" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task firecanyon-end)) + (level-hint-spawn + (game-text-id fire-canyon-we-made-it) + "sksp0095" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task rolling-robbers)) + (level-hint-spawn + (game-text-id rolling-beat-lurkers) + "asstvb20" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task rolling-plants)) + (level-hint-spawn + (game-text-id sage-golfclap-i-have-low-expectations) + "sagevb03" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task swamp-flutflut)) + (level-hint-spawn + (game-text-id swamp-finished-with-flutflut) + "asstvb21" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task ogre-boss)) + (level-hint-spawn + (game-text-id ogre-boss-killed) + "asstvb23" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task ogre-end)) + (level-hint-spawn + (game-text-id assistant-finished-mountain-pass-race) + "asstvb25" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task beach-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task jungle-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task misty-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task firecanyon-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task rolling-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task sunken-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task swamp-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task ogre-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task cave-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task snow-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task lavatube-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task citadel-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task village1-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task village2-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 (game-task village3-buzzer)) + (level-hint-spawn + (game-text-id found-all-scout-flies) + "sksp009k" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) ) - (-> gp-4 ppointer) + (none) ) + (the int (-> self fact pickup-amount)) + :to self ) (case (the int (-> self fact pickup-amount)) (((game-task citadel-sage-blue)) @@ -2173,8 +2102,7 @@ (convert-to-hud-object self (the-as hud (ppointer->process (-> *hud-parts* fuel-cell)))) (none) ) - :post - (behavior () + :post (behavior () (transform-post) (if (-> self state-object) (spawn (-> self part) (the-as vector (-> self root-override root-prim prim-core))) @@ -2281,8 +2209,7 @@ ;; failed to figure out what this is: (defstate fuel-cell-clone-anim (fuel-cell) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('pickup) (when (!= (-> self next-state name) 'pickup) @@ -2309,24 +2236,21 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (if (-> self actor-pause) (logior! (-> self mask) (process-mask actor-pause)) ) (logclear! (-> self skel status) (janim-status spool)) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (logclear! (-> self mask) (process-mask actor-pause)) (clone-anim arg0 3 #t "") (format #t "ERROR: clone-anim returned in fuel-cell~%") (deactivate self) (none) ) - :post - (behavior () + :post (behavior () (update-transforms! (-> self root-override)) (animate self) (none) @@ -2403,8 +2327,7 @@ ;; failed to figure out what this is: (defstate wait (buzzer) :virtual #t - :code - (behavior () + :code (behavior () (case (get-reminder (get-task-control (the-as game-task (logand (the int (-> self fact pickup-amount)) #xffff))) 0) ((127) (go-virtual pickup #t (the-as handle #f)) @@ -2422,8 +2345,7 @@ ;; failed to figure out what this is: (defstate pickup (buzzer) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'notify) (process-entity-status! self (entity-perm-status dead) #t) @@ -2431,14 +2353,12 @@ ) ) ) - :enter - (behavior ((arg0 object) (arg1 handle)) + :enter (behavior ((arg0 object) (arg1 handle)) (set! (-> self pickup-handle) arg1) (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :code - (behavior ((arg0 object) (arg1 handle)) + :code (behavior ((arg0 object) (arg1 handle)) (logclear! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status complete) #t) (sound-play-by-name (static-sound-name "buzzer-pickup") (new-sound-id) 1024 0 0 1 #t) @@ -2477,16 +2397,7 @@ (stop! (-> self sound)) ) (when (not arg0) - (let* ((s5-1 (get-process *default-dead-pool* manipy #x4000)) - (v1-18 (when s5-1 - (let ((t9-11 (method-of-type manipy activate))) - (t9-11 (the-as manipy s5-1) *entity-pool* 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> self root-override trans) #f *buzzer-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) + (let ((v1-18 (manipy-spawn (-> self root-override trans) #f *buzzer-sg* #f :to *entity-pool*))) (send-event (ppointer->process v1-18) 'become-hud-object (ppointer->process (-> *hud-parts* buzzers))) ) ) @@ -2984,8 +2895,7 @@ ;; failed to figure out what this is: (defstate ecovalve-idle (ecovalve) - :code - (behavior () + :code (behavior () (transform-post) (suspend) (transform-post) @@ -3169,15 +3079,7 @@ ) ) ) - (let ((s5-1 (get-process *pickup-dead-pool* ecovalve #x4000))) - (when s5-1 - (let ((t9-17 (method-of-type ecovalve activate))) - (t9-17 (the-as ecovalve s5-1) obj 'ecovalve (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 ecovalve-init-by-other (-> obj block-func)) - (-> s5-1 ppointer) - ) - ) + (process-spawn ecovalve (-> obj block-func) :from *pickup-dead-pool* :to obj) ) (if ((-> obj block-func) obj) (go vent-blocked) @@ -3205,8 +3107,7 @@ ;; failed to figure out what this is: (defstate vent-wait-for-touch (vent) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (or (= arg2 'touch) (= arg2 'attack)) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-1 from) self) @@ -3223,8 +3124,7 @@ ) (vent-standard-event-handler arg0 arg1 arg2 arg3) ) - :code - (behavior () + :code (behavior () (loop (let ((a0-0 (-> self part)) (a1-0 (-> self root-override trans)) @@ -3245,16 +3145,14 @@ ;; failed to figure out what this is: (defstate vent-blocked (vent) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('show) (go vent-wait-for-touch) ) ) ) - :code - (behavior () + :code (behavior () (loop (if (not ((-> self block-func) self)) (go vent-wait-for-touch) @@ -3267,10 +3165,8 @@ ;; failed to figure out what this is: (defstate vent-pickup (vent) - :event - vent-standard-event-handler - :code - (behavior ((arg0 handle)) + :event vent-standard-event-handler + :code (behavior ((arg0 handle)) (when (-> self show-particles) (when (nonzero? (-> self collect-effect)) (let* ((s5-0 (handle->process arg0)) @@ -3287,41 +3183,27 @@ ) ) (when s5-1 - (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker s4-1) gp-0 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s4-1 - part-tracker-init - (-> self collect-effect) - -1 - part-tracker-track-target - #f - #f - (-> (the-as collide-shape s5-1) root-prim prim-core) - ) - (-> s4-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> self collect-effect) + -1 + part-tracker-track-target + #f + #f + (-> (the-as collide-shape s5-1) root-prim prim-core) + :to gp-0 ) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker gp-1) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> self collect-effect2) - -1 - part-tracker-move-to-target - #f - #f - (-> self root-override root-prim prim-core) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> self collect-effect2) + -1 + part-tracker-move-to-target + #f + #f + (-> self root-override root-prim prim-core) + :to self ) ) ) diff --git a/test/decompiler/reference/engine/game/crates_REF.gc b/test/decompiler/reference/engine/game/crates_REF.gc index b4135c8968..33e7e6e49e 100644 --- a/test/decompiler/reference/engine/game/crates_REF.gc +++ b/test/decompiler/reference/engine/game/crates_REF.gc @@ -131,8 +131,7 @@ ;; failed to figure out what this is: (defpart 281 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) @@ -156,14 +155,12 @@ ;; failed to figure out what this is: (defpart 282 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 283 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 0.75)) (sp-flt spt-scale-x (meters 6)) @@ -188,14 +185,12 @@ ;; failed to figure out what this is: (defpart 284 - :init-specs - ((sp-flt spt-fade-a -2.1333334)) + :init-specs ((sp-flt spt-fade-a -2.1333334)) ) ;; failed to figure out what this is: (defpart 285 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 8)) @@ -212,8 +207,7 @@ ;; failed to figure out what this is: (defpart 286 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) @@ -242,8 +236,7 @@ ;; failed to figure out what this is: (defpart 287 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0033333334)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0033333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -3.4) ) @@ -251,8 +244,7 @@ ;; failed to figure out what this is: (defpart 288 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x2)) (sp-flt spt-num 4.5) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) @@ -285,8 +277,7 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 281) (sp-item 283) (sp-item 285) (sp-item 286) (sp-item 288)) + :parts ((sp-item 281) (sp-item 283) (sp-item 285) (sp-item 286) (sp-item 288)) ) ;; failed to figure out what this is: @@ -295,8 +286,7 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 281) (sp-item 283) (sp-item 285) (sp-item 288) (sp-item 288) (sp-item 288)) + :parts ((sp-item 281) (sp-item 283) (sp-item 285) (sp-item 288) (sp-item 288) (sp-item 288)) ) ;; failed to figure out what this is: @@ -305,8 +295,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 295 :fade-after (meters 100) :period 600 :length 5 :binding 296) + :parts ((sp-item 295 :fade-after (meters 100) :period 600 :length 5 :binding 296) (sp-item 296 :flags (start-dead launch-asap) :binding 297) (sp-item 297 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead)) (sp-item 296 :flags (start-dead launch-asap) :binding 297) @@ -349,8 +338,7 @@ ;; failed to figure out what this is: (defpart 2096 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -375,14 +363,12 @@ ;; failed to figure out what this is: (defpart 2099 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) ) ;; failed to figure out what this is: (defpart 2098 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-scale-x (meters 0.2)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) @@ -400,8 +386,7 @@ ;; failed to figure out what this is: (defpart 2095 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 16)) (sp-copy-from-other spt-scale-y -4) @@ -417,8 +402,7 @@ ;; failed to figure out what this is: (defpart 2097 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -443,8 +427,7 @@ ;; failed to figure out what this is: (defpart 295 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 16.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 0.1)) @@ -462,8 +445,7 @@ ;; failed to figure out what this is: (defpart 296 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.3) (meters 0.3) 1.0) @@ -488,8 +470,7 @@ ;; failed to figure out what this is: (defpart 297 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -510,8 +491,7 @@ ;; failed to figure out what this is: (defpart 292 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) @@ -540,8 +520,7 @@ ;; failed to figure out what this is: (defpart 301 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0033333334)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0033333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -3.4) ) @@ -650,17 +629,7 @@ ) ) (('darkeco) - (let ((a1-32 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-32 from) self) - (set! (-> a1-32 num-params) 2) - (set! (-> a1-32 message) 'attack) - (set! (-> a1-32 param 0) (-> arg3 param 0)) - (let ((a0-57 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-57 mode) 'darkeco) - (set! (-> a1-32 param 1) (the-as uint a0-57)) - ) - (send-event-function arg0 a1-32) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'darkeco)))) (when (= (-> arg0 type) target) (level-hint-spawn (game-text-id sidekick-speech-hint-crate-darkeco2) @@ -716,17 +685,7 @@ (('touch) (case (-> self defense) (('darkeco) - (let ((a1-41 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-41 from) self) - (set! (-> a1-41 num-params) 2) - (set! (-> a1-41 message) 'attack) - (set! (-> a1-41 param 0) (-> arg3 param 0)) - (let ((a0-75 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-75 mode) 'darkeco) - (set! (-> a1-41 param 1) (the-as uint a0-75)) - ) - (send-event-function arg0 a1-41) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'darkeco)))) (go-virtual die #f 0) ) ) @@ -758,10 +717,8 @@ ;; failed to figure out what this is: (defstate wait (crate) :virtual #t - :event - crate-standard-event-handler - :code - (behavior () + :event crate-standard-event-handler + :code (behavior () (suspend) (update-transforms! (-> self root-override)) (logior! (-> self mask) (process-mask sleep)) @@ -770,56 +727,42 @@ ) (none) ) - :post - (the-as (function none :behavior crate) ja-post) + :post (the-as (function none :behavior crate) ja-post) ) ;; failed to figure out what this is: (defstate bounce-on (crate) :virtual #t - :event - crate-standard-event-handler - :code - (behavior () + :event crate-standard-event-handler + :code (behavior () (while (!= (-> self smush amp) 0.0) (suspend) ) (go-virtual wait) (none) ) - :post - (the-as (function none :behavior crate) crate-post) + :post (the-as (function none :behavior crate) crate-post) ) ;; failed to figure out what this is: (defstate notice-blue (crate) :virtual #t - :event - crate-standard-event-handler - :trans - (behavior () - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'powerup)) - (set! (-> a1-0 param 1) (the-as uint 3)) - (cond - ((not (send-event-function *target* a1-0)) - (logior! (-> self mask) (process-mask sleep-code)) - (if (not (!= (-> self smush amp) 0.0)) - (go-virtual wait) - ) - ) - (else - (logclear! (-> self mask) (process-mask sleep-code)) - ) + :event crate-standard-event-handler + :trans (behavior () + (cond + ((not (send-event *target* 'query 'powerup (pickup-type eco-blue))) + (logior! (-> self mask) (process-mask sleep-code)) + (if (not (!= (-> self smush amp) 0.0)) + (go-virtual wait) + ) + ) + (else + (logclear! (-> self mask) (process-mask sleep-code)) ) ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (set! (-> self target) arg0) (loop (let* ((gp-0 (handle->process (-> self target))) @@ -876,32 +819,20 @@ ) (none) ) - :post - (the-as (function none :behavior crate) crate-post) + :post (the-as (function none :behavior crate) crate-post) ) ;; failed to figure out what this is: (defstate die (crate) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touched) (case (-> self defense) (('darkeco) (cond ((= (-> arg0 type) target) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'attack) - (set! (-> a1-4 param 0) (-> arg3 param 0)) - (let ((a2-1 (new 'static 'attack-info :mask #x20))) - (set! (-> a2-1 mode) 'darkeco) - (set! (-> a1-4 param 1) (the-as uint a2-1)) - ) - (send-event-function arg0 a1-4) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'darkeco)))) ) (else (let ((a1-5 (new 'stack-no-clear 'event-message-block))) @@ -924,8 +855,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (case (-> self type) ((crate-buzzer) (if (and *target* (>= (-> *target* fact-info-target buzzer) 6.0)) @@ -935,8 +865,7 @@ ) (none) ) - :code - (behavior ((arg0 symbol) (arg1 int)) + :code (behavior ((arg0 symbol) (arg1 int)) (clear-collide-with-as (-> self root-override)) (if (nonzero? (-> self sound)) (stop! (-> self sound)) @@ -978,82 +907,54 @@ ) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 (the int (* 255.0 f0-0)) (seconds 0.3)) ) - (let ((s5-7 (get-process *default-dead-pool* touch-tracker #x4000))) - (when s5-7 - (let ((t9-15 (method-of-type touch-tracker activate))) - (t9-15 (the-as touch-tracker s5-7) self 'touch-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-7 - touch-tracker-init - (-> self root-override trans) - (-> *CRATE-bank* DARKECO_EXPLODE_RADIUS) - 30 - ) - (-> s5-7 ppointer) - ) + (process-spawn + touch-tracker + :init touch-tracker-init + (-> self root-override trans) + (-> *CRATE-bank* DARKECO_EXPLODE_RADIUS) + 30 + :to self ) ) ) (case (-> self look) (('darkeco) - (let ((s5-8 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-8 - (let ((t9-18 (method-of-type part-tracker activate))) - (t9-18 (the-as part-tracker s5-8) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-8 - part-tracker-init - (-> *part-group-id-table* 73) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> s5-8 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 73) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) ) (('steel 'iron) - (let ((s5-9 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-9 - (let ((t9-21 (method-of-type part-tracker activate))) - (t9-21 (the-as part-tracker s5-9) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-9 - part-tracker-init - (-> *part-group-id-table* 72) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> s5-9 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 72) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) ) (else - (let ((s5-10 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-10 - (let ((t9-24 (method-of-type part-tracker activate))) - (t9-24 (the-as part-tracker s5-10) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-10 - part-tracker-init - (-> *part-group-id-table* 71) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> s5-10 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 71) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) ) ) @@ -1084,8 +985,7 @@ ;; failed to figure out what this is: (defstate special-contents-die (crate) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'notify) (case (-> arg3 param 0) @@ -1113,10 +1013,8 @@ ) ) ) - :trans - (-> (method-of-type crate die) trans) - :code - (behavior () + :trans (-> (method-of-type crate die) trans) + :code (behavior () (when (or (= (-> self fact pickup-type) (pickup-type money)) (= (-> self defense) 'iron) (= (-> self defense) 'steel) @@ -1401,14 +1299,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 302)) + :parts ((sp-item 302)) ) ;; failed to figure out what this is: (defpart 302 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1469,8 +1365,7 @@ ;; failed to figure out what this is: (defstate wait (crate-buzzer) :virtual #t - :trans - (behavior () + :trans (behavior () (when (and (and *target* (>= 327680.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) ) @@ -1489,8 +1384,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (suspend) (update-transforms! (-> self root-override)) @@ -1520,15 +1414,13 @@ ) (none) ) - :post - (the-as (function none :behavior crate-buzzer) #f) + :post (the-as (function none :behavior crate-buzzer) #f) ) ;; failed to figure out what this is: (defstate bounce-on (crate-buzzer) :virtual #t - :code - (behavior () + :code (behavior () (while (!= (-> self smush amp) 0.0) (spawn (-> self part) (-> self root-override trans)) (suspend) @@ -1582,8 +1474,7 @@ ;; failed to figure out what this is: (defstate wait (pickup-spawner) :virtual #t - :code - (behavior () + :code (behavior () (loop (if (or (not (-> self blocker)) (logtest? (-> self blocker extra perm status) (entity-perm-status complete))) (go-virtual die #t 0) diff --git a/test/decompiler/reference/engine/game/effect-control_REF.gc b/test/decompiler/reference/engine/game/effect-control_REF.gc index bdee61c778..3009beaf22 100644 --- a/test/decompiler/reference/engine/game/effect-control_REF.gc +++ b/test/decompiler/reference/engine/game/effect-control_REF.gc @@ -282,175 +282,87 @@ (sv-272 symbol) (sv-288 res-lump) ) - (with-pp - (let ((s3-0 (-> arg0 value)) - (s5-0 (cond - ((< arg2 0) - (let ((v0-0 (get-property-value - (-> obj res) - 'effect-joint - 'exact - arg1 - (the-as uint128 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) + (let ((s3-0 (-> arg0 value)) + (s5-0 (cond + ((< arg2 0) + (let ((v0-0 (get-property-value + (-> obj res) + 'effect-joint + 'exact + arg1 + (the-as uint128 0) + (the-as (pointer res-tag) #f) + *res-static-buf* ) - ) - (if (zero? v0-0) - 0 - (the-as int (+ v0-0 1)) - ) - ) - ) - (else - (empty) - arg2 - ) - ) - ) - ) - (when (logtest? (-> obj flags) 1) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) pp) - (set! (-> a1-2 num-params) 3) - (set! (-> a1-2 message) 'effect) - (set! (-> a1-2 param 0) (the-as uint arg0)) - (set! (-> a1-2 param 1) (the-as uint arg1)) - (set! (-> a1-2 param 2) (the-as uint s5-0)) - (if (send-event-function (-> obj process) a1-2) - (return (the-as object 0)) - ) - ) - ) - (let ((v1-10 (symbol->string arg0))) - (cond - ((and (= (-> v1-10 data 0) 101) - (= (-> v1-10 data 1) 102) - (= (-> v1-10 data 2) 102) - (= (-> v1-10 data 3) 101) - (= (-> v1-10 data 4) 99) - (= (-> v1-10 data 5) 116) - (= (-> v1-10 data 6) 45) - ) - (let* ((s3-1 (-> obj process root)) - (v1-14 (if (and (nonzero? s3-1) (type-type? (-> s3-1 type) collide-shape-moving)) - s3-1 ) - ) - (t1-1 (if v1-14 - (the-as int (-> (the-as collide-shape-moving v1-14) ground-pat)) - *footstep-surface* - ) - ) - ) - (dummy-11 obj arg0 arg1 s5-0 (-> obj res) (the-as pat-surface t1-1)) - ) - ) - ((let ((v1-18 (symbol->string arg0))) - (and (= (-> v1-18 data 0) 103) - (= (-> v1-18 data 1) 114) - (= (-> v1-18 data 2) 111) - (= (-> v1-18 data 3) 117) - (= (-> v1-18 data 4) 112) - (= (-> v1-18 data 5) 45) - ) - ) - (set! s3-0 (cond - ((zero? s3-0) - (let ((v0-5 (lookup-part-group-pointer-by-name (symbol->string arg0)))) - (when v0-5 - (set! (-> arg0 value) v0-5) - (set! s3-0 (-> v0-5 0)) - ) - ) - (the-as (pointer sparticle-launch-group) s3-0) - ) - (else - (-> (the-as (pointer sparticle-launch-group) s3-0) 0) - ) - ) - ) - (when (and (nonzero? s3-0) (= (-> (the-as sparticle-launch-group s3-0) type) sparticle-launch-group)) - (if *debug-effect-control* - (format - #t - "(~5D) effect group ~A ~A frame ~F joint ~D~%" - (-> *display* base-frame-counter) - (-> obj process name) - arg0 - arg1 - s5-0 - ) - ) - (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker s4-1) (-> obj process) 'part-tracker (the-as pointer #x70004000)) - ) - (let ((s2-1 run-function-in-process) - (s1-0 s4-1) - (s0-0 part-tracker-init) ) - (set! sv-160 -1) - (set! sv-176 (the-as symbol #f)) - (set! sv-192 (the-as symbol #f)) - (set! sv-208 (the-as symbol #f)) - (let ((t3-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)))) - ((the-as (function object object object object object object object object none) s2-1) - s1-0 - s0-0 - (the-as sparticle-launch-group s3-0) - sv-160 - sv-176 - sv-192 - sv-208 - t3-0 - ) - ) + (if (zero? v0-0) + 0 + (the-as int (+ v0-0 1)) + ) ) - (-> s4-1 ppointer) ) + (else + (empty) + arg2 + ) + ) + ) + ) + (when (logtest? (-> obj flags) 1) + (if (send-event (-> obj process) 'effect arg0 arg1 s5-0) + (return (the-as object 0)) + ) + ) + (let ((v1-10 (symbol->string arg0))) + (cond + ((and (= (-> v1-10 data 0) 101) + (= (-> v1-10 data 1) 102) + (= (-> v1-10 data 2) 102) + (= (-> v1-10 data 3) 101) + (= (-> v1-10 data 4) 99) + (= (-> v1-10 data 5) 116) + (= (-> v1-10 data 6) 45) + ) + (let* ((s3-1 (-> obj process root)) + (v1-14 (if (and (nonzero? s3-1) (type-type? (-> s3-1 type) collide-shape-moving)) + s3-1 + ) + ) + (t1-1 (if v1-14 + (the-as int (-> (the-as collide-shape-moving v1-14) ground-pat)) + *footstep-surface* + ) + ) + ) + (dummy-11 obj arg0 arg1 s5-0 (-> obj res) (the-as pat-surface t1-1)) + ) + ) + ((let ((v1-18 (symbol->string arg0))) + (and (= (-> v1-18 data 0) 103) + (= (-> v1-18 data 1) 114) + (= (-> v1-18 data 2) 111) + (= (-> v1-18 data 3) 117) + (= (-> v1-18 data 4) 112) + (= (-> v1-18 data 5) 45) + ) + ) + (set! s3-0 (cond + ((zero? s3-0) + (let ((v0-5 (lookup-part-group-pointer-by-name (symbol->string arg0)))) + (when v0-5 + (set! (-> arg0 value) v0-5) + (set! s3-0 (-> v0-5 0)) + ) + ) + (the-as (pointer sparticle-launch-group) s3-0) + ) + (else + (-> (the-as (pointer sparticle-launch-group) s3-0) 0) + ) + ) ) - ) - ) - ((= arg0 'camera-shake) - (activate! *camera-smush-control* 819.2 37 600 1.0 0.995) - ) - ((zero? s3-0) - (dummy-12 obj arg0 arg1 s5-0 (-> obj res) (string->sound-name (symbol->string arg0))) - ) - ((= (-> (the-as basic s3-0) type) sparticle-launcher) - (if *debug-effect-control* - (format - #t - "(~5D) effect part ~A ~A frame ~F joint ~D~%" - (-> *display* base-frame-counter) - (-> obj process name) - arg0 - arg1 - s5-0 - ) - ) - (format - #t - "-----> (~5D) effect part ~A ~A frame ~F joint ~D~%" - (-> *display* base-frame-counter) - (-> obj process name) - arg0 - arg1 - s5-0 - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (the-as sparticle-launcher s3-0) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)) - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - ) - ((= (-> (the-as basic s3-0) type) sparticle-launch-group) + (when (and (nonzero? s3-0) (= (-> (the-as sparticle-launch-group s3-0) type) sparticle-launch-group)) (if *debug-effect-control* (format #t @@ -462,96 +374,174 @@ s5-0 ) ) - (let ((s4-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-3 - (let ((t9-19 (method-of-type part-tracker activate))) - (t9-19 (the-as part-tracker s4-3) (-> obj process) 'part-tracker (the-as pointer #x70004000)) + (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s4-1 + (let ((t9-7 (method-of-type part-tracker activate))) + (t9-7 (the-as part-tracker s4-1) (-> obj process) 'part-tracker (the-as pointer #x70004000)) ) - (let ((s2-3 run-function-in-process) - (s1-2 s4-3) - (s0-2 part-tracker-init) + (let ((s2-1 run-function-in-process) + (s1-0 s4-1) + (s0-0 part-tracker-init) ) - (set! sv-224 -1) - (set! sv-240 (the-as symbol #f)) - (set! sv-256 (the-as symbol #f)) - (set! sv-272 (the-as symbol #f)) - (let ((t3-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)))) - ((the-as (function object object object object object object object object none) s2-3) - s1-2 - s0-2 - s3-0 - sv-224 - sv-240 - sv-256 - sv-272 - t3-1 + (set! sv-160 -1) + (set! sv-176 (the-as symbol #f)) + (set! sv-192 (the-as symbol #f)) + (set! sv-208 (the-as symbol #f)) + (let ((t3-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)))) + ((the-as (function object object object object object object object object none) s2-1) + s1-0 + s0-0 + (the-as sparticle-launch-group s3-0) + sv-160 + sv-176 + sv-192 + sv-208 + t3-0 ) ) ) - (-> s4-3 ppointer) + (-> s4-1 ppointer) ) ) ) - ((= (-> (the-as basic s3-0) type) sound-spec) - (sound-play-by-spec - (the-as sound-spec s3-0) - (new-sound-id) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)) + ) + ((= arg0 'camera-shake) + (activate! *camera-smush-control* 819.2 37 600 1.0 0.995) + ) + ((zero? s3-0) + (dummy-12 obj arg0 arg1 s5-0 (-> obj res) (string->sound-name (symbol->string arg0))) + ) + ((= (-> (the-as basic s3-0) type) sparticle-launcher) + (if *debug-effect-control* + (format + #t + "(~5D) effect part ~A ~A frame ~F joint ~D~%" + (-> *display* base-frame-counter) + (-> obj process name) + arg0 + arg1 + s5-0 + ) + ) + (format + #t + "-----> (~5D) effect part ~A ~A frame ~F joint ~D~%" + (-> *display* base-frame-counter) + (-> obj process name) + arg0 + arg1 + s5-0 + ) + (sp-launch-particles-var + *sp-particle-system-2d* + (the-as sparticle-launcher s3-0) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)) + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) + ((= (-> (the-as basic s3-0) type) sparticle-launch-group) + (if *debug-effect-control* + (format + #t + "(~5D) effect group ~A ~A frame ~F joint ~D~%" + (-> *display* base-frame-counter) + (-> obj process name) + arg0 + arg1 + s5-0 + ) + ) + (let ((s4-3 (get-process *default-dead-pool* part-tracker #x4000))) + (when s4-3 + (let ((t9-19 (method-of-type part-tracker activate))) + (t9-19 (the-as part-tracker s4-3) (-> obj process) 'part-tracker (the-as pointer #x70004000)) + ) + (let ((s2-3 run-function-in-process) + (s1-2 s4-3) + (s0-2 part-tracker-init) + ) + (set! sv-224 -1) + (set! sv-240 (the-as symbol #f)) + (set! sv-256 (the-as symbol #f)) + (set! sv-272 (the-as symbol #f)) + (let ((t3-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)))) + ((the-as (function object object object object object object object object none) s2-3) + s1-2 + s0-2 + s3-0 + sv-224 + sv-240 + sv-256 + sv-272 + t3-1 + ) + ) + ) + (-> s4-3 ppointer) ) ) - ((= (-> (the-as basic s3-0) type) death-info) - (let ((v1-67 (-> obj process draw))) - (let ((a1-42 (-> (the-as death-info s3-0) vertex-skip)) - (a0-55 - (max - 2 - (the-as int (/ (-> (the-as death-info s3-0) timer) (the-as uint (the int (-> *display* time-factor))))) - ) + ) + ((= (-> (the-as basic s3-0) type) sound-spec) + (sound-play-by-spec + (the-as sound-spec s3-0) + (new-sound-id) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)) + ) + ) + ((= (-> (the-as basic s3-0) type) death-info) + (let ((v1-67 (-> obj process draw))) + (let ((a1-42 (-> (the-as death-info s3-0) vertex-skip)) + (a0-55 + (max + 2 + (the-as int (/ (-> (the-as death-info s3-0) timer) (the-as uint (the int (-> *display* time-factor))))) ) ) - (when (= (-> *setting-control* current video-mode) 'pal) - (if (< (the-as uint 1) a1-42) - (set! a1-42 (/ (the-as uint (* (the-as uint 50) a1-42)) (the-as uint 60))) - ) ) - (let ((a2-29 (-> *display* frames (-> *display* last-screen) frame run-time))) - (cond - ((< 9000 a2-29) - (set! a1-42 (* a1-42 4)) - ) - ((< 7000 a2-29) - (set! a1-42 (* a1-42 2)) - ) + (when (= (-> *setting-control* current video-mode) 'pal) + (if (< (the-as uint 1) a1-42) + (set! a1-42 (/ (the-as uint (* (the-as uint 50) a1-42)) (the-as uint 60))) ) - ) - (set! (-> v1-67 death-vertex-skip) a1-42) - (set! (-> v1-67 death-effect) (-> (the-as death-info s3-0) effect)) - (set! (-> v1-67 death-timer) (+ a0-55 1)) ) - (set! (-> v1-67 death-timer-org) (-> v1-67 death-timer)) - (set! (-> v1-67 death-draw-overlap) (-> (the-as death-info s3-0) overlap)) - ) - (when (-> (the-as death-info s3-0) sound) - (let* ((s2-5 obj) - (s1-3 (method-of-object s2-5 dummy-12)) - (s0-3 (-> (the-as death-info s3-0) sound)) - ) - (set! sv-288 (-> obj res)) - (let ((t1-11 (string->sound-name (symbol->string (-> (the-as death-info s3-0) sound))))) - (s1-3 s2-5 s0-3 arg1 s5-0 sv-288 t1-11) + (let ((a2-29 (-> *display* frames (-> *display* last-screen) frame run-time))) + (cond + ((< 9000 a2-29) + (set! a1-42 (* a1-42 4)) + ) + ((< 7000 a2-29) + (set! a1-42 (* a1-42 2)) + ) ) ) + (set! (-> v1-67 death-vertex-skip) a1-42) + (set! (-> v1-67 death-effect) (-> (the-as death-info s3-0) effect)) + (set! (-> v1-67 death-timer) (+ a0-55 1)) ) - (send-event (-> obj process) 'death-start (the-as death-info s3-0)) + (set! (-> v1-67 death-timer-org) (-> v1-67 death-timer)) + (set! (-> v1-67 death-draw-overlap) (-> (the-as death-info s3-0) overlap)) ) - (else - (dummy-12 obj arg0 arg1 s5-0 (-> obj res) (string->sound-name (symbol->string arg0))) - ) + (when (-> (the-as death-info s3-0) sound) + (let* ((s2-5 obj) + (s1-3 (method-of-object s2-5 dummy-12)) + (s0-3 (-> (the-as death-info s3-0) sound)) + ) + (set! sv-288 (-> obj res)) + (let ((t1-11 (string->sound-name (symbol->string (-> (the-as death-info s3-0) sound))))) + (s1-3 s2-5 s0-3 arg1 s5-0 sv-288 t1-11) + ) + ) + ) + (send-event (-> obj process) 'death-start (the-as death-info s3-0)) + ) + (else + (dummy-12 obj arg0 arg1 s5-0 (-> obj res) (string->sound-name (symbol->string arg0))) ) ) ) - 0 ) + 0 ) ;; definition for method 11 of type effect-control diff --git a/test/decompiler/reference/engine/game/game-h_REF.gc b/test/decompiler/reference/engine/game/game-h_REF.gc index ff1079a783..fd7063578c 100644 --- a/test/decompiler/reference/engine/game/game-h_REF.gc +++ b/test/decompiler/reference/engine/game/game-h_REF.gc @@ -124,21 +124,21 @@ ;; definition of type attack-info (deftype attack-info (structure) - ((trans vector :inline :offset-assert 0) - (vector vector :inline :offset-assert 16) - (intersection vector :inline :offset-assert 32) - (attacker handle :offset-assert 48) - (invinc-time time-frame :offset-assert 56) - (mask uint32 :offset-assert 64) - (mode symbol :offset-assert 68) - (shove-back meters :offset-assert 72) - (shove-up meters :offset-assert 76) - (speed meters :offset-assert 80) - (dist meters :offset-assert 84) - (control float :offset-assert 88) - (angle symbol :offset-assert 92) - (rotate-to degrees :offset-assert 96) - (prev-state state :offset-assert 100) + ((trans vector :inline :offset-assert 0) + (vector vector :inline :offset-assert 16) + (intersection vector :inline :offset-assert 32) + (attacker handle :offset-assert 48) + (invinc-time time-frame :offset-assert 56) + (mask attack-mask :offset-assert 64) + (mode symbol :offset-assert 68) + (shove-back meters :offset-assert 72) + (shove-up meters :offset-assert 76) + (speed meters :offset-assert 80) + (dist meters :offset-assert 84) + (control float :offset-assert 88) + (angle symbol :offset-assert 92) + (rotate-to degrees :offset-assert 96) + (prev-state state :offset-assert 100) ) :method-count-assert 10 :size-assert #x68 diff --git a/test/decompiler/reference/engine/game/game-info_REF.gc b/test/decompiler/reference/engine/game/game-info_REF.gc index 1d5c53ee7e..cb8adb5d97 100644 --- a/test/decompiler/reference/engine/game/game-info_REF.gc +++ b/test/decompiler/reference/engine/game/game-info_REF.gc @@ -483,8 +483,7 @@ (type-type? (-> (handle->process source-handle) type) vent) ) cfg-80 - :delay - (nop!) + :delay (nop!) ) (-> obj health) ) @@ -600,20 +599,24 @@ (when (= kind (pickup-type eco-blue)) (when (= eco-lev 0.0) (let ((s5-1 (-> obj process))) - (let* ((s3-5 (get-process *default-dead-pool* touch-tracker #x4000)) - (s4-3 - (when s3-5 - (let ((t9-28 (method-of-type touch-tracker activate))) - (t9-28 (the-as touch-tracker s3-5) s5-1 'touch-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s3-5 touch-tracker-init (-> s5-1 root trans) (-> *FACT-bank* suck-bounce-dist) 300) - (-> s3-5 ppointer) - ) - ) - ) + (let ((s4-3 + (process-spawn + touch-tracker + :init touch-tracker-init + (-> s5-1 root trans) + (-> *FACT-bank* suck-bounce-dist) + 300 + :to s5-1 + ) + ) + ) (send-event (ppointer->process s4-3) 'target s5-1) (send-event (ppointer->process s4-3) 'event 'eco-blue) - (send-event (ppointer->process s4-3) 'exit (lambda () (send-event *target* 'query 'powerup 3))) + (send-event + (ppointer->process s4-3) + 'exit + (lambda () (send-event *target* 'query 'powerup (pickup-type eco-blue))) + ) (send-event (ppointer->process s4-3) 'eval @@ -626,26 +629,20 @@ ) ) ) - (let ((s4-4 (get-process *4k-dead-pool* process #x4000))) - (when s4-4 - (let ((t9-35 (method-of-type process activate))) - (t9-35 s4-4 s5-1 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process - s4-4 - (lambda ((arg0 process-drawable)) - (let ((s5-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) s5-0) (seconds 0.6)) - (send-event arg0 'effect 'eco-blue) - (suspend) - ) - ) - (none) + (process-spawn-function + process + (lambda ((arg0 process-drawable)) + (let ((s5-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) s5-0) (seconds 0.6)) + (send-event arg0 'effect 'eco-blue) + (suspend) ) - s5-1 ) - (-> s4-4 ppointer) + (none) ) + s5-1 + :from *4k-dead-pool* + :to s5-1 ) ) ) diff --git a/test/decompiler/reference/engine/game/game-save_REF.gc b/test/decompiler/reference/engine/game/game-save_REF.gc index 29b1bc2414..0d44314e13 100644 --- a/test/decompiler/reference/engine/game/game-save_REF.gc +++ b/test/decompiler/reference/engine/game/game-save_REF.gc @@ -1164,14 +1164,12 @@ :id 656 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 2662)) + :parts ((sp-item 2662)) ) ;; failed to figure out what this is: (defpart 2662 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6b :page #x1cf)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6b :page #x1cf)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.5)) (sp-copy-from-other spt-scale-y -4) @@ -1384,8 +1382,7 @@ auto-save-post ;; failed to figure out what this is: (defstate get-heap (auto-save) :virtual #t - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* real-frame-counter)) (let ((a0-1 (reserve-alloc *art-control*))) (while (not a0-1) @@ -1400,15 +1397,13 @@ auto-save-post (go-virtual get-card) (none) ) - :post - auto-save-post + :post auto-save-post ) ;; failed to figure out what this is: (defstate get-card (auto-save) :virtual #t - :code - (behavior () + :code (behavior () (label cfg-0) (mc-get-slot-info (-> self slot) (-> self info)) (when (zero? (-> self info known)) @@ -1455,15 +1450,13 @@ auto-save-post ) (none) ) - :post - auto-save-post + :post auto-save-post ) ;; failed to figure out what this is: (defstate format-card (auto-save) :virtual #t - :code - (behavior () + :code (behavior () (when (zero? (-> self info formatted)) (label cfg-1) (set! (-> self result) (mc-format (-> self card))) @@ -1499,15 +1492,13 @@ auto-save-post (go-virtual done) (none) ) - :post - auto-save-post + :post auto-save-post ) ;; failed to figure out what this is: (defstate unformat-card (auto-save) :virtual #t - :code - (behavior () + :code (behavior () (when (nonzero? (-> self info formatted)) (label cfg-1) (set! (-> self result) (mc-unformat (-> self card))) @@ -1534,15 +1525,13 @@ auto-save-post (go-virtual done) (none) ) - :post - auto-save-post + :post auto-save-post ) ;; failed to figure out what this is: (defstate create-file (auto-save) :virtual #t - :code - (behavior () + :code (behavior () (cond ((zero? (-> self info formatted)) (go-virtual error (mc-status-code no-format)) @@ -1588,15 +1577,13 @@ auto-save-post (go-virtual done) (none) ) - :post - auto-save-post + :post auto-save-post ) ;; failed to figure out what this is: (defstate save (auto-save) :virtual #t - :code - (behavior () + :code (behavior () (cond ((zero? (-> self info formatted)) (go-virtual error (mc-status-code no-format)) @@ -1660,15 +1647,13 @@ auto-save-post (go-virtual done) (none) ) - :post - auto-save-post + :post auto-save-post ) ;; failed to figure out what this is: (defstate restore (auto-save) :virtual #t - :code - (behavior () + :code (behavior () (local-vars (gp-0 object)) (cond ((zero? (-> self info formatted)) @@ -1737,15 +1722,13 @@ auto-save-post (go-virtual done) (none) ) - :post - auto-save-post + :post auto-save-post ) ;; failed to figure out what this is: (defstate error (auto-save) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'progress-allowed?) @@ -1758,8 +1741,7 @@ auto-save-post ) ) ) - :code - (behavior ((arg0 mc-status-code)) + :code (behavior ((arg0 mc-status-code)) (if (-> self buffer) (reserve-free *art-control* (-> self buffer)) ) @@ -1855,15 +1837,13 @@ auto-save-post ) (none) ) - :post - auto-save-post + :post auto-save-post ) ;; failed to figure out what this is: (defstate done (auto-save) :virtual #t - :code - (behavior () + :code (behavior () (if (and (-> self buffer) (-> *art-control* reserve-buffer)) (reserve-free *art-control* (-> self buffer)) ) @@ -1896,22 +1876,13 @@ auto-save-post ) (none) ) - :post - auto-save-post + :post auto-save-post ) ;; definition for function auto-save-command ;; INFO: Return type mismatch (pointer process) vs none. (defun auto-save-command ((arg0 symbol) (arg1 int) (arg2 int) (arg3 process-tree)) - (let ((s2-0 (get-process *default-dead-pool* auto-save #x4000))) - (when s2-0 - (let ((t9-1 (method-of-type auto-save activate))) - (t9-1 (the-as auto-save s2-0) *default-pool* 'auto-save (&-> *dram-stack* 14336)) - ) - (run-now-in-process s2-0 auto-save-init-by-other arg0 arg3 arg1 arg2) - (-> s2-0 ppointer) - ) - ) + (process-spawn auto-save arg0 arg3 arg1 arg2 :stack *kernel-dram-stack*) (none) ) diff --git a/test/decompiler/reference/engine/game/generic-obs_REF.gc b/test/decompiler/reference/engine/game/generic-obs_REF.gc index 8b9ffc8b77..05201d6e36 100644 --- a/test/decompiler/reference/engine/game/generic-obs_REF.gc +++ b/test/decompiler/reference/engine/game/generic-obs_REF.gc @@ -92,23 +92,16 @@ ;; failed to figure out what this is: (defstate swingpole-stance (swingpole) - :code - (behavior () + :code (behavior () (loop (when (and *target* (< (vector-vector-distance (-> self root trans) (-> *target* control unknown-vector90)) (-> self range)) (logtest? (-> *target* control root-prim prim-core action) (collide-action ca-6)) (< (-> *target* control unknown-vector90 y) (+ (-> self root trans y) (* 0.5 (-> self range)))) ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'pole-grab) - (set! (-> a1-1 param 0) (the-as uint self)) - (if (send-event-function *target* a1-1) - (go swingpole-active) - ) - ) + (if (send-event *target* 'pole-grab self) + (go swingpole-active) + ) ) (suspend) ) @@ -118,8 +111,7 @@ ;; failed to figure out what this is: (defstate swingpole-active (swingpole) - :code - (behavior () + :code (behavior () (suspend) (while (and *target* (= (handle->process (-> *target* control unknown-handle10)) self)) (suspend) @@ -157,8 +149,7 @@ ;; failed to figure out what this is: (defstate die (process-hidden) :virtual #t - :code - (the-as (function none :behavior process-hidden) nothing) + :code (the-as (function none :behavior process-hidden) nothing) ) ;; definition for method 11 of type process-hidden @@ -252,8 +243,7 @@ ;; failed to figure out what this is: (defstate manipy-idle (manipy) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 none)) (let ((v1-0 arg2)) (the-as @@ -455,8 +445,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (!= (-> self cur-trans-hook) (-> self new-trans-hook)) (set! (-> self cur-trans-hook) (-> self new-trans-hook)) ) @@ -491,8 +480,7 @@ ((-> self cur-trans-hook)) (none) ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask heap-shrunk)) (loop ((-> self cur-post-hook)) @@ -509,8 +497,7 @@ ) (('copy-parent) (ja :num-func num-func-identity - :frame-num - (-> (the-as process-drawable (ppointer->process (-> self parent))) skel root-channel 0 frame-num) + :frame-num (-> (the-as process-drawable (ppointer->process (-> self parent))) skel root-channel 0 frame-num) ) ) (('clone-parent) @@ -655,8 +642,7 @@ ;; failed to figure out what this is: (defstate part-tracker-process (part-tracker) - :code - (behavior () + :code (behavior () (set! (-> self start-time) (-> *display* base-frame-counter)) (while (< (- (-> *display* base-frame-counter) (-> self start-time)) (-> self duration)) (let ((gp-0 (handle->process (-> self target)))) @@ -887,16 +873,7 @@ ;; INFO: Return type mismatch object vs symbol. (defbehavior process-release? process ((arg0 process)) (let ((gp-0 (command-get-process arg0 *target*))) - (the-as symbol (if (and gp-0 - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'mode)) - (send-event-function gp-0 a1-1) - ) - 'target-grab - ) + (the-as symbol (if (and gp-0 (send-event gp-0 'query 'mode) 'target-grab) (send-event gp-0 'end-mode) #t ) @@ -1176,8 +1153,7 @@ ;; failed to figure out what this is: (defstate camera-tracker-process (camera-tracker) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 uint)) (let ((v1-0 arg2)) (the-as object (cond @@ -1200,8 +1176,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (if (-> self entity-override) (dummy-30 (-> self entity-override) (entity-perm-status bit-3) #t) ) @@ -1213,16 +1188,14 @@ (hide-hud-quick) (none) ) - :exit - (behavior () + :exit (behavior () (if (-> self entity-override) (dummy-30 (-> self entity-override) (entity-perm-status bit-3) #f) ) (send-event *camera* 'clear-entity) (none) ) - :code - (behavior () + :code (behavior () (cond ((-> self script-func) ((-> self script-func)) @@ -1316,8 +1289,7 @@ ;; failed to figure out what this is: (defstate med-res-level-idle (med-res-level) - :code - (behavior () + :code (behavior () (local-vars (v1-37 float)) (rlet ((vf0 :class vf) (vf16 :class vf) @@ -1369,8 +1341,7 @@ (none) ) ) - :post - (the-as (function none :behavior med-res-level) ja-post) + :post (the-as (function none :behavior med-res-level) ja-post) ) ;; definition for symbol *lev-string*, type string @@ -1451,8 +1422,7 @@ ;; failed to figure out what this is: (defstate part-spawner-active (part-spawner) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('stop) (process-entity-status! self (entity-perm-status complete) #t) @@ -1472,8 +1442,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (when (-> self enable) (spawn (-> self part) (-> self root trans)) @@ -1589,8 +1558,7 @@ (defpartgroup group-beach-launcher :id 37 :bounds (static-bspherem 0 3 0 5) - :parts - ((sp-item 45 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 45 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 46 :fade-after (meters 70) :falloff-to (meters 100) :flags (is-3d)) (sp-item 47 :fade-after (meters 70) :falloff-to (meters 100) :flags (is-3d)) (sp-item 48 :fade-after (meters 50) :falloff-to (meters 80)) @@ -1600,8 +1568,7 @@ ;; failed to figure out what this is: (defpart 45 - :init-specs - ((sp-flt spt-num 1.5) + :init-specs ((sp-flt spt-num 1.5) (sp-flt spt-x (meters 1.5)) (sp-flt spt-y (meters -0.5)) (sp-int spt-rot-x 5) @@ -1619,14 +1586,12 @@ ;; failed to figure out what this is: (defpart 50 - :init-specs - ((sp-flt spt-fade-b -4.551111)) + :init-specs ((sp-flt spt-fade-b -4.551111)) ) ;; failed to figure out what this is: (defpart 46 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 1.8) 1.0) (sp-flt spt-scale-x (meters 0.2)) @@ -1647,8 +1612,7 @@ ;; failed to figure out what this is: (defpart 47 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 1.8) (meters 1) 1.0) (sp-flt spt-scale-x (meters 0.2)) @@ -1669,8 +1633,7 @@ ;; failed to figure out what this is: (defpart 48 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters 2.9) (meters 2.5) 1.0) (sp-flt spt-y (meters -0.5)) @@ -1695,8 +1658,7 @@ ;; failed to figure out what this is: (defpart 49 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 2.9) (meters 2.5) 1.0) (sp-flt spt-y (meters -0.5)) @@ -1723,16 +1685,14 @@ ;; failed to figure out what this is: (defpart 51 - :init-specs - ((sp-flt spt-fade-a -0.18)) + :init-specs ((sp-flt spt-fade-a -0.18)) ) ;; failed to figure out what this is: (defpartgroup group-jungle-launcher :id 38 :bounds (static-bspherem 0 3 0 5) - :parts - ((sp-item 45 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 45 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 52 :fade-after (meters 70) :falloff-to (meters 100) :flags (is-3d)) (sp-item 53 :fade-after (meters 70) :falloff-to (meters 100) :flags (is-3d)) (sp-item 54 :fade-after (meters 70) :falloff-to (meters 100)) @@ -1741,8 +1701,7 @@ ;; failed to figure out what this is: (defpart 52 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 1.4) 1.0) (sp-flt spt-scale-x (meters 0.2)) @@ -1763,8 +1722,7 @@ ;; failed to figure out what this is: (defpart 53 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 1.4) (meters 0.9) 1.0) (sp-flt spt-scale-x (meters 0.2)) @@ -1785,8 +1743,7 @@ ;; failed to figure out what this is: (defpart 54 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 2.9) (meters 2.5) 1.0) (sp-flt spt-y (meters -0.5)) @@ -1815,8 +1772,7 @@ (defpartgroup group-swamp-launcher :id 39 :bounds (static-bspherem 0 3 0 5) - :parts - ((sp-item 45 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 45 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 46 :fade-after (meters 70) :falloff-to (meters 100) :flags (is-3d)) (sp-item 47 :fade-after (meters 70) :falloff-to (meters 100) :flags (is-3d)) (sp-item 55 :fade-after (meters 70) :falloff-to (meters 100)) @@ -1825,8 +1781,7 @@ ;; failed to figure out what this is: (defpart 55 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 2.9) (meters 2.5) 1.0) (sp-flt spt-y (meters -0.5)) @@ -1873,8 +1828,7 @@ ;; failed to figure out what this is: (defstate cam-launcher-shortfall (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -1884,8 +1838,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector--float*! (-> self trans) (-> *camera* tpos-curr) (-> *camera* local-down) 28672.0) @@ -1906,22 +1859,20 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (-> *display* base-frame-counter))) (loop (when (not (paused?)) (vector--float*! (-> self trans) (-> *camera* tpos-curr) (-> *camera* local-down) 28672.0) (send-event *camera* 'teleport) (if (and (-> *camera* on-ground) (>= (- (-> *display* base-frame-counter) gp-0) (seconds 1))) - (send-event *camera* 'change-state *camera-base-mode* 150) + (send-event *camera* 'change-state *camera-base-mode* (seconds 0.5)) ) ) (suspend) @@ -1950,8 +1901,7 @@ ;; failed to figure out what this is: (defstate cam-launcher-longfall (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('teleport) #f @@ -1961,8 +1911,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (when (not (-> self enter-has-run)) (new 'stack-no-clear 'vector) (vector-negate! (-> self view-flat) (-> self tracking inv-mat vector 2)) @@ -1976,16 +1925,14 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (cam-launcher-long-joystick) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (-> *display* base-frame-counter))) (loop (when (not (paused?)) @@ -2029,7 +1976,7 @@ (set! (-> self trans z) (-> *camera* tpos-curr z)) (vector+! (-> self trans) (-> self trans) (-> self view-flat)) (if (and (-> *camera* on-ground) (>= (- (-> *display* base-frame-counter) gp-0) (seconds 1))) - (send-event *camera* 'change-state *camera-base-mode* 150) + (send-event *camera* 'change-state *camera-base-mode* (seconds 0.5)) ) ) (vector-reset! (-> self tracking follow-off)) @@ -2050,8 +1997,7 @@ ;; failed to figure out what this is: (defstate launcher-idle (launcher) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('instant-death) (go launcher-deactivated) @@ -2062,46 +2008,25 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (and *target* (>= (-> self active-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'powerup)) - (set! (-> a1-1 param 1) (the-as uint 3)) - (cond - ((send-event-function *target* a1-1) - (go launcher-active) - ) - (else - (let ((gp-0 'target-launch) - (a1-2 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'mode)) - (if (= (send-event-function *target* a1-2) gp-0) - (send-event *target* 'end-mode) - ) - ) + (cond + ((send-event *target* 'query 'powerup (pickup-type eco-blue)) + (go launcher-active) + ) + (else + (let ((gp-0 'target-launch)) + (if (= (send-event *target* 'query 'mode) gp-0) + (send-event *target* 'end-mode) + ) ) ) ) (if (and (and *target* (>= 32768.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) - (let ((a1-5 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-5 from) self) - (set! (-> a1-5 num-params) 2) - (set! (-> a1-5 message) 'query) - (set! (-> a1-5 param 0) (the-as uint 'powerup)) - (set! (-> a1-5 param 1) (the-as uint 3)) - (not (send-event-function *target* a1-5)) - ) + (not (send-event *target* 'query 'powerup (pickup-type eco-blue))) ) (level-hint-spawn (game-text-id daxter-launcher-no-eco) @@ -2114,14 +2039,12 @@ ) (none) ) - :code - (the-as (function none :behavior launcher) anim-loop) + :code (the-as (function none :behavior launcher) anim-loop) ) ;; failed to figure out what this is: (defstate launcher-active (launcher) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (when (or (= arg2 'touch) (= arg2 'attack)) (set! (-> self state-time) (-> *display* base-frame-counter)) (send-event arg0 'launch (-> self spring-height) (-> self camera) (-> self dest) (-> self seek-time)) @@ -2136,8 +2059,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (let ((v1-0 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) (set! (-> v1-0 command) (sound-command set-param)) (set! (-> v1-0 id) (-> self sound-id)) @@ -2149,20 +2071,12 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (or (or (not *target*) (< (-> self active-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'powerup)) - (set! (-> a1-1 param 1) (the-as uint 3)) - (not (send-event-function *target* a1-1)) - ) + (not (send-event *target* 'query 'powerup (pickup-type eco-blue))) ) (go launcher-idle) ) @@ -2178,8 +2092,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "launch-start") (new-sound-id) 1024 0 0 1 #t) (anim-loop) (none) @@ -2188,8 +2101,7 @@ ;; failed to figure out what this is: (defstate launcher-deactivated (launcher) - :code - (the-as (function none :behavior launcher) anim-loop) + :code (the-as (function none :behavior launcher) anim-loop) ) ;; definition for method 11 of type launcher @@ -2318,8 +2230,7 @@ ;; failed to figure out what this is: (defstate touch-tracker-idle (touch-tracker) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 none)) (let ((v1-0 arg2)) (the-as object (cond @@ -2330,24 +2241,19 @@ ((= (-> self event) 'attack) (cond ((= (-> arg0 type) target) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) (the-as process v1-1)) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) (-> self event)) - (set! (-> a1-2 param 0) (the-as uint #f)) - (let ((a2-2 (new 'static 'attack-info :mask #x20))) - (set! (-> a2-2 mode) (the-as symbol (-> self event-mode))) - (set! (-> a1-2 param 1) (the-as uint a2-2)) - ) - (send-event-function arg0 a1-2) + (send-event + arg0 + (-> self event) + :from (the-as process v1-1) + #f + (static-attack-info ((mode (the-as symbol (-> self event-mode))))) ) ) ((= (-> v1-1 type) target) (send-event arg0 (-> self event) - :from - (the-as process v1-1) + :from (the-as process v1-1) #f (-> self event-mode) (-> *target* control unknown-dword50) @@ -2421,8 +2327,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (while ((-> self run-function)) (let* ((gp-0 (handle->process (-> self target))) @@ -2579,8 +2484,7 @@ ;; failed to figure out what this is: (defpart 2528 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) (sp-func spt-birth-func 'birth-func-set-quat) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) diff --git a/test/decompiler/reference/engine/game/main_REF.gc b/test/decompiler/reference/engine/game/main_REF.gc index 39d4320923..9e3a8ffdf5 100644 --- a/test/decompiler/reference/engine/game/main_REF.gc +++ b/test/decompiler/reference/engine/game/main_REF.gc @@ -906,37 +906,27 @@ (progress-allowed?) (!= *master-exit* #t) ) - (let ((game-end-proc (get-process *default-dead-pool* process #x4000))) - (if (when game-end-proc - (let ((t9-28 (method-of-type process activate))) - (t9-28 game-end-proc *default-pool* 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process - game-end-proc - (lambda :behavior process - () - (set-blackout-frames (seconds 100)) - (set! (-> *setting-control* default allow-pause) #f) - (set! (-> *setting-control* default allow-progress) #f) - (copy-settings-from-target! *setting-control*) - (set! (-> *setting-control* default sfx-volume) 0.0) - (set! (-> *setting-control* default music-volume) 0.0) - (set! (-> *setting-control* default dialog-volume) 0.0) - (set! (-> *setting-control* default ambient-volume) 0.0) - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 0.1)) - (suspend) - ) - ) - (kernel-shutdown) - (none) - ) - ) - (-> game-end-proc ppointer) - ) - (set! *master-exit* #t) - ) - ) + (if (process-spawn-function process (lambda :behavior process + () + (set-blackout-frames (seconds 100)) + (set! (-> *setting-control* default allow-pause) #f) + (set! (-> *setting-control* default allow-progress) #f) + (copy-settings-from-target! *setting-control*) + (set! (-> *setting-control* default sfx-volume) 0.0) + (set! (-> *setting-control* default music-volume) 0.0) + (set! (-> *setting-control* default dialog-volume) 0.0) + (set! (-> *setting-control* default ambient-volume) 0.0) + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 0.1)) + (suspend) + ) + ) + (kernel-shutdown) + (none) + ) + ) + (set! *master-exit* #t) + ) ) ) ) diff --git a/test/decompiler/reference/engine/game/powerups_REF.gc b/test/decompiler/reference/engine/game/powerups_REF.gc index d2ab1fb23c..7733c34394 100644 --- a/test/decompiler/reference/engine/game/powerups_REF.gc +++ b/test/decompiler/reference/engine/game/powerups_REF.gc @@ -64,8 +64,7 @@ ;; failed to figure out what this is: (defpart 255 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -84,8 +83,7 @@ ;; failed to figure out what this is: (defpart 256 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -104,8 +102,7 @@ ;; failed to figure out what this is: (defpart 257 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 1.0 3.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) (sp-int spt-rot-x 4) @@ -125,8 +122,7 @@ ;; failed to figure out what this is: (defpart 259 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.0 3.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) (sp-int spt-rot-x 4) @@ -146,8 +142,7 @@ ;; failed to figure out what this is: (defpart 258 - :init-specs - ((sp-flt spt-r 64.0) + :init-specs ((sp-flt spt-r 64.0) (sp-flt spt-g 64.0) (sp-flt spt-fade-r -1.0) (sp-flt spt-fade-g -0.4) @@ -157,8 +152,7 @@ ;; failed to figure out what this is: (defpart 260 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -181,14 +175,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 261) (sp-item 262) (sp-item 263 :flags (is-3d)) (sp-item 264) (sp-item 265 :flags (is-3d))) + :parts ((sp-item 261) (sp-item 262) (sp-item 263 :flags (is-3d)) (sp-item 264) (sp-item 265 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 264 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 32.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-scale-x (meters 1) (meters 3) 1.0) @@ -212,8 +204,7 @@ ;; failed to figure out what this is: (defpart 266 - :init-specs - ((sp-flt spt-r 0.0) + :init-specs ((sp-flt spt-r 0.0) (sp-rnd-flt spt-g 32.0 32.0 1.0) (sp-rnd-flt spt-b 192.0 63.0 1.0) (sp-rnd-int spt-a 0 63 1.0) @@ -224,8 +215,7 @@ ;; failed to figure out what this is: (defpart 265 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.5)) (sp-flt spt-scale-x (meters 0)) @@ -245,14 +235,12 @@ ;; failed to figure out what this is: (defpart 267 - :init-specs - ((sp-flt spt-fade-a -2.1333334)) + :init-specs ((sp-flt spt-fade-a -2.1333334)) ) ;; failed to figure out what this is: (defpart 263 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.5)) (sp-flt spt-scale-x (meters 0)) @@ -273,14 +261,12 @@ ;; failed to figure out what this is: (defpart 268 - :init-specs - ((sp-flt spt-fade-a -1.4222223)) + :init-specs ((sp-flt spt-fade-a -1.4222223)) ) ;; failed to figure out what this is: (defpart 261 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -305,8 +291,7 @@ ;; failed to figure out what this is: (defpart 262 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -331,8 +316,7 @@ ;; failed to figure out what this is: (defpart 269 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -351,8 +335,7 @@ ;; failed to figure out what this is: (defpart 270 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -371,8 +354,7 @@ ;; failed to figure out what this is: (defpart 271 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.5 2.0 1.0) (sp-flt spt-y (meters -0.05)) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) @@ -400,14 +382,12 @@ ;; failed to figure out what this is: (defpart 272 - :init-specs - ((sp-flt spt-fade-r 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0)) ) ;; failed to figure out what this is: (defpart 273 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -426,8 +406,7 @@ ;; failed to figure out what this is: (defpart 274 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -446,8 +425,7 @@ ;; failed to figure out what this is: (defpart 275 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.5 2.0 1.0) (sp-flt spt-y (meters -0.05)) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) @@ -475,14 +453,12 @@ ;; failed to figure out what this is: (defpart 276 - :init-specs - ((sp-flt spt-fade-r 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0)) ) ;; failed to figure out what this is: (defpart 277 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -501,8 +477,7 @@ ;; failed to figure out what this is: (defpart 278 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -521,8 +496,7 @@ ;; failed to figure out what this is: (defpart 279 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.5 2.0 1.0) (sp-flt spt-y (meters -0.05)) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) @@ -550,8 +524,7 @@ ;; failed to figure out what this is: (defpart 280 - :init-specs - ((sp-flt spt-fade-g 0.0)) + :init-specs ((sp-flt spt-fade-g 0.0)) ) ;; definition for function eco-blue-glow diff --git a/test/decompiler/reference/engine/game/projectiles_REF.gc b/test/decompiler/reference/engine/game/projectiles_REF.gc index f552efd8c1..8326277e0e 100644 --- a/test/decompiler/reference/engine/game/projectiles_REF.gc +++ b/test/decompiler/reference/engine/game/projectiles_REF.gc @@ -195,8 +195,7 @@ :id 102 :duration 300 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 349 :flags (launch-asap) :binding 350) + :parts ((sp-item 349 :flags (launch-asap) :binding 350) (sp-item 350 :flags (start-dead launch-asap) :binding 351) (sp-item 351 :flags (start-dead launch-asap) :binding 352) (sp-item 352 :flags (start-dead) :binding 353) @@ -235,8 +234,7 @@ ;; failed to figure out what this is: (defpart 349 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.01)) (sp-copy-from-other spt-scale-y -4) @@ -249,8 +247,7 @@ ;; failed to figure out what this is: (defpart 350 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 16) 1.0) @@ -270,8 +267,7 @@ ;; failed to figure out what this is: (defpart 351 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 0)) @@ -291,8 +287,7 @@ ;; failed to figure out what this is: (defpart 352 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -311,8 +306,7 @@ ;; failed to figure out what this is: (defpart 353 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-y (meters -0.05)) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) @@ -340,8 +334,7 @@ ;; failed to figure out what this is: (defpart 354 - :init-specs - ((sp-flt spt-fade-r 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0)) ) ;; failed to figure out what this is: @@ -349,8 +342,7 @@ :id 103 :duration 600 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 355 :flags (launch-asap)) + :parts ((sp-item 355 :flags (launch-asap)) (sp-item 356 :flags (bit1) :period 630 :length 15) (sp-item 357 :flags (launch-asap)) (sp-item 358 :flags (launch-asap) :binding 359) @@ -375,8 +367,7 @@ ;; failed to figure out what this is: (defpart 355 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 8)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -395,8 +386,7 @@ ;; failed to figure out what this is: (defpart 357 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-x (meters -0.6) (meters 1.2) 1.0) (sp-rnd-flt spt-y (meters -0.6) (meters 1.2) 1.0) @@ -421,8 +411,7 @@ ;; failed to figure out what this is: (defpart 356 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -446,8 +435,7 @@ ;; failed to figure out what this is: (defpart 360 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 24.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -471,8 +459,7 @@ ;; failed to figure out what this is: (defpart 358 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 16.0) (sp-flt spt-scale-x (meters 0.1)) (sp-copy-from-other spt-scale-y -4) @@ -489,8 +476,7 @@ ;; failed to figure out what this is: (defpart 361 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 32.0) (sp-flt spt-scale-x (meters 0.1)) (sp-copy-from-other spt-scale-y -4) @@ -507,8 +493,7 @@ ;; failed to figure out what this is: (defpart 359 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.1) (meters 0.2) 1.0) @@ -537,8 +522,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 2059 :period 600 :length 5) + :parts ((sp-item 2059 :period 600 :length 5) (sp-item 2060 :fade-after (meters 80) :falloff-to (meters 80) :period 600 :length 40) (sp-item 2061 :period 600 :length 20) (sp-item 2062 :fade-after (meters 120) :falloff-to (meters 120) :period 600 :length 20) @@ -547,8 +531,7 @@ ;; failed to figure out what this is: (defpart 2060 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -573,14 +556,12 @@ ;; failed to figure out what this is: (defpart 2063 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) ) ;; failed to figure out what this is: (defpart 2062 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-scale-x (meters 0.2)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) @@ -598,8 +579,7 @@ ;; failed to figure out what this is: (defpart 2059 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 16)) (sp-copy-from-other spt-scale-y -4) @@ -615,8 +595,7 @@ ;; failed to figure out what this is: (defpart 2061 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -643,8 +622,7 @@ ;; failed to figure out what this is: (defpart 2064 - :init-specs - ((sp-flt spt-fade-r -0.53333336) + :init-specs ((sp-flt spt-fade-r -0.53333336) (sp-flt spt-fade-g -0.53333336) (sp-flt spt-fade-b -1.0666667) (sp-flt spt-fade-a -0.53333336) @@ -669,24 +647,13 @@ ;; failed to figure out what this is: (defstate projectile-moving (projectile) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touched) (when (-> self attack-mode) (when (cond ((= (-> arg0 type) target) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'attack) - (set! (-> a1-1 param 0) (-> arg3 param 0)) - (let ((a0-4 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-4 mode) (-> self attack-mode)) - (set! (-> a1-1 param 1) (the-as uint a0-4)) - ) - (send-event-function arg0 a1-1) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode (-> self attack-mode))))) ) (else (let ((a1-2 (new 'stack-no-clear 'event-message-block))) @@ -721,13 +688,11 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 #f)) (while (< (- (-> *display* base-frame-counter) (-> self state-time)) (-> self timeout)) (let ((s5-0 (the int (-> *display* time-ratio)))) @@ -827,25 +792,17 @@ ;; failed to figure out what this is: (defstate projectile-impact (projectile) :virtual #t - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 104) - -1 - #f - #f - #f - (-> self root-override root-prim prim-core) - ) - (-> gp-0 ppointer) - ) + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 104) + -1 + #f + #f + #f + (-> self root-override root-prim prim-core) + :to *entity-pool* ) (if (nonzero? (-> self sound-id)) (sound-stop (-> self sound-id)) @@ -860,25 +817,17 @@ ;; failed to figure out what this is: (defstate projectile-dissipate (projectile) :virtual #t - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 104) - -1 - #f - #f - #f - (-> self root-override root-prim prim-core) - ) - (-> gp-0 ppointer) - ) + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 104) + -1 + #f + #f + #f + (-> self root-override root-prim prim-core) + :to *entity-pool* ) (if (nonzero? (-> self sound-id)) (sound-stop (-> self sound-id)) @@ -935,8 +884,7 @@ ;; failed to figure out what this is: (defstate projectile-die (projectile) :virtual #t - :code - (behavior () + :code (behavior () (let ((v1-0 (-> self notify-handle))) (if (handle->process v1-0) (send-event (-> v1-0 process 0) 'notify 'die) @@ -1034,17 +982,9 @@ ) (sound-play-by-name (static-sound-name "yellow-fire") (new-sound-id) 1024 0 0 1 #t) (set! (-> obj sound-id) (sound-play-by-name (static-sound-name "yellow-buzz") (new-sound-id) 1024 0 0 1 #t)) - (when (zero? (logand (-> obj options) 416)) - (let ((s4-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-2 - (let ((t9-10 (method-of-type part-tracker activate))) - (t9-10 (the-as part-tracker s4-2) obj 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s4-2 part-tracker-init (-> *part-group-id-table* 103) -1 #f #f #f s5-0) - (-> s4-2 ppointer) - ) + (if (zero? (logand (-> obj options) 416)) + (process-spawn part-tracker :init part-tracker-init (-> *part-group-id-table* 103) -1 #f #f #f s5-0 :to obj) ) - ) (set! (-> *part-id-table* 350 init-specs 2 initial-valuef) f30-0) ) ) @@ -1371,8 +1311,7 @@ ;; failed to figure out what this is: (defstate projectile-impact (projectile-blue) :virtual #t - :code - (behavior () + :code (behavior () (cleanup-for-death self) (none) ) @@ -1381,8 +1320,7 @@ ;; failed to figure out what this is: (defstate projectile-dissipate (projectile-blue) :virtual #t - :code - (behavior () + :code (behavior () (go-virtual projectile-die) (none) ) diff --git a/test/decompiler/reference/engine/game/task/hint-control_REF.gc b/test/decompiler/reference/engine/game/task/hint-control_REF.gc index 2635516fa4..8bd16eef99 100644 --- a/test/decompiler/reference/engine/game/task/hint-control_REF.gc +++ b/test/decompiler/reference/engine/game/task/hint-control_REF.gc @@ -2,43 +2,34 @@ (in-package goal) ;; failed to figure out what this is: -(set! (-> *game-info* hint-control) (new - 'static - 'boxed-array - :type level-hint-control :length 25 :allocated-length 25 +(set! (-> *game-info* hint-control) (new 'static 'boxed-array :type level-hint-control (new 'static 'level-hint-control - :id - (game-text-id sage-voicebox-hint-crate-iron) + :id (game-text-id sage-voicebox-hint-crate-iron) :num-attempts-before-playing 1 :num-success-before-killing 3 ) (new 'static 'level-hint-control - :id - (game-text-id training-more-eco-more-time) + :id (game-text-id training-more-eco-more-time) :num-attempts-before-playing 3 :num-success-before-killing -1 ) (new 'static 'level-hint-control - :id - (game-text-id sidekick-speech-hint-crate-iron) + :id (game-text-id sidekick-speech-hint-crate-iron) :num-attempts-before-playing 3 :num-success-before-killing 3 ) (new 'static 'level-hint-control - :id - (game-text-id sidekick-speech-hint-crate-steel) + :id (game-text-id sidekick-speech-hint-crate-steel) :num-attempts-before-playing 1 :num-success-before-killing 1 ) (new 'static 'level-hint-control - :id - (game-text-id sidekick-hint-orb-cache-top) + :id (game-text-id sidekick-hint-orb-cache-top) :num-attempts-before-playing 1 :num-success-before-killing 1 ) (new 'static 'level-hint-control - :id - (game-text-id beach-grottopole-increment) + :id (game-text-id beach-grottopole-increment) :num-attempts-before-playing 1 :num-success-before-killing 1 ) @@ -50,21 +41,18 @@ ) (new 'static 'level-hint-control :delay-before-playing (seconds 5) - :id - (game-text-id jungle-mirrors-break-the-mirror-jak) + :id (game-text-id jungle-mirrors-break-the-mirror-jak) :num-attempts-before-playing 1 :num-success-before-killing -1 ) (new 'static 'level-hint-control :delay-before-playing (seconds 3) - :id - (game-text-id jungle-precursorbridge-hint) + :id (game-text-id jungle-precursorbridge-hint) :num-attempts-before-playing 1 :num-success-before-killing -1 ) (new 'static 'level-hint-control - :id - (game-text-id misty-teetertotter-bonk-dax-tutorial) + :id (game-text-id misty-teetertotter-bonk-dax-tutorial) :num-attempts-before-playing 3 :num-success-before-killing 1 ) @@ -93,33 +81,28 @@ :num-success-before-killing -1 ) (new 'static 'level-hint-control - :id - (game-text-id sunken-blue-eco-charger-all-hint) + :id (game-text-id sunken-blue-eco-charger-all-hint) :num-attempts-before-playing 3 :num-success-before-killing -1 ) (new 'static 'level-hint-control - :id - (game-text-id sunken-blue-eco-charger-hint) + :id (game-text-id sunken-blue-eco-charger-hint) :num-attempts-before-playing 3 :num-success-before-killing 2 ) (new 'static 'level-hint-control - :id - (game-text-id swamp-tethers-advice-hint) + :id (game-text-id swamp-tethers-advice-hint) :num-attempts-before-playing 1 :num-success-before-killing 1 ) (new 'static 'level-hint-control :delay-before-playing (seconds 30) - :id - (game-text-id sunken-double-lurker-hint) + :id (game-text-id sunken-double-lurker-hint) :num-attempts-before-playing 3 :num-success-before-killing 1 ) (new 'static 'level-hint-control - :id - (game-text-id sunken-take-it-easy-hot-pipes) + :id (game-text-id sunken-take-it-easy-hot-pipes) :num-attempts-before-playing 3 :num-success-before-killing -1 ) @@ -130,34 +113,29 @@ ) (new 'static 'level-hint-control :delay-before-playing (seconds 3) - :id - (game-text-id darkcave-light-crystal-hint) + :id (game-text-id darkcave-light-crystal-hint) :num-attempts-before-playing 1 :num-success-before-killing -1 ) (new 'static 'level-hint-control - :id - (game-text-id daxter-maybe-you-can-shoot-better-goggles) + :id (game-text-id daxter-maybe-you-can-shoot-better-goggles) :num-attempts-before-playing 4 :num-success-before-killing -1 ) (new 'static 'level-hint-control - :id - (game-text-id lavatube-shoot-the-spheres) + :id (game-text-id lavatube-shoot-the-spheres) :num-attempts-before-playing 1 :num-success-before-killing 2 ) (new 'static 'level-hint-control :delay-before-playing (seconds 5) - :id - (game-text-id citadel-break-generator-hint) + :id (game-text-id citadel-break-generator-hint) :num-attempts-before-playing 1 :num-success-before-killing 1 ) (new 'static 'level-hint-control :delay-before-playing (seconds 5) - :id - (game-text-id citadel-break-generators-reminder) + :id (game-text-id citadel-break-generators-reminder) :num-attempts-before-playing 1 :num-success-before-killing 1 ) @@ -166,16 +144,9 @@ ;; failed to figure out what this is: (set! (-> *game-info* task-hint-control) - (new - 'static - 'boxed-array - :type task-hint-control-group :length 16 :allocated-length 16 + (new 'static 'boxed-array :type task-hint-control-group (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 3 :allocated-length 3 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task training-gimmie) :delay (seconds 600)) (new 'static 'task-hint-control :task (game-task training-door) :delay (seconds 1200)) (new 'static 'task-hint-control :task (game-task training-climb) :delay (seconds 1800)) @@ -183,32 +154,20 @@ ) (new 'static 'task-hint-control-group) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 3 :allocated-length 3 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task beach-gimmie) :delay (seconds 900)) (new 'static 'task-hint-control :task (game-task beach-sentinel) :delay (seconds 1800)) (new 'static 'task-hint-control :task (game-task beach-cannon) :delay (seconds 2700)) ) ) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 2 :allocated-length 2 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task jungle-plant) :delay (seconds 1200)) (new 'static 'task-hint-control :task (game-task jungle-canyon-end) :delay (seconds 2400)) ) ) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 4 :allocated-length 4 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task misty-boat) :delay (seconds 1200)) (new 'static 'task-hint-control :task (game-task misty-warehouse) :delay (seconds 1800)) (new 'static 'task-hint-control :task (game-task misty-bike-jump) :delay (seconds 2400)) @@ -218,58 +177,34 @@ (new 'static 'task-hint-control-group) (new 'static 'task-hint-control-group) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 3 :allocated-length 3 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task sunken-spinning-room) :delay (seconds 1200)) (new 'static 'task-hint-control :task (game-task sunken-sharks) :delay (seconds 1800)) (new 'static 'task-hint-control :task (game-task sunken-slide) :delay (seconds 2400)) ) ) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 1 :allocated-length 1 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task swamp-battle) :delay (seconds 2400)) ) ) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 1 :allocated-length 1 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task rolling-lake) :delay (seconds 2400)) ) ) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 1 :allocated-length 1 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task ogre-secret) :delay (seconds 3600)) ) ) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 1 :allocated-length 1 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task village3-extra1) :delay (seconds 3600)) ) ) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 4 :allocated-length 4 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task snow-bumpers) :delay (seconds 1200)) (new 'static 'task-hint-control :task (game-task snow-cage) :delay (seconds 1800)) (new 'static 'task-hint-control :task (game-task snow-ball) :delay (seconds 2400)) @@ -277,11 +212,7 @@ ) ) (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 4 :allocated-length 4 + :tasks (new 'static 'boxed-array :type task-hint-control (new 'static 'task-hint-control :task (game-task cave-dark-climb) :delay (seconds 1200)) (new 'static 'task-hint-control :task (game-task cave-robot-climb) :delay (seconds 1800)) (new 'static 'task-hint-control :task (game-task cave-swing-poles) :delay (seconds 2400)) diff --git a/test/decompiler/reference/engine/game/task/process-taskable_REF.gc b/test/decompiler/reference/engine/game/task/process-taskable_REF.gc index 14ffb78db9..d85c894325 100644 --- a/test/decompiler/reference/engine/game/task/process-taskable_REF.gc +++ b/test/decompiler/reference/engine/game/task/process-taskable_REF.gc @@ -311,8 +311,7 @@ ;; failed to figure out what this is: (defstate release (process-taskable) :virtual #t - :trans - (behavior () + :trans (behavior () (when (process-release? *target*) (send-event *target* 'trans 'restore (-> self old-target-pos)) (if (should-display? self) @@ -324,17 +323,14 @@ ((-> self cur-trans-hook)) (none) ) - :code - process-taskable-anim-loop - :post - (the-as (function none :behavior process-taskable) ja-post) + :code process-taskable-anim-loop + :post (the-as (function none :behavior process-taskable) ja-post) ) ;; failed to figure out what this is: (defstate give-cell (process-taskable) :virtual #t - :trans - (behavior () + :trans (behavior () (cond ((nonzero? (-> self cell-for-task)) (let ((gp-0 (handle->process (-> self cell-x)))) @@ -361,22 +357,18 @@ ((-> self cur-trans-hook)) (none) ) - :code - process-taskable-anim-loop - :post - (the-as (function none :behavior process-taskable) ja-post) + :code process-taskable-anim-loop + :post (the-as (function none :behavior process-taskable) ja-post) ) ;; failed to figure out what this is: (defstate lose (process-taskable) :virtual #t - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 5)) (or (not *target*) (< 20480.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) @@ -387,37 +379,24 @@ ((-> self cur-trans-hook)) (none) ) - :code - process-taskable-anim-loop - :post - (the-as (function none :behavior process-taskable) ja-post) + :code process-taskable-anim-loop + :post (the-as (function none :behavior process-taskable) ja-post) ) ;; failed to figure out what this is: (defstate enter-playing (process-taskable) :virtual #t - :code - process-taskable-anim-loop - :post - (the-as (function none :behavior process-taskable) ja-post) + :code process-taskable-anim-loop + :post (the-as (function none :behavior process-taskable) ja-post) ) ;; definition for function process-taskable-play-anim-enter (defbehavior process-taskable-play-anim-enter process-taskable () (init! (-> self query) (the-as string #f) 40 150 25 #t (the-as string #f)) (logior! (-> self skel status) (janim-status blerc)) - (let ((gp-0 (get-process *default-dead-pool* othercam #x4000))) - (set! (-> self camera) - (ppointer->handle (when gp-0 - (let ((t9-2 (method-of-type othercam activate))) - (t9-2 (the-as othercam gp-0) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 othercam-init-by-other self (-> self cam-joint-index) #f #t) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! (-> self camera) + (ppointer->handle (process-spawn othercam self (-> self cam-joint-index) #f #t :to self)) + ) (set! (-> self cell-for-task) (game-task none)) (set! (-> self skippable) #f) (set! (-> self blend-on-exit) #f) @@ -451,37 +430,23 @@ ;; definition for function process-taskable-play-anim-code (defbehavior process-taskable-play-anim-code process-taskable ((arg0 art-joint-anim) (arg1 basic)) (when (nonzero? (-> self cell-for-task)) - (cond - ((name= (-> self state name) "play-anim") - (let ((s4-0 (get-process *default-dead-pool* fuel-cell #x4000))) - (set! (-> self cell-x) - (ppointer->handle - (when s4-0 - (let ((t9-2 (method-of-type fuel-cell activate))) - (t9-2 (the-as fuel-cell s4-0) self 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 fuel-cell-init-as-clone (process->handle self) (-> self cell-for-task)) - (-> s4-0 ppointer) - ) - ) - ) - ) - ) - (else + (if (name= (-> self state name) "play-anim") + (set! (-> self cell-x) (ppointer->handle (process-spawn + fuel-cell + :init fuel-cell-init-as-clone + (process->handle self) + (-> self cell-for-task) + :to self + ) + ) + ) (format #t "ERROR: ~S ~S trying to give cell on release~%" (-> self name) (-> self state name)) ) - ) ) (cond ((and arg1 (type-type? (-> arg1 type) spool-anim)) (when *target* - (while (let ((a1-9 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-9 from) self) - (set! (-> a1-9 num-params) 1) - (set! (-> a1-9 message) 'clone-anim) - (set! (-> a1-9 param 0) (the-as uint self)) - (not (send-event-function *target* a1-9)) - ) + (while (not (send-event *target* 'clone-anim self)) (spool-push *art-control* (-> (the-as spool-anim arg1) name) 0 self -99.0) (format #t "WARNING: ~A stall on not cloning.~%" (-> self name)) (suspend) @@ -559,18 +524,14 @@ ;; failed to figure out what this is: (defstate play-accept (process-taskable) :virtual #t - :enter - (the-as (function none :behavior process-taskable) process-taskable-play-anim-enter) - :exit - process-taskable-play-anim-exit - :trans - (behavior () + :enter (the-as (function none :behavior process-taskable) process-taskable-play-anim-enter) + :exit process-taskable-play-anim-exit + :trans (behavior () (process-taskable-play-anim-trans) ((-> self cur-trans-hook)) (none) ) - :code - (behavior () + :code (behavior () (process-taskable-play-anim-code (the-as art-joint-anim (get-art-elem self)) (get-accept-anim self #t)) (while (not (process-release? *target*)) (suspend) @@ -578,38 +539,31 @@ (go-virtual enter-playing) (none) ) - :post - (the-as (function none :behavior process-taskable) ja-post) + :post (the-as (function none :behavior process-taskable) ja-post) ) ;; failed to figure out what this is: (defstate play-reject (process-taskable) :virtual #t - :enter - (the-as (function none :behavior process-taskable) process-taskable-play-anim-enter) - :exit - process-taskable-play-anim-exit - :trans - (behavior () + :enter (the-as (function none :behavior process-taskable) process-taskable-play-anim-enter) + :exit process-taskable-play-anim-exit + :trans (behavior () (process-taskable-play-anim-trans) ((-> self cur-trans-hook)) (none) ) - :code - (behavior () + :code (behavior () (process-taskable-play-anim-code (the-as art-joint-anim (get-art-elem self)) (get-reject-anim self #t)) (go-virtual release) (none) ) - :post - (the-as (function none :behavior process-taskable) ja-post) + :post (the-as (function none :behavior process-taskable) ja-post) ) ;; failed to figure out what this is: (defstate query (process-taskable) :virtual #t - :enter - (behavior () + :enter (behavior () (init! (-> self query) (lookup-text! *common-text* (game-text-id confirm-play) #f) @@ -621,10 +575,8 @@ ) (none) ) - :exit - process-taskable-play-anim-exit - :trans - (behavior () + :exit process-taskable-play-anim-exit + :trans (behavior () (case (current-status (-> self tasks)) (((task-status need-reminder-a)) (case (get-response (-> self query)) @@ -655,17 +607,14 @@ ((-> self cur-trans-hook)) (none) ) - :code - process-taskable-anim-loop - :post - (the-as (function none :behavior process-taskable) ja-post) + :code process-taskable-anim-loop + :post (the-as (function none :behavior process-taskable) ja-post) ) ;; failed to figure out what this is: (defstate play-anim (process-taskable) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('shadow) (cond @@ -693,12 +642,9 @@ ) ) ) - :enter - (the-as (function none :behavior process-taskable) process-taskable-play-anim-enter) - :exit - process-taskable-play-anim-exit - :trans - (behavior () + :enter (the-as (function none :behavior process-taskable) process-taskable-play-anim-enter) + :exit process-taskable-play-anim-exit + :trans (behavior () (process-taskable-play-anim-trans) (let ((a3-0 (handle->process (-> self cell-x)))) (if a3-0 @@ -708,14 +654,12 @@ ((-> self cur-trans-hook)) (none) ) - :code - (behavior () + :code (behavior () (process-taskable-play-anim-code (the-as art-joint-anim (get-art-elem self)) (play-anim! self #t)) (dummy-38 self) (none) ) - :post - (the-as (function none :behavior process-taskable) ja-post) + :post (the-as (function none :behavior process-taskable) ja-post) ) ;; definition for function process-taskable-clean-up-after-talking @@ -789,20 +733,16 @@ ;; failed to figure out what this is: (defstate hidden (process-taskable) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior process-taskable) process-taskable-hide-handler ) - :enter - (the-as (function none :behavior process-taskable) process-taskable-hide-enter) - :exit - (behavior () + :enter (the-as (function none :behavior process-taskable) process-taskable-hide-enter) + :exit (behavior () (process-taskable-hide-exit (= (-> self next-state name) 'hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) (process-entity-status! self (entity-perm-status bit-3) #f) ) @@ -811,8 +751,7 @@ ) (none) ) - :code - (the-as (function none :behavior process-taskable) anim-loop) + :code (the-as (function none :behavior process-taskable) anim-loop) ) ;; definition for method 50 of type process-taskable @@ -831,20 +770,16 @@ ;; failed to figure out what this is: (defstate hidden-other (process-taskable) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior process-taskable) process-taskable-hide-handler ) - :enter - (the-as (function none :behavior process-taskable) process-taskable-hide-enter) - :exit - (behavior () + :enter (the-as (function none :behavior process-taskable) process-taskable-hide-enter) + :exit (behavior () (process-taskable-hide-exit (= (-> self next-state name) 'hidden-other)) (none) ) - :trans - (behavior () + :trans (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) (process-entity-status! self (entity-perm-status bit-3) #f) ) @@ -861,15 +796,13 @@ ) (none) ) - :code - (the-as (function none :behavior process-taskable) anim-loop) + :code (the-as (function none :behavior process-taskable) anim-loop) ) ;; failed to figure out what this is: (defstate be-clone (process-taskable) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as shadow-geo (cond ((= v1-0 'shadow) @@ -908,15 +841,13 @@ ) ) ) - :enter - (behavior ((arg0 handle)) + :enter (behavior ((arg0 handle)) (logior! (-> self skel status) (janim-status blerc)) (logclear! (-> self mask) (process-mask actor-pause)) (set-vector! (-> self draw bounds) 0.0 (-> self draw-bounds-y-offset) 0.0 (-> self draw bounds w)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self skel status) (janim-status blerc spool)) (logior! (-> self mask) (process-mask actor-pause)) (let ((v1-6 (-> self entity extra trans))) @@ -927,14 +858,12 @@ (ja-channel-set! 0) (none) ) - :trans - (behavior () + :trans (behavior () (draw-npc-shadow self) ((-> self cur-trans-hook)) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (clone-anim arg0 (-> self center-joint-index) #t "") (format #t "ERROR: handle invalid while ~S is cloning~%" (-> self name)) (go-virtual hidden) @@ -950,63 +879,56 @@ ;; failed to figure out what this is: (defstate idle (process-taskable) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'attack) - (the-as symbol (when (-> self bounce-away) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'shove) - (set! (-> a1-3 param 0) (the-as uint #f)) - (let ((v1-4 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-4 shove-back) 12288.0) - (set! (-> v1-4 shove-up) 4096.0) - (set! (-> a1-3 param 1) (the-as uint v1-4)) - ) - (the-as symbol (send-event-function arg0 a1-3)) - ) - ) - ) - ) - ((= v1-0 'touch) - (the-as symbol (send-shove-back - (-> self root-override) - arg0 - (the-as touching-shapes-entry (-> arg3 param 0)) - 0.7 - 6144.0 - 16384.0 - ) - ) - ) - ((= v1-0 'clone) - (the-as symbol (go-virtual be-clone (the-as handle (-> arg3 param 0)))) - ) - ((= v1-0 'play-anim) - (logclear! (-> self mask) (process-mask actor-pause)) - (let ((v0-0 #t)) - (set! (-> self been-kicked) v0-0) - v0-0 - ) - ) - ((= v1-0 'hidden-other) - (the-as symbol (go-virtual hidden-other)) - ) - ) - ) + (the-as + object + (cond + ((= v1-0 'attack) + (the-as + symbol + (if (-> self bounce-away) + (the-as + symbol + (send-event arg0 'shove #f (static-attack-info ((shove-back (meters 3)) (shove-up (meters 1))))) + ) + ) + ) + ) + ((= v1-0 'touch) + (the-as symbol (send-shove-back + (-> self root-override) + arg0 + (the-as touching-shapes-entry (-> arg3 param 0)) + 0.7 + 6144.0 + 16384.0 + ) + ) + ) + ((= v1-0 'clone) + (the-as symbol (go-virtual be-clone (the-as handle (-> arg3 param 0)))) + ) + ((= v1-0 'play-anim) + (logclear! (-> self mask) (process-mask actor-pause)) + (let ((v0-0 #t)) + (set! (-> self been-kicked) v0-0) + v0-0 + ) + ) + ((= v1-0 'hidden-other) + (the-as symbol (go-virtual hidden-other)) + ) + ) + ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (process-taskable-clean-up-after-talking) (none) ) - :exit - (behavior () + :exit (behavior () (cond ((or (= (-> self next-state name) 'dead-state) (= (-> self next-state name) 'idle)) (process-entity-status! self (entity-perm-status bit-3) #f) @@ -1023,8 +945,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.2)) (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) @@ -1112,10 +1033,8 @@ ((-> self cur-trans-hook)) (none) ) - :code - process-taskable-anim-loop - :post - (behavior () + :code process-taskable-anim-loop + :post (behavior () (when *target* (when (!= (-> self neck-joint-index) -1) (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -1267,8 +1186,7 @@ ;; failed to figure out what this is: (defstate othercam-running (othercam) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) (case arg2 (('die) @@ -1311,8 +1229,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (hide-hud-quick) (case (-> self spooling?) (('logo) @@ -1338,14 +1255,12 @@ (copy-settings-from-target! *setting-control*) (none) ) - :exit - (behavior () + :exit (behavior () (clear-pending-settings-from-process *setting-control* self 'process-mask) (copy-settings-from-target! *setting-control*) (none) ) - :code - (behavior () + :code (behavior () (loop (let ((s2-0 (-> self hand process 0))) (when (not s2-0) diff --git a/test/decompiler/reference/engine/game/task/task-control_REF.gc b/test/decompiler/reference/engine/game/task/task-control_REF.gc index 82414fa063..8a72bd9001 100644 --- a/test/decompiler/reference/engine/game/task/task-control_REF.gc +++ b/test/decompiler/reference/engine/game/task/task-control_REF.gc @@ -102,12 +102,9 @@ ) ;; definition for symbol *null-task-control*, type task-control -(define *null-task-control* (new 'static 'task-control - :current-stage -1 - :stage - (new 'static 'boxed-array :type task-cstage :length 0 :allocated-length 0) - ) - ) +(define *null-task-control* + (new 'static 'task-control :current-stage -1 :stage (new 'static 'boxed-array :type task-cstage)) + ) ;; definition for method 9 of type task-control ;; INFO: Return type mismatch int vs game-task. @@ -287,45 +284,30 @@ (define *assistant-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 12 :allocated-length 12 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task jungle-eggtop) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-eggtop) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-bike) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) (or (closed? arg0 (game-task jungle-eggtop) (task-status need-reminder)) (and (closed? arg0 (game-task jungle-eggtop) (task-status need-introduction)) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'pickup)) - (set! (-> a1-2 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-2))) (+ (get-reminder arg0 1) 3)) - ) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) + ) ) ) ) @@ -333,21 +315,14 @@ (new 'static 'task-cstage :game-task (game-task misty-bike) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) (or (closed? arg0 (game-task jungle-eggtop) (task-status need-reminder)) (and (closed? arg0 (game-task jungle-eggtop) (task-status need-introduction)) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'pickup)) - (set! (-> a1-2 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-2))) (+ (get-reminder arg0 1) 3)) - ) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) + ) ) ) ) @@ -356,34 +331,29 @@ :game-task (game-task jungle-eggtop) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-bike) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-bike) :status (task-status need-reminder-a) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-bike) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :status (task-status unknown) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (task-closed? (game-task village4-button) (task-status need-reward-speech)) ) @@ -391,22 +361,19 @@ (new 'static 'task-cstage :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-eggtop) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-bike) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -416,216 +383,144 @@ (define *assistant-village2-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 22 :allocated-length 22 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village2-levitator) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-levitator) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-levitator) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-levitator) :status (task-status need-reminder-a) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-levitator) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-0))) 45) - ) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 45) ) ) (new 'static 'task-cstage :game-task (game-task sunken-room) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-room) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-flutflut) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (and (task-closed? (game-task beach-flutflut) (task-status need-reminder)) - (or (closed? arg0 (game-task sunken-room) (task-status need-reminder)) - (and (closed? arg0 (game-task sunken-room) (task-status need-introduction)) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) pp) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'query) - (set! (-> a1-4 param 0) (the-as uint 'pickup)) - (set! (-> a1-4 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-4))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (and (task-closed? (game-task beach-flutflut) (task-status need-reminder)) + (or (closed? arg0 (game-task sunken-room) (task-status need-reminder)) + (and (closed? arg0 (game-task sunken-room) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) - ) + ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task swamp-flutflut) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (and (task-closed? (game-task beach-flutflut) (task-status need-reminder)) - (or (closed? arg0 (game-task sunken-room) (task-status need-reminder)) - (and (closed? arg0 (game-task sunken-room) (task-status need-introduction)) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) pp) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'query) - (set! (-> a1-4 param 0) (the-as uint 'pickup)) - (set! (-> a1-4 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-4))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (and (task-closed? (game-task beach-flutflut) (task-status need-reminder)) + (or (closed? arg0 (game-task sunken-room) (task-status need-reminder)) + (and (closed? arg0 (game-task sunken-room) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) - ) + ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task rolling-robbers) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (if (task-closed? (game-task beach-flutflut) (task-status need-reminder)) - (or (closed? arg0 (game-task swamp-flutflut) (task-status need-reminder)) - (and (closed? arg0 (game-task swamp-flutflut) (task-status need-introduction)) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) pp) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'query) - (set! (-> a1-4 param 0) (the-as uint 'pickup)) - (set! (-> a1-4 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-4))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (if (task-closed? (game-task beach-flutflut) (task-status need-reminder)) + (or (closed? arg0 (game-task swamp-flutflut) (task-status need-reminder)) + (and (closed? arg0 (game-task swamp-flutflut) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - (or (closed? arg0 (game-task sunken-room) (task-status need-reminder)) - (and (closed? arg0 (game-task sunken-room) (task-status need-introduction)) - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) pp) - (set! (-> a1-8 num-params) 2) - (set! (-> a1-8 message) 'query) - (set! (-> a1-8 param 0) (the-as uint 'pickup)) - (set! (-> a1-8 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-8))) (+ (get-reminder arg0 1) 3)) + ) + ) + (or (closed? arg0 (game-task sunken-room) (task-status need-reminder)) + (and (closed? arg0 (game-task sunken-room) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) - ) + ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task rolling-robbers) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (if (task-closed? (game-task beach-flutflut) (task-status need-reminder)) - (or (closed? arg0 (game-task swamp-flutflut) (task-status need-reminder)) - (and (closed? arg0 (game-task swamp-flutflut) (task-status need-introduction)) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) pp) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'query) - (set! (-> a1-4 param 0) (the-as uint 'pickup)) - (set! (-> a1-4 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-4))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (if (task-closed? (game-task beach-flutflut) (task-status need-reminder)) + (or (closed? arg0 (game-task swamp-flutflut) (task-status need-reminder)) + (and (closed? arg0 (game-task swamp-flutflut) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - (or (closed? arg0 (game-task sunken-room) (task-status need-reminder)) - (and (closed? arg0 (game-task sunken-room) (task-status need-introduction)) - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) pp) - (set! (-> a1-8 num-params) 2) - (set! (-> a1-8 message) 'query) - (set! (-> a1-8 param 0) (the-as uint 'pickup)) - (set! (-> a1-8 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-8))) (+ (get-reminder arg0 1) 3)) + ) + ) + (or (closed? arg0 (game-task sunken-room) (task-status need-reminder)) + (and (closed? arg0 (game-task sunken-room) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) - ) + ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task sunken-room) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-room) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-flutflut) :status (task-status unknown) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (task-closed? (game-task beach-flutflut) (task-status need-reminder)) ) @@ -634,8 +529,7 @@ :game-task (game-task swamp-flutflut) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (task-closed? (game-task beach-flutflut) (task-status need-reminder)) ) @@ -643,48 +537,41 @@ (new 'static 'task-cstage :game-task (game-task rolling-robbers) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-robbers) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-room) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-robbers) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-flutflut) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-levitator) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -694,49 +581,36 @@ (define *gambler-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task rolling-race) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-race) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-gambler-money) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-gambler-money) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-race) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task rolling-race) (task-status need-reward-speech)) ) ) @@ -744,8 +618,7 @@ :game-task (game-task village2-gambler-money) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task village2-gambler-money) (task-status need-reward-speech)) ) ) @@ -753,8 +626,7 @@ :game-task (game-task rolling-race) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task rolling-race) (task-status need-reminder)) ) ) @@ -762,22 +634,12 @@ :game-task (game-task village2-gambler-money) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -786,16 +648,14 @@ :game-task (game-task rolling-race) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task rolling-race) (task-status need-introduction)) ) ) (new 'static 'task-cstage :game-task (game-task village2-gambler-money) :status (task-status need-reminder) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task rolling-race) (task-status need-introduction)) ) ) @@ -807,49 +667,36 @@ (define *geologist-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task rolling-moles) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-moles) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-geologist-money) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-geologist-money) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-moles) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task rolling-moles) (task-status need-reward-speech)) ) ) @@ -857,8 +704,7 @@ :game-task (game-task village2-geologist-money) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task village2-geologist-money) (task-status need-reward-speech)) ) ) @@ -866,8 +712,7 @@ :game-task (game-task rolling-moles) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task rolling-moles) (task-status need-reminder)) ) ) @@ -875,22 +720,12 @@ :game-task (game-task village2-geologist-money) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -899,16 +734,14 @@ :game-task (game-task rolling-moles) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task rolling-moles) (task-status need-introduction)) ) ) (new 'static 'task-cstage :game-task (game-task village2-geologist-money) :status (task-status need-reminder) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task rolling-moles) (task-status need-introduction)) ) ) @@ -920,49 +753,36 @@ (define *mayor-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 11 :allocated-length 11 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task jungle-lurkerm) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-lurkerm) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-mayor-money) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-mayor-money) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-lurkerm) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task jungle-lurkerm) (task-status need-reward-speech)) ) ) @@ -970,8 +790,7 @@ :game-task (game-task village1-mayor-money) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task village1-mayor-money) (task-status need-reward-speech)) ) ) @@ -979,8 +798,7 @@ :game-task (game-task jungle-lurkerm) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task jungle-lurkerm) (task-status need-reminder)) ) ) @@ -988,22 +806,12 @@ :game-task (game-task village1-mayor-money) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -1012,8 +820,7 @@ :game-task (game-task jungle-lurkerm) :status (task-status need-reminder-a) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task jungle-lurkerm) (task-status need-introduction)) ) ) @@ -1021,16 +828,14 @@ :game-task (game-task jungle-lurkerm) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task jungle-lurkerm) (task-status need-introduction)) ) ) (new 'static 'task-cstage :game-task (game-task village1-mayor-money) :status (task-status need-reminder) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) + :condition (lambda ((arg0 task-control) (arg1 task-control)) (closed? arg0 (game-task jungle-lurkerm) (task-status need-introduction)) ) ) @@ -1042,119 +847,86 @@ (define *sage-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 14 :allocated-length 14 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task intro) :status (task-status need-introduction) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task intro) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task intro) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-ecorocks) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-ecorocks) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-cannon) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task beach-ecorocks) (task-status need-reminder)) - (and (closed? arg0 (game-task beach-ecorocks) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task beach-ecorocks) (task-status need-reminder)) + (and (closed? arg0 (game-task beach-ecorocks) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task misty-cannon) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task beach-ecorocks) (task-status need-reminder)) - (and (closed? arg0 (game-task beach-ecorocks) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task beach-ecorocks) (task-status need-reminder)) + (and (closed? arg0 (game-task beach-ecorocks) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task beach-ecorocks) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-cannon) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-cannon) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :status (task-status unknown) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (task-closed? (game-task village4-button) (task-status need-reward-speech)) ) @@ -1162,22 +934,19 @@ (new 'static 'task-cstage :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-ecorocks) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-cannon) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -1187,111 +956,79 @@ (define *sage-bluehut-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task rolling-plants) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-plants) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-arm) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task rolling-plants) (task-status need-reminder)) - (and (closed? arg0 (game-task rolling-plants) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task rolling-plants) (task-status need-reminder)) + (and (closed? arg0 (game-task rolling-plants) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task swamp-arm) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task rolling-plants) (task-status need-reminder)) - (and (closed? arg0 (game-task rolling-plants) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task rolling-plants) (task-status need-reminder)) + (and (closed? arg0 (game-task rolling-plants) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task rolling-plants) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-arm) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-arm) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-plants) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-arm) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -1301,63 +1038,41 @@ (define *oracle-village1-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village1-oracle-money1) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-oracle-money1) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-oracle-money2) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-oracle-money2) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-oracle-money1) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-oracle-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc)) ) ) ) @@ -1365,36 +1080,24 @@ (new 'static 'task-cstage :game-task (game-task village1-oracle-money1) :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-oracle-money1) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-oracle-money2) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-oracle-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc)) ) ) ) @@ -1402,15 +1105,13 @@ (new 'static 'task-cstage :game-task (game-task village1-oracle-money2) :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-oracle-money2) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -1420,63 +1121,41 @@ (define *oracle-village2-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village2-oracle-money1) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-oracle-money1) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-oracle-money2) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-oracle-money2) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-oracle-money1) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-oracle-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc)) ) ) ) @@ -1484,36 +1163,24 @@ (new 'static 'task-cstage :game-task (game-task village2-oracle-money1) :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-oracle-money1) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-oracle-money2) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-oracle-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc)) ) ) ) @@ -1521,15 +1188,13 @@ (new 'static 'task-cstage :game-task (game-task village2-oracle-money2) :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-oracle-money2) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -1539,63 +1204,41 @@ (define *oracle-village3-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village3-oracle-money1) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-oracle-money1) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-oracle-money2) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-oracle-money2) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-oracle-money1) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-oracle-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc)) ) ) ) @@ -1603,36 +1246,24 @@ (new 'static 'task-cstage :game-task (game-task village3-oracle-money1) :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-oracle-money1) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-oracle-money2) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-oracle-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-oracle-inc)) ) ) ) @@ -1640,15 +1271,13 @@ (new 'static 'task-cstage :game-task (game-task village3-oracle-money2) :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-oracle-money2) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -1658,95 +1287,65 @@ (define *miners-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 35 :allocated-length 35 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village3-miner-money1) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money1) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money2) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money2) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money3) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money3) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money4) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money4) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money1) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -1755,22 +1354,12 @@ :game-task (game-task village3-miner-money2) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -1779,22 +1368,12 @@ :game-task (game-task village3-miner-money3) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -1803,22 +1382,12 @@ :game-task (game-task village3-miner-money4) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -1826,219 +1395,164 @@ (new 'static 'task-cstage :game-task (game-task cave-gnawers) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task village3-miner-money4) (task-status need-reminder)) - (and (closed? arg0 (game-task village3-miner-money4) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task village3-miner-money4) (task-status need-reminder)) + (and (closed? arg0 (game-task village3-miner-money4) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task cave-gnawers) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task village3-miner-money4) (task-status need-reminder)) - (and (closed? arg0 (game-task village3-miner-money4) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task village3-miner-money4) (task-status need-reminder)) + (and (closed? arg0 (game-task village3-miner-money4) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task snow-eggtop) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task cave-gnawers) (task-status need-reminder)) - (and (closed? arg0 (game-task cave-gnawers) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task cave-gnawers) (task-status need-reminder)) + (and (closed? arg0 (game-task cave-gnawers) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task snow-eggtop) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task cave-gnawers) (task-status need-reminder)) - (and (closed? arg0 (game-task cave-gnawers) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task cave-gnawers) (task-status need-reminder)) + (and (closed? arg0 (game-task cave-gnawers) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money1) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money1) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money2) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money2) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money3) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money3) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money4) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money4) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-gnawers) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-gnawers) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-eggtop) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-eggtop) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money1) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money2) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money3) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-miner-money4) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-gnawers) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-eggtop) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -2048,140 +1562,102 @@ (define *sage-villagec-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 14 :allocated-length 14 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village3-button) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-button) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-button) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-dark-crystals) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-dark-crystals) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-ram) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task cave-dark-crystals) (task-status need-reminder)) - (and (closed? arg0 (game-task cave-dark-crystals) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task cave-dark-crystals) (task-status need-reminder)) + (and (closed? arg0 (game-task cave-dark-crystals) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task snow-ram) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or (closed? arg0 (game-task cave-dark-crystals) (task-status need-reminder)) - (and (closed? arg0 (game-task cave-dark-crystals) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-3))) (+ (get-reminder arg0 1) 3)) + :flags (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control) (arg1 task-control)) + (or (closed? arg0 (game-task cave-dark-crystals) (task-status need-reminder)) + (and (closed? arg0 (game-task cave-dark-crystals) (task-status need-introduction)) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) + (+ (get-reminder arg0 1) 3) ) - ) - ) - ) + ) + ) ) ) (new 'static 'task-cstage :game-task (game-task cave-dark-crystals) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-ram) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-ram) :status (task-status need-reminder-a) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-ram) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-dark-crystals) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-ram) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -2190,25 +1666,18 @@ ;; definition for symbol *citb-greensage-tasks*, type task-control (define *citb-greensage-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task citadel-sage-green) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task citadel-sage-green) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -2217,25 +1686,18 @@ ;; definition for symbol *citb-bluesage-tasks*, type task-control (define *citb-bluesage-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task citadel-sage-blue) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task citadel-sage-blue) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -2244,25 +1706,18 @@ ;; definition for symbol *citb-redsage-tasks*, type task-control (define *citb-redsage-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task citadel-sage-red) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task citadel-sage-red) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -2271,25 +1726,18 @@ ;; definition for symbol *citb-yellowsage-tasks*, type task-control (define *citb-yellowsage-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task citadel-sage-yellow) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task citadel-sage-yellow) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -2298,358 +1746,262 @@ ;; definition for symbol *task-controls*, type (array task-control) (define *task-controls* (the-as (array task-control) - (new - 'static - 'boxed-array - :type basic :length 116 :allocated-length 116 + (new 'static 'boxed-array :type basic '*null-task-control* '*null-task-control* '*assistant-tasks* '*mayor-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task jungle-tower) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-tower) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-tower) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-tower) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 7 :allocated-length 7 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task jungle-fishgame) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-fishgame) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-fishgame) :status (task-status need-reminder-a) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-fishgame) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-fishgame) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-fishgame) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task jungle-plant) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-plant) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-plant) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-plant) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task jungle-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task jungle-canyon-end) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-canyon-end) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-canyon-end) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-canyon-end) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task jungle-temple-door) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-temple-door) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-temple-door) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task jungle-temple-door) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village1-yakow) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-yakow) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-yakow) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-yakow) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-yakow) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) '*mayor-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village1-uncle-money) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-uncle-money) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-uncle-money) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -2657,15 +2009,13 @@ (new 'static 'task-cstage :game-task (game-task village1-uncle-money) :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-uncle-money) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -2674,405 +2024,303 @@ '*sage-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task beach-pelican) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-pelican) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-pelican) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-pelican) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task beach-flutflut) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-flutflut) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-flutflut) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-flutflut) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-flutflut) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task beach-seagull) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-seagull) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-seagull) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-seagull) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task beach-cannon) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-cannon) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-cannon) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-cannon) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task beach-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task beach-gimmie) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-gimmie) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-gimmie) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-gimmie) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task beach-sentinel) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-sentinel) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-sentinel) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task beach-sentinel) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task misty-muse) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-muse) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-muse) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-muse) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-muse) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task misty-boat) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-boat) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-boat) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-boat) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task misty-warehouse) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-warehouse) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-warehouse) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-warehouse) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -3080,118 +2328,88 @@ '*assistant-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task misty-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task misty-bike-jump) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-bike-jump) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-bike-jump) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-bike-jump) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task misty-eco-challenge) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-eco-challenge) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-eco-challenge) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task misty-eco-challenge) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -3199,18 +2417,12 @@ '*geologist-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village2-warrior-money) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) (and (not (task-closed? (game-task ogre-boss) (task-status need-reminder))) (not (task-closed? (game-task village2-levitator) (task-status need-reward-speech))) @@ -3220,10 +2432,8 @@ (new 'static 'task-cstage :game-task (game-task village2-warrior-money) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) (and (not (task-closed? (game-task ogre-boss) (task-status need-reminder))) (not (task-closed? (game-task village2-levitator) (task-status need-reward-speech))) @@ -3234,22 +2444,12 @@ :game-task (game-task village2-warrior-money) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (the-as symbol (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) - (-> *GAME-bank* money-task-inc) - ) - ) + (>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc)) ) ) ) @@ -3257,15 +2457,13 @@ (new 'static 'task-cstage :game-task (game-task village2-warrior-money) :status (task-status need-reminder) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-warrior-money) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -3273,564 +2471,421 @@ '*oracle-village2-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 6 :allocated-length 6 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task swamp-billy) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-billy) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-billy) :status (task-status need-reminder-a) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-billy) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-billy) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-billy) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) '*assistant-village2-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task swamp-battle) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-battle) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-battle) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-battle) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task swamp-tether-1) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-1) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-1) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-1) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task swamp-tether-2) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-2) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-2) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-2) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task swamp-tether-3) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-3) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-3) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-3) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task swamp-tether-4) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-4) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-4) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-tether-4) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task swamp-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task swamp-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task sunken-platforms) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-platforms) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-platforms) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-platforms) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task sunken-pipe) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-pipe) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-pipe) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-pipe) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task sunken-slide) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-slide) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-slide) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-slide) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) '*assistant-village2-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task sunken-sharks) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-sharks) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-sharks) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-sharks) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task sunken-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task sunken-top-of-helix) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-top-of-helix) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-top-of-helix) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-top-of-helix) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task sunken-spinning-room) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-spinning-room) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-spinning-room) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task sunken-spinning-room) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -3840,157 +2895,117 @@ '*sage-bluehut-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task rolling-lake) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-lake) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-lake) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-lake) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task rolling-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task rolling-ring-chase-1) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-ring-chase-1) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-ring-chase-1) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-ring-chase-1) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task rolling-ring-chase-2) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-ring-chase-2) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-ring-chase-2) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task rolling-ring-chase-2) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -3998,313 +3013,233 @@ '*sage-villagec-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task snow-fort) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-fort) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-fort) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-fort) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task snow-ball) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-ball) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-ball) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-ball) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task snow-bunnies) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-bunnies) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-bunnies) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-bunnies) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task snow-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task snow-bumpers) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-bumpers) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-bumpers) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-bumpers) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task snow-cage) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-cage) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-cage) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task snow-cage) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task firecanyon-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task firecanyon-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task firecanyon-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task firecanyon-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task firecanyon-end) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task firecanyon-end) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task firecanyon-end) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task firecanyon-end) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -4314,157 +3249,117 @@ '*citb-yellowsage-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village3-extra1) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-extra1) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-extra1) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-extra1) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village1-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village1-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village2-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village2-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village3-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village3-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -4472,625 +3367,465 @@ '*sage-villagec-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task cave-dark-climb) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-dark-climb) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-dark-climb) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-dark-climb) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task cave-robot-climb) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-robot-climb) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-robot-climb) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-robot-climb) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task cave-swing-poles) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-swing-poles) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-swing-poles) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-swing-poles) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task cave-spider-tunnel) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-spider-tunnel) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-spider-tunnel) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-spider-tunnel) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task cave-platforms) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-platforms) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-platforms) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-platforms) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task cave-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task cave-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task ogre-boss) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-boss) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-boss) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-boss) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task ogre-end) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-end) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-end) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-end) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task ogre-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task lavatube-end) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-end) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-end) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-end) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task lavatube-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task citadel-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task citadel-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task citadel-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task citadel-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task training-gimmie) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-gimmie) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-gimmie) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-gimmie) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task training-door) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-door) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-door) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-door) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task training-climb) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-climb) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-climb) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-climb) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task training-buzzer) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-buzzer) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-buzzer) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task training-buzzer) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -5102,33 +3837,20 @@ '*oracle-village3-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task firecanyon-assistant) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-0))) 20) - ) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 20) ) ) (new 'static 'task-cstage :game-task (game-task firecanyon-assistant) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) @@ -5137,290 +3859,209 @@ '*sage-villagec-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task red-eggtop) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task red-eggtop) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task red-eggtop) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task red-eggtop) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task lavatube-balls) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-balls) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-balls) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task lavatube-balls) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task lavatube-start) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 6)) - (>= (the int (the float (send-event-function *target* a1-0))) 72) - ) + (>= (the int (the float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 72) ) ) (new 'static 'task-cstage :game-task (game-task lavatube-start) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) '*sage-tasks* (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task ogre-secret) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-secret) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-secret) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task ogre-secret) :status (task-status need-resolution) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 3 :allocated-length 3 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task village4-button) :status (task-status unknown) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village4-button) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task village4-button) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task finalboss-movies) :status (task-status unknown) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task finalboss-movies) :status (task-status need-introduction) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task finalboss-movies) :status (task-status need-reminder-a) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task finalboss-movies) :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task finalboss-movies) :status (task-status need-reward-speech) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task plunger-lurker-hit) :status (task-status unknown) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task plunger-lurker-hit) :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :game-task (game-task leaving-misty) :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) (new 'static 'task-cstage :game-task (game-task leaving-misty) :status (task-status need-reminder) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :flags (task-flags has-entity closed-by-default) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) (new 'static 'task-control :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 + :stage (new 'static 'boxed-array :type task-cstage (new 'static 'task-cstage :status (task-status unknown) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable + :condition (lambda :behavior process-taskable ((arg0 task-control)) (task-closed? (game-task village4-button) (task-status need-reward-speech)) ) @@ -5428,8 +4069,7 @@ (new 'static 'task-cstage :status (task-status need-reminder) :flags (task-flags has-entity) - :condition - (lambda :behavior process-taskable ((arg0 task-control)) #t) + :condition (lambda :behavior process-taskable ((arg0 task-control)) #t) ) ) ) diff --git a/test/decompiler/reference/engine/game/voicebox_REF.gc b/test/decompiler/reference/engine/game/voicebox_REF.gc index cf25a4a68e..7c446cbb15 100644 --- a/test/decompiler/reference/engine/game/voicebox_REF.gc +++ b/test/decompiler/reference/engine/game/voicebox_REF.gc @@ -58,8 +58,7 @@ ;; failed to figure out what this is: (defstate empty-state (process) - :code - (the-as (function none :behavior process) nothing) + :code (the-as (function none :behavior process) nothing) ) ;; failed to figure out what this is: @@ -135,24 +134,21 @@ ;; failed to figure out what this is: (defstate enter (voicebox) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('die) (go-virtual exit) ) ) ) - :trans - (behavior () + :trans (behavior () (voicebox-track) (if (< 0.1 (-> self blend)) (point-toward-point-clear-roll-pitch! (-> self root) (target-pos 0)) ) (none) ) - :code - (behavior () + :code (behavior () (set-setting! *setting-control* self 'sound-flava #f 20.0 6) (if (and *target* (logtest? (-> *target* control root-prim prim-core action) (collide-action ca-9))) (send-event @@ -179,36 +175,29 @@ (go-virtual idle) (none) ) - :post - (the-as (function none :behavior voicebox) ja-post) + :post (the-as (function none :behavior voicebox) ja-post) ) ;; failed to figure out what this is: (defstate idle (voicebox) :virtual #t - :event - (-> (method-of-type voicebox enter) event) - :trans - voicebox-track - :code - (behavior () + :event (-> (method-of-type voicebox enter) event) + :trans voicebox-track + :code (behavior () (loop (suspend) (ja :num! (loop!)) ) (none) ) - :post - (the-as (function none :behavior voicebox) ja-post) + :post (the-as (function none :behavior voicebox) ja-post) ) ;; failed to figure out what this is: (defstate exit (voicebox) :virtual #t - :trans - voicebox-track - :code - (behavior () + :trans voicebox-track + :code (behavior () (clear-pending-settings-from-process *setting-control* self 'sound-flava) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self seeker target) 1.0) @@ -229,8 +218,7 @@ 0 (none) ) - :post - (the-as (function none :behavior voicebox) ja-post) + :post (the-as (function none :behavior voicebox) ja-post) ) ;; definition for function voicebox-init-by-other @@ -249,45 +237,25 @@ ;; failed to figure out what this is: (defstate cam-voicebox (camera-voicebox) - :event - (-> cam-string event) - :enter - (-> cam-string enter) - :trans - (behavior () + :event (-> cam-string event) + :enter (-> cam-string enter) + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (deactivate self) ) (none) ) - :code - (-> cam-string code) + :code (-> cam-string code) ) ;; definition for function voicebox-spawn (defun voicebox-spawn ((arg0 process) (arg1 vector)) (with-pp - (let* ((s3-0 (get-process *camera-dead-pool* camera-voicebox #x4000)) - (s4-0 (when s3-0 - (let ((t9-1 (method-of-type camera-voicebox activate))) - (t9-1 (the-as camera-voicebox s3-0) arg0 'camera-voicebox (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 cam-slave-init cam-voicebox #f) - (-> s3-0 ppointer) - ) - ) - ) - (when s4-0 - (let ((s5-1 (get-process *default-dead-pool* voicebox #x4000))) - (when s5-1 - (let ((t9-4 (method-of-type voicebox activate))) - (t9-4 (the-as voicebox s5-1) (ppointer->process s4-0) 'voicebox (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 voicebox-init-by-other arg1 (process->handle pp)) - (-> s5-1 ppointer) - ) + (let ((s4-0 (process-spawn camera-voicebox :init cam-slave-init cam-voicebox #f :from *camera-dead-pool* :to arg0)) + ) + (if s4-0 + (process-spawn voicebox arg1 (process->handle pp) :to (ppointer->process s4-0)) ) - ) ) ) ) diff --git a/test/decompiler/reference/engine/gfx/depth-cue_REF.gc b/test/decompiler/reference/engine/gfx/depth-cue_REF.gc index 6b33d934ee..3cb028d030 100644 --- a/test/decompiler/reference/engine/gfx/depth-cue_REF.gc +++ b/test/decompiler/reference/engine/gfx/depth-cue_REF.gc @@ -4,50 +4,31 @@ ;; definition for symbol *depth-cue-work*, type depth-cue-work (define *depth-cue-work* (new 'static 'depth-cue-work - :texture-strip-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + :texture-strip-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x50ab400000008001 #x43431) + :gif (new 'static 'array uint64 2 #x50ab400000008001 #x43431) ) - :temp-strip-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + :temp-strip-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x508b400000008001 #x43431) + :gif (new 'static 'array uint64 2 #x508b400000008001 #x43431) ) - :stencil-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x17 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x17 :cmd (vif-cmd direct) :msk #x1) + :stencil-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x17 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x17 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #xb003400000008002 #x44444444441) + :gif (new 'static 'array uint64 2 #xb003400000008002 #x44444444441) ) - :set-color - (new 'static 'vector4w :x #x80 :y #x80 :z #x80 :w #x80) - :draw-color - (new 'static 'vector4w :x #x84 :y #x84 :z #x84 :w #x80) - :depth - (new 'static 'depth-cue-data :data (new 'static 'vector :x 1.0 :z 163840.0)) - :front - (new 'static 'depth-cue-data :data (new 'static 'vector :x 0.999 :y 0.4 :z 4096.0 :w 1.0)) + :set-color (new 'static 'vector4w :x #x80 :y #x80 :z #x80 :w #x80) + :draw-color (new 'static 'vector4w :x #x84 :y #x84 :z #x84 :w #x80) + :depth (new 'static 'depth-cue-data :data (new 'static 'vector :x 1.0 :z 163840.0)) + :front (new 'static 'depth-cue-data :data (new 'static 'vector :x 0.999 :y 0.4 :z 4096.0 :w 1.0)) ) ) diff --git a/test/decompiler/reference/engine/gfx/eye_REF.gc b/test/decompiler/reference/engine/gfx/eye_REF.gc index 556759b420..e49fee348a 100644 --- a/test/decompiler/reference/engine/gfx/eye_REF.gc +++ b/test/decompiler/reference/engine/gfx/eye_REF.gc @@ -3,44 +3,28 @@ ;; definition for symbol *eye-work*, type eye-work (define *eye-work* (new 'static 'eye-work - :sprite-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + :sprite-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x508b400000008001 #x53531) + :gif (new 'static 'array uint64 2 #x508b400000008001 #x53531) ) - :sprite-tmpl2 - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + :sprite-tmpl2 (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x50ab400000008001 #x53531) + :gif (new 'static 'array uint64 2 #x50ab400000008001 #x53531) ) - :adgif-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + :adgif-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x1000000000008005 #xe) + :gif (new 'static 'array uint64 2 #x1000000000008005 #xe) ) - :blink-table - (new 'static 'array float 10 0.0 0.667 0.9 1.0 1.0 1.0 1.0 0.333 0.1 0.0) + :blink-table (new 'static 'array float 10 0.0 0.667 0.9 1.0 1.0 1.0 1.0 0.333 0.1 0.0) ) ) diff --git a/test/decompiler/reference/engine/gfx/font-h_REF.gc b/test/decompiler/reference/engine/gfx/font-h_REF.gc index a8f29efb5b..f2f9bb3708 100644 --- a/test/decompiler/reference/engine/gfx/font-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/font-h_REF.gc @@ -302,29 +302,19 @@ ;; definition for symbol *font-work*, type font-work (define *font-work* (new 'static 'font-work - :font-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1) + :font-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x102e400000008001 #xe) + :gif (new 'static 'array uint64 2 #x102e400000008001 #xe) ) - :char-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #xe :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #xe :cmd (vif-cmd direct) :msk #x1) + :char-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #xe :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #xe :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #xd02e400000008001 #x412412412412e) + :gif (new 'static 'array uint64 2 #xd02e400000008001 #x412412412412e) ) :tex1-tmpl (new 'static 'array uint64 2 #x60 #x14) :small-font-lo-tmpl (new 'static 'array uint64 2 #x0 #x6) @@ -333,62 +323,49 @@ :large-font-hi-tmpl (new 'static 'array uint64 2 #x0 #x6) :size1-small (new 'static 'vector :x 12.0 :w 0.5) :size2-small (new 'static 'vector :y 8.0 :w 8.0) - :size3-small - (new 'static 'vector :x 12.0 :y 8.0 :w 8.0) + :size3-small (new 'static 'vector :x 12.0 :y 8.0 :w 8.0) :size1-large (new 'static 'vector :x 24.0 :w 1.0) :size2-large (new 'static 'vector :y 16.0 :w 16.0) - :size3-large - (new 'static 'vector :x 24.0 :y 16.0 :w 16.0) + :size3-large (new 'static 'vector :x 24.0 :y 16.0 :w 16.0) :size-st1 (new 'static 'vector :x 0.08985 :w 0.5) - :size-st2 - (new 'static 'vector :y 0.06153846 :w 0.5) - :size-st3 - (new 'static 'vector :x 0.08985 :y 0.06153846 :w 0.5) - :current-verts - (new 'static 'char-verts - :pos - (new 'static 'inline-array vector 4 + :size-st2 (new 'static 'vector :y 0.06153846 :w 0.5) + :size-st3 (new 'static 'vector :x 0.08985 :y 0.06153846 :w 0.5) + :current-verts (new 'static 'char-verts + :pos (new 'static 'inline-array vector 4 (new 'static 'vector :w 1.0) (new 'static 'vector :w 1.0) (new 'static 'vector :w 1.0) (new 'static 'vector :w 1.0) ) - :tex-st - (new 'static 'inline-array vector 4 + :tex-st (new 'static 'inline-array vector 4 (new 'static 'vector :z 1.0) (new 'static 'vector :z 1.0) (new 'static 'vector :z 1.0) (new 'static 'vector :z 1.0) ) ) - :src-verts - (new 'static 'char-verts - :pos - (new 'static 'inline-array vector 4 + :src-verts (new 'static 'char-verts + :pos (new 'static 'inline-array vector 4 (new 'static 'vector :w 1.0) (new 'static 'vector :w 1.0) (new 'static 'vector :w 1.0) (new 'static 'vector :w 1.0) ) - :tex-st - (new 'static 'inline-array vector 4 + :tex-st (new 'static 'inline-array vector 4 (new 'static 'vector :z 1.0) (new 'static 'vector :z 1.0) (new 'static 'vector :z 1.0) (new 'static 'vector :z 1.0) ) ) - :dest-verts - (new 'static 'char-verts - :pos - (new 'static 'inline-array vector 4 + :dest-verts (new 'static 'char-verts + :pos (new 'static 'inline-array vector 4 (new 'static 'vector :w 1.0) (new 'static 'vector :w 1.0) (new 'static 'vector :w 1.0) (new 'static 'vector :w 1.0) ) - :tex-st - (new 'static 'inline-array vector 4 + :tex-st (new 'static 'inline-array vector 4 (new 'static 'vector :z 1.0) (new 'static 'vector :z 1.0) (new 'static 'vector :z 1.0) @@ -396,8 +373,7 @@ ) ) :color-shadow (new 'static 'vector4w :w #x80) - :color-table - (new 'static 'inline-array char-color 64 + :color-table (new 'static 'inline-array char-color 64 (new 'static 'char-color :color (new 'static 'array rgba 4 (new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80) (new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80) diff --git a/test/decompiler/reference/engine/gfx/merc/merc-death_REF.gc b/test/decompiler/reference/engine/gfx/merc/merc-death_REF.gc index 11fb68fd9e..8f15252829 100644 --- a/test/decompiler/reference/engine/gfx/merc/merc-death_REF.gc +++ b/test/decompiler/reference/engine/gfx/merc/merc-death_REF.gc @@ -62,8 +62,7 @@ ;; failed to figure out what this is: (defpart 41 - :init-specs - ((sp-flt spt-scale-x (meters 0.5)) + :init-specs ((sp-flt spt-scale-x (meters 0.5)) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 64.0 32.0 1.0) (sp-rnd-flt spt-g 16.0 32.0 1.0) @@ -82,8 +81,7 @@ ;; failed to figure out what this is: (defpart 42 - :init-specs - ((sp-flt spt-fade-a -1.4222223) + :init-specs ((sp-flt spt-fade-a -1.4222223) (sp-int spt-timer 45) (sp-int spt-next-time 42) (sp-launcher-by-id spt-next-launcher 43) @@ -92,8 +90,7 @@ ;; failed to figure out what this is: (defpart 43 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) (sp-flt spt-fade-a -0.21333334) (sp-int-plain-rnd spt-timer 0 296 1)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-flt spt-fade-a -0.21333334) (sp-int-plain-rnd spt-timer 0 296 1)) ) ;; definition for function merc-death-spawn diff --git a/test/decompiler/reference/engine/gfx/ocean/ocean-mid_REF.gc b/test/decompiler/reference/engine/gfx/ocean/ocean-mid_REF.gc index 6f455ce979..5562ba7f8a 100644 --- a/test/decompiler/reference/engine/gfx/ocean/ocean-mid_REF.gc +++ b/test/decompiler/reference/engine/gfx/ocean/ocean-mid_REF.gc @@ -1158,7 +1158,3 @@ (none) ) ) - - - - diff --git a/test/decompiler/reference/engine/gfx/ocean/ocean-near_REF.gc b/test/decompiler/reference/engine/gfx/ocean/ocean-near_REF.gc index 159b9b2b7c..5d5ce5a876 100644 --- a/test/decompiler/reference/engine/gfx/ocean/ocean-near_REF.gc +++ b/test/decompiler/reference/engine/gfx/ocean/ocean-near_REF.gc @@ -730,7 +730,3 @@ 0 (none) ) - - - - diff --git a/test/decompiler/reference/engine/gfx/ocean/ocean-tables_REF.gc b/test/decompiler/reference/engine/gfx/ocean/ocean-tables_REF.gc index 811293eea5..44947951f6 100644 --- a/test/decompiler/reference/engine/gfx/ocean/ocean-tables_REF.gc +++ b/test/decompiler/reference/engine/gfx/ocean/ocean-tables_REF.gc @@ -2602,12 +2602,10 @@ ;; definition for symbol *ocean-near-indices-village1*, type ocean-near-indices (define *ocean-near-indices-village1* (new 'static 'ocean-near-indices - :data - (new 'static 'inline-array ocean-near-index 68 + :data (new 'static 'inline-array ocean-near-index 68 (new 'static 'ocean-near-index) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #x0 #x1 #xffff @@ -2627,8 +2625,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -2648,8 +2645,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -2669,12 +2665,10 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #xa #xb #x0 #x0 #x0 #x14 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x0 #x0 #xa #xb #x0 #x0 #x0 #x14 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -2694,24 +2688,19 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #xc #xd #xe #xf #xffff #xffff #x16 #x17 #xffff #x1b #x1c #x0 #x22 #x23 #x24 #x0) + :data (new 'static 'array uint16 16 #xc #xd #xe #xf #xffff #xffff #x16 #x17 #xffff #x1b #x1c #x0 #x22 #x23 #x24 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x10 #x11 #x12 #x13 #x0 #x0 #x18 #x19 #x1d #x1e #x0 #x1f #x0 #x0 #x0 #x25) + :data (new 'static 'array uint16 16 #x10 #x11 #x12 #x13 #x0 #x0 #x18 #x19 #x1d #x1e #x0 #x1f #x0 #x0 #x0 #x25) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x0 #x26 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x0 #x0 #x0 #x26 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x27 #x0 #x17 #x0 #x0 #x0 #x0 #x2b #x0 #x0 #x0 #x2e #x0 #x0 #x0 #x32) + :data (new 'static 'array uint16 16 #x27 #x0 #x17 #x0 #x0 #x0 #x0 #x2b #x0 #x0 #x0 #x2e #x0 #x0 #x0 #x32) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #x0 #x28 #x29 @@ -2731,8 +2720,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -2752,8 +2740,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -2773,12 +2760,10 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x0 #x38 #x0 #x0 #x0 #x38 #x0 #x0 #x0 #x48 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x0 #x0 #x0 #x38 #x0 #x0 #x0 #x38 #x0 #x0 #x0 #x48 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -2798,8 +2783,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -2819,8 +2803,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #x39 #x3a #x2d @@ -2840,8 +2823,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #x3b #x3c #xffff @@ -2861,16 +2843,13 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x3d #x0 #x0 #x0 #x47 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x3d #x0 #x0 #x0 #x47 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x54 #xffff #x0 #x0 #x59 #xffff #x0 #x0 #x5c #x56 #x0 #x62 #x63 #x64) + :data (new 'static 'array uint16 16 #x0 #x0 #x54 #xffff #x0 #x0 #x59 #xffff #x0 #x0 #x5c #x56 #x0 #x62 #x63 #x64) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -2890,8 +2869,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #x55 #x56 @@ -2911,8 +2889,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -2932,8 +2909,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -2953,12 +2929,10 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x58 #x0 #x0 #x0 #x3d #x0 #x0 #x0 #x3d #x0 #x0 #x0 #x3d #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x58 #x0 #x0 #x0 #x3d #x0 #x0 #x0 #x3d #x0 #x0 #x0 #x3d #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #x0 #x6c #xffff @@ -2978,8 +2952,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -2999,8 +2972,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -3020,16 +2992,13 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x6e #x41 #x6f #x0 #x73 #x74 #x75 #x76 #x7b #x7c #x7d #x17 #x86 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x6e #x41 #x6f #x0 #x73 #x74 #x75 #x76 #x7b #x7c #x7d #x17 #x86 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x87 #x88 #x0 #x0 #x8e #xffff #x0 #x0 #x91 #xffff #x0 #x0 #x95 #x96) + :data (new 'static 'array uint16 16 #x0 #x0 #x87 #x88 #x0 #x0 #x8e #xffff #x0 #x0 #x91 #xffff #x0 #x0 #x95 #x96) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #x89 #x20 @@ -3049,48 +3018,37 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x8b #x0 #x0 #x8c #x0 #x0 #x0 #x90 #x0 #x0 #x0 #x93 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x8b #x0 #x0 #x8c #x0 #x0 #x0 #x90 #x0 #x0 #x0 #x93 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #xffff #x8d #x0 #x0 #x66 #x0 #x0 #x0 #x94 #x0 #x0 #x0 #x98 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #xffff #x8d #x0 #x0 #x66 #x0 #x0 #x0 #x94 #x0 #x0 #x0 #x98 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x0 #x20 #x0 #x0 #x0 #x9b #x0 #x0 #x0 #x0 #x0 #x9d #x9e #x0) + :data (new 'static 'array uint16 16 #x0 #x0 #x0 #x20 #x0 #x0 #x0 #x9b #x0 #x0 #x0 #x0 #x0 #x9d #x9e #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x99 #x9a #x0 #x0 #x9c #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x99 #x9a #x0 #x0 #x9c #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x9f #xa0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x0 #x9f #xa0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #xa1 #x0 #x0) + :data (new 'static 'array uint16 16 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #xa1 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x79 #x0 #x0) + :data (new 'static 'array uint16 16 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x79 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #xb2 #xb3 #xb4 #xb5) + :data (new 'static 'array uint16 16 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #xb2 #xb3 #xb4 #xb5) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #xb6 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #xb6 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #xab #xac #x0 #xb7 #xb8 #xb9) + :data (new 'static 'array uint16 16 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #xab #xac #x0 #xb7 #xb8 #xb9) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #x0 #x0 #xa2 @@ -3110,8 +3068,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xa4 #xa5 #x0 @@ -3131,12 +3088,10 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x0 #x0 #xa9 #xaa #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x0 #x0 #x0 #x0 #xa9 #xaa #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #x0 #xbf #xc0 @@ -3156,8 +3111,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xc2 #xffff #xffff @@ -3177,8 +3131,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xc3 #x0 @@ -3198,12 +3151,10 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x0 #xc4 #x0 #x0 #x70 #x3b #x0 #x0 #xffff #xffff #x0 #x0 #xffff #xffff) + :data (new 'static 'array uint16 16 #x0 #x0 #x0 #xc4 #x0 #x0 #x70 #x3b #x0 #x0 #xffff #xffff #x0 #x0 #xffff #xffff) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #x0 #xc5 #xc6 @@ -3223,8 +3174,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xc8 #xc9 #xca @@ -3244,8 +3194,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -3265,12 +3214,10 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #xcb #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #xcb #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #x0 #xdc #xdd @@ -3290,8 +3237,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #x64 #xffff #xffff @@ -3311,8 +3257,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -3332,12 +3277,10 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #xffff #xdf #x0 #x0 #xffff #xe5 #xe6 #x0 #xea #xeb #xec #x0 #xf6 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #xffff #xdf #x0 #x0 #xffff #xe5 #xe6 #x0 #xea #xeb #xec #x0 #xf6 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #x0 #x0 #xffff @@ -3357,8 +3300,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xe0 @@ -3378,8 +3320,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xe2 #xffff #xffff @@ -3399,12 +3340,10 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #xfa #xfb #xfc #xfd #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #xfa #xfb #xfc #xfd #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xfe #xffff #xffff @@ -3424,16 +3363,13 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #xff #x100 #x0 #x0 #x106 #x107 #x0 #x0 #x10d #x10e #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #xff #x100 #x0 #x0 #x106 #x107 #x0 #x0 #x10d #x10e #x0 #x0 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x101 #xffff #x0 #x0 #x0 #xfa #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x0 #x0 #x101 #xffff #x0 #x0 #x0 #xfa #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -3453,8 +3389,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #x0 #x0 #x0 @@ -3474,16 +3409,13 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x103 #x104 #xc3 #x0 #xffff #x10c #x17 #x0 #x112 #x113 #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x103 #x104 #xc3 #x0 #xffff #x10c #x17 #x0 #x112 #x113 #x0 #x0 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x0 #x0 #x0 #x117 #x0 #x118 #x0 #x11a #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x0 #x0 #x0 #x0 #x0 #x117 #x0 #x118 #x0 #x11a #x0 #x0 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x0 #x0 #x119 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x0 #x0 #x0 #x0 #x119 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) ) ) @@ -5845,8 +5777,7 @@ ;; definition for symbol *ocean-mid-masks-village1*, type ocean-mid-masks (define *ocean-mid-masks-village1* (new 'static 'ocean-mid-masks - :data - (new 'static 'inline-array ocean-mid-mask 322 + :data (new 'static 'inline-array ocean-mid-mask 322 (new 'static 'ocean-mid-mask) (new 'static 'ocean-mid-mask :mask (new 'static 'array uint8 8 #xf8 #xf8 #xf8 #xfc #xfe #xfe #xfe #xfe)) (new 'static 'ocean-mid-mask :mask (new 'static 'array uint8 8 #xfe #xc0 #xc0 #xc0 #x80 #x80 #x80 #x0)) @@ -8774,12 +8705,10 @@ ;; definition for symbol *ocean-near-indices-village2*, type ocean-near-indices (define *ocean-near-indices-village2* (new 'static 'ocean-near-indices - :data - (new 'static 'inline-array ocean-near-index 23 + :data (new 'static 'inline-array ocean-near-index 23 (new 'static 'ocean-near-index) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #x1 #xffff #xffff @@ -8799,12 +8728,10 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x1 #x0 #x0 #x0 #xffff #x0 #x0 #x0 #xffff #x0 #x0 #x0 #xffff #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x1 #x0 #x0 #x0 #xffff #x0 #x0 #x0 #xffff #x0 #x0 #x0 #xffff #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -8824,8 +8751,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #x0 #x0 @@ -8845,16 +8771,13 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #xffff #x4 #x5 #x6 #xffff #x7 #x0 #x0 #xffff #x8 #x0 #x0 #xffff #x9 #x0 #x0) + :data (new 'static 'array uint16 16 #xffff #x4 #x5 #x6 #xffff #x7 #x0 #x0 #xffff #x8 #x0 #x0 #xffff #x9 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #xa #xb #x0 #x0 #xc #x0 #x0 #x0 #xd #x0 #x0 #x0 #xe #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #xa #xb #x0 #x0 #xc #x0 #x0 #x0 #xd #x0 #x0 #x0 #xe #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xf #xf @@ -8874,28 +8797,22 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #xf #xf #x10 #x11 #xf #xf #xf #x12 #x0 #x0 #xf #x14 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #xf #xf #x10 #x11 #xf #xf #xf #x12 #x0 #x0 #xf #x14 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #xffff #xffff #xffff #xffff #xffff #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #xffff #xffff #xffff #xffff #xffff #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x16 #xffff #xffff #x0 #x0 #x1d #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x0 #x16 #xffff #xffff #x0 #x0 #x1d #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x17 #x18 #x19 #x1a #x0 #x0 #x1e #x1f #x0 #x0 #x0 #x22 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x17 #x18 #x19 #x1a #x0 #x0 #x1e #x1f #x0 #x0 #x0 #x22 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #xffff #x1b #x1c #x0 #x20 #x21 #x0 #x0 #x0 #x0 #x0 #x0 #x23 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #xffff #x1b #x1c #x0 #x20 #x21 #x0 #x0 #x0 #x0 #x0 #x0 #x23 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #xffff #xffff @@ -8915,24 +8832,19 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x0 #x25 #x2a #x2b #x2c #x2d #xffff #x33 #x0 #x34 #xffff #x38 #x39 #x3a) + :data (new 'static 'array uint16 16 #x0 #x0 #x0 #x25 #x2a #x2b #x2c #x2d #xffff #x33 #x0 #x34 #xffff #x38 #x39 #x3a) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x26 #x27 #x0 #x2e #x2f #x30 #x0 #xffff #x35 #x36 #x0 #x3b #x3c #x6 #x0) + :data (new 'static 'array uint16 16 #x0 #x26 #x27 #x0 #x2e #x2f #x30 #x0 #xffff #x35 #x36 #x0 #x3b #x3c #x6 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x0 #x0 #x0 #x28 #x0 #x0 #x31 #x32 #x0 #x0 #x37 #x0 #x0 #x0 #x3d #x0) + :data (new 'static 'array uint16 16 #x0 #x0 #x0 #x28 #x0 #x0 #x31 #x32 #x0 #x0 #x37 #x0 #x0 #x0 #x3d #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x29 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #x29 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #xffff #x3e #x3f @@ -8952,12 +8864,10 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #x41 #x0 #x0 #x0 #x0 #x0 #x0 #x43 #x4a #x4b #x0 #x4c #x4e #x4f #x50 #x51) + :data (new 'static 'array uint16 16 #x41 #x0 #x0 #x0 #x0 #x0 #x0 #x43 #x4a #x4b #x0 #x4c #x4e #x4f #x50 #x51) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #x0 #x0 #x0 @@ -8977,8 +8887,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 + :data (new 'static 'array uint16 16 #x53 #x54 #xffff @@ -8998,8 +8907,7 @@ ) ) (new 'static 'ocean-near-index - :data - (new 'static 'array uint16 16 #xffff #xffff #x0 #x0 #xffff #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) + :data (new 'static 'array uint16 16 #xffff #xffff #x0 #x0 #xffff #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) ) ) @@ -11361,8 +11269,7 @@ ;; definition for symbol *ocean-mid-masks-village2*, type ocean-mid-masks (define *ocean-mid-masks-village2* (new 'static 'ocean-mid-masks - :data - (new 'static 'inline-array ocean-mid-mask 102 + :data (new 'static 'inline-array ocean-mid-mask 102 (new 'static 'ocean-mid-mask) (new 'static 'ocean-mid-mask :mask (new 'static 'array uint8 8 #xfe #xff #xff #xff #xff #xff #xff #xff)) (new 'static 'ocean-mid-mask :mask (new 'static 'array uint8 8 #xff #xff #xff #xff #xff #xff #xff #x7f)) @@ -11472,8 +11379,7 @@ ;; definition for symbol *ocean-near-indices-sunken*, type ocean-near-indices (define *ocean-near-indices-sunken* (new 'static 'ocean-near-indices - :data - (new 'static 'inline-array ocean-near-index 1 (new 'static 'ocean-near-index)) + :data (new 'static 'inline-array ocean-near-index 1 (new 'static 'ocean-near-index)) ) ) @@ -11486,17 +11392,14 @@ ;; definition for symbol *ocean-mid-masks-sunken*, type ocean-mid-masks (define *ocean-mid-masks-sunken* (new 'static 'ocean-mid-masks - :data - (new 'static 'inline-array ocean-mid-mask 2 (new 'static 'ocean-mid-mask) (new 'static 'ocean-mid-mask)) + :data (new 'static 'inline-array ocean-mid-mask 2 (new 'static 'ocean-mid-mask) (new 'static 'ocean-mid-mask)) ) ) ;; definition for symbol *ocean-map-village1*, type ocean-map (define *ocean-map-village1* (new 'static 'ocean-map - :start-corner - (new 'static 'vector :x -9437184.0 :z -9437184.0 :w 1.0) - :far-color - (new 'static 'vector :x 1.505882 :y 45.678432 :z 56.72157) + :start-corner (new 'static 'vector :x -9437184.0 :z -9437184.0 :w 1.0) + :far-color (new 'static 'vector :x 1.505882 :y 45.678432 :z 56.72157) ) ) @@ -11520,10 +11423,8 @@ ;; definition for symbol *ocean-map-village2*, type ocean-map (define *ocean-map-village2* (new 'static 'ocean-map - :start-corner - (new 'static 'vector :x -7892992.0 :z -15958016.0 :w 1.0) - :far-color - (new 'static 'vector :x 31.62353 :y 50.19608 :z 66.76079) + :start-corner (new 'static 'vector :x -7892992.0 :z -15958016.0 :w 1.0) + :far-color (new 'static 'vector :x 31.62353 :y 50.19608 :z 66.76079) ) ) @@ -11547,10 +11448,8 @@ ;; definition for symbol *ocean-map-sunken*, type ocean-map (define *ocean-map-sunken* (new 'static 'ocean-map - :start-corner - (new 'static 'vector :x -7892992.0 :z -15958016.0 :w 1.0) - :far-color - (new 'static 'vector :x 31.62353 :y 50.19608 :z 66.76079) + :start-corner (new 'static 'vector :x -7892992.0 :z -15958016.0 :w 1.0) + :far-color (new 'static 'vector :x 31.62353 :y 50.19608 :z 66.76079) ) ) diff --git a/test/decompiler/reference/engine/gfx/ocean/ocean-texture_REF.gc b/test/decompiler/reference/engine/gfx/ocean/ocean-texture_REF.gc index fb4b80657c..3e7adfc0ea 100644 --- a/test/decompiler/reference/engine/gfx/ocean/ocean-texture_REF.gc +++ b/test/decompiler/reference/engine/gfx/ocean/ocean-texture_REF.gc @@ -3,41 +3,26 @@ ;; definition for symbol *ocean-texture-work*, type ocean-texture-work (define *ocean-texture-work* (new 'static 'ocean-texture-work - :sprite-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + :sprite-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x508b400000008001 #x53531) + :gif (new 'static 'array uint64 2 #x508b400000008001 #x53531) ) - :sprite-tmpl2 - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x4 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x4 :cmd (vif-cmd direct) :msk #x1) + :sprite-tmpl2 (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x4 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x4 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x3023400000008001 #x551) + :gif (new 'static 'array uint64 2 #x3023400000008001 #x551) ) - :adgif-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + :adgif-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x1000000000008005 #xe) + :gif (new 'static 'array uint64 2 #x1000000000008005 #xe) ) ) ) diff --git a/test/decompiler/reference/engine/gfx/ocean/ocean-vu0_REF.gc b/test/decompiler/reference/engine/gfx/ocean/ocean-vu0_REF.gc index 28ea0b2159..cd8f97eb9a 100644 --- a/test/decompiler/reference/engine/gfx/ocean/ocean-vu0_REF.gc +++ b/test/decompiler/reference/engine/gfx/ocean/ocean-vu0_REF.gc @@ -3,12 +3,9 @@ ;; definition for symbol *ocean-vu0-work*, type ocean-vu0-work (define *ocean-vu0-work* (new 'static 'ocean-vu0-work - :scales - (new 'static 'vector :x -0.00006975447 :y 255.0 :z -0.00006975447) - :mask-hi - (new 'static 'vector4w :x -65536 :y -65536 :z -65536 :w -65536) - :mask-lo - (new 'static 'vector4w :x #xffff :y #xffff :z #xffff :w #xffff) + :scales (new 'static 'vector :x -0.00006975447 :y 255.0 :z -0.00006975447) + :mask-hi (new 'static 'vector4w :x -65536 :y -65536 :z -65536 :w -65536) + :mask-lo (new 'static 'vector4w :x #xffff :y #xffff :z #xffff :w #xffff) ) ) @@ -20,7 +17,3 @@ ;; definition for function ocean-generate-verts ;; ERROR: function was not converted to expressions. Cannot decompile. - - - - diff --git a/test/decompiler/reference/engine/gfx/shadow/shadow-vu1_REF.gc b/test/decompiler/reference/engine/gfx/shadow/shadow-vu1_REF.gc index 194dea0956..8a1d16eca2 100644 --- a/test/decompiler/reference/engine/gfx/shadow/shadow-vu1_REF.gc +++ b/test/decompiler/reference/engine/gfx/shadow/shadow-vu1_REF.gc @@ -65,29 +65,21 @@ ;; definition for symbol *shadow-vu1-tri-template*, type shadow-vu1-gifbuf-template (define *shadow-vu1-tri-template* (new 'static 'shadow-vu1-gifbuf-template - :adgif - (new 'static 'gs-gif-tag - :tag - (new 'static 'gif-tag64 :nloop #x1 :nreg #x1) - :regs - (new 'static 'gif-tag-regs :regs0 (gif-reg-id a+d)) + :adgif (new 'static 'gs-gif-tag + :tag (new 'static 'gif-tag64 :nloop #x1 :nreg #x1) + :regs (new 'static 'gif-tag-regs :regs0 (gif-reg-id a+d)) ) - :ad - (new 'static 'ad-cmd :cmd (gs-reg texflush)) - :flush - (new 'static 'ad-cmd :data #x3f80000000000000 :cmd (gs-reg rgbaq)) - :trigif - (new 'static 'gs-gif-tag - :tag - (new 'static 'gif-tag64 + :ad (new 'static 'ad-cmd :cmd (gs-reg texflush)) + :flush (new 'static 'ad-cmd :data #x3f80000000000000 :cmd (gs-reg rgbaq)) + :trigif (new 'static 'gs-gif-tag + :tag (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :pre #x1 :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :tme #x1) :nreg #x7 ) - :regs - (new 'static 'gif-tag-regs + :regs (new 'static 'gif-tag-regs :regs0 (gif-reg-id rgbaq) :regs1 (gif-reg-id st) :regs2 (gif-reg-id xyzf2) @@ -97,18 +89,15 @@ :regs6 (gif-reg-id xyzf2) ) ) - :quadgif - (new 'static 'gs-gif-tag - :tag - (new 'static 'gif-tag64 + :quadgif (new 'static 'gs-gif-tag + :tag (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :pre #x1 :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :tme #x1) :nreg #x9 ) - :regs - (new 'static 'gif-tag-regs + :regs (new 'static 'gif-tag-regs :regs0 (gif-reg-id rgbaq) :regs1 (gif-reg-id st) :regs2 (gif-reg-id xyzf2) diff --git a/test/decompiler/reference/engine/gfx/shadow/shadow_REF.gc b/test/decompiler/reference/engine/gfx/shadow/shadow_REF.gc index e0fe57ead0..79a9b79a12 100644 --- a/test/decompiler/reference/engine/gfx/shadow/shadow_REF.gc +++ b/test/decompiler/reference/engine/gfx/shadow/shadow_REF.gc @@ -186,8 +186,7 @@ ;; failed to figure out what this is: (defpart 362 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-scale-x (meters 0.3)) (sp-rnd-flt spt-rot-z (degrees -180.0) (degrees 360.0) 1.0) diff --git a/test/decompiler/reference/engine/gfx/shrub/shrub-work_REF.gc b/test/decompiler/reference/engine/gfx/shrub/shrub-work_REF.gc index da86f8f213..b680a4f300 100644 --- a/test/decompiler/reference/engine/gfx/shrub/shrub-work_REF.gc +++ b/test/decompiler/reference/engine/gfx/shrub/shrub-work_REF.gc @@ -4,8 +4,7 @@ ;; definition for symbol *instance-shrub-work*, type instance-shrub-work (define *instance-shrub-work* (new 'static 'instance-shrub-work - :matrix-tmpl - (new 'static 'inline-array qword 20 + :matrix-tmpl (new 'static 'inline-array qword 20 (new 'static 'qword :data (new 'static 'array uint32 4 #x10000005 #x0 #x0 #x6c050143)) (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050148)) (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05014d)) @@ -27,8 +26,7 @@ (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05019e)) (new 'static 'qword :data (new 'static 'array uint32 4 #x10000005 #x0 #x0 #x6c0501a3)) ) - :count-tmpl - (new 'static 'inline-array vector4w 20 + :count-tmpl (new 'static 'inline-array vector4w 20 (new 'static 'vector4w :x #x20000000 :z #x60010175 :w 10) (new 'static 'vector4w :x #x20000000 :z #x60010142 :w 1) (new 'static 'vector4w :x #x20000000 :z #x60010142 :w 2) @@ -50,424 +48,246 @@ (new 'static 'vector4w :x #x20000000 :z #x60010175 :w 8) (new 'static 'vector4w :x #x20000000 :z #x60010175 :w 9) ) - :mscalf-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1) + :mscalf-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1) ) - :mscalf-ret-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ret)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1) + :mscalf-ret-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ret)) + :vif0 (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1) ) - :adgif-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id next)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + :adgif-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id next)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x1000000000008005 #xe) + :gif (new 'static 'array uint64 2 #x1000000000008005 #xe) ) - :billboard-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #xd :id (dma-tag-id next)) - :vif1 - (new 'static 'vif-tag :imm #xd :cmd (vif-cmd direct) :msk #x1) + :billboard-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #xd :id (dma-tag-id next)) + :vif1 (new 'static 'vif-tag :imm #xd :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x303e400000008004 #x412) + :gif (new 'static 'array uint64 2 #x303e400000008004 #x412) ) - :shrub-near-packets - (new 'static 'inline-array shrub-near-packet 6 + :shrub-near-packets (new 'static 'inline-array shrub-near-packet 6 (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) + :matrix-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) + :header-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x9 :cmd (vif-cmd unpack-v2-16)) + :stq-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x9 :cmd (vif-cmd unpack-v2-16)) ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x400a :cmd (vif-cmd unpack-v3-8)) + :color-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x400a :cmd (vif-cmd unpack-v3-8)) ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #xb :cmd (vif-cmd unpack-v3-16)) + :vertex-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #xb :cmd (vif-cmd unpack-v3-16)) ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + :mscal-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + :init-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x345 #x117 #x0 #x0 #x0 #x1500000c) + :init-data (new 'static 'array uint32 8 #x0 #x0 #x345 #x117 #x0 #x0 #x0 #x1500000c) ) (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) + :matrix-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) + :header-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x120 :cmd (vif-cmd unpack-v2-16)) + :stq-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x120 :cmd (vif-cmd unpack-v2-16)) ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x4121 :cmd (vif-cmd unpack-v3-8)) + :color-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x4121 :cmd (vif-cmd unpack-v3-8)) ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x122 :cmd (vif-cmd unpack-v3-16)) + :vertex-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x122 :cmd (vif-cmd unpack-v3-16)) ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + :mscal-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + :init-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x363 #x22e #x0 #x0 #x0 #x1500000c) + :init-data (new 'static 'array uint32 8 #x0 #x0 #x363 #x22e #x0 #x0 #x0 #x1500000c) ) (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) + :matrix-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) + :header-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x237 :cmd (vif-cmd unpack-v2-16)) + :stq-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x237 :cmd (vif-cmd unpack-v2-16)) ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x4238 :cmd (vif-cmd unpack-v3-8)) + :color-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x4238 :cmd (vif-cmd unpack-v3-8)) ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x239 :cmd (vif-cmd unpack-v3-16)) + :vertex-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x239 :cmd (vif-cmd unpack-v3-16)) ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + :mscal-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + :init-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x345 #x0 #x0 #x0 #x0 #x1500000c) + :init-data (new 'static 'array uint32 8 #x0 #x0 #x345 #x0 #x0 #x0 #x0 #x1500000c) ) (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) + :matrix-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) + :header-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x9 :cmd (vif-cmd unpack-v2-16)) + :stq-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x9 :cmd (vif-cmd unpack-v2-16)) ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x400a :cmd (vif-cmd unpack-v3-8)) + :color-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x400a :cmd (vif-cmd unpack-v3-8)) ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #xb :cmd (vif-cmd unpack-v3-16)) + :vertex-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #xb :cmd (vif-cmd unpack-v3-16)) ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + :mscal-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + :init-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x363 #x117 #x0 #x0 #x0 #x1500000c) + :init-data (new 'static 'array uint32 8 #x0 #x0 #x363 #x117 #x0 #x0 #x0 #x1500000c) ) (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) + :matrix-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) + :header-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x120 :cmd (vif-cmd unpack-v2-16)) + :stq-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x120 :cmd (vif-cmd unpack-v2-16)) ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x4121 :cmd (vif-cmd unpack-v3-8)) + :color-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x4121 :cmd (vif-cmd unpack-v3-8)) ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x122 :cmd (vif-cmd unpack-v3-16)) + :vertex-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x122 :cmd (vif-cmd unpack-v3-16)) ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + :mscal-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + :init-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x345 #x22e #x0 #x0 #x0 #x1500000c) + :init-data (new 'static 'array uint32 8 #x0 #x0 #x345 #x22e #x0 #x0 #x0 #x1500000c) ) (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) + :matrix-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) + :header-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x237 :cmd (vif-cmd unpack-v2-16)) + :stq-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x237 :cmd (vif-cmd unpack-v2-16)) ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x4238 :cmd (vif-cmd unpack-v3-8)) + :color-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x4238 :cmd (vif-cmd unpack-v3-8)) ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x239 :cmd (vif-cmd unpack-v3-16)) + :vertex-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x239 :cmd (vif-cmd unpack-v3-16)) ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + :mscal-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + :init-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x363 #x0 #x0 #x0 #x0 #x1500000c) + :init-data (new 'static 'array uint32 8 #x0 #x0 #x363 #x0 #x0 #x0 #x0 #x1500000c) ) ) - :dma-ref - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) - :dma-end - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id end))) - :wind-const - (new 'static 'vector :x 0.5 :y 100.0 :z 0.0166 :w -1.0) + :dma-ref (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) + :dma-end (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id end))) + :wind-const (new 'static 'vector :x 0.5 :y 100.0 :z 0.0166 :w -1.0) :constants (new 'static 'vector :x 128.0 :y 1.0) - :color-constant - (new 'static 'vector4w :x #x47000000 :y #x47000000 :z #x47000000) - :start-bank - (new 'static 'array uint8 20 #x0 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) + :color-constant (new 'static 'vector4w :x #x47000000 :y #x47000000 :z #x47000000) + :start-bank (new 'static 'array uint8 20 #x0 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) ) diff --git a/test/decompiler/reference/engine/gfx/sky/sky-tng_REF.gc b/test/decompiler/reference/engine/gfx/sky/sky-tng_REF.gc index a2863e6c62..1b81498e64 100644 --- a/test/decompiler/reference/engine/gfx/sky/sky-tng_REF.gc +++ b/test/decompiler/reference/engine/gfx/sky/sky-tng_REF.gc @@ -3,52 +3,35 @@ ;; definition for symbol *sky-work*, type sky-work (define *sky-work* (new 'static 'sky-work - :adgif-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + :adgif-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x1000000000008005 #xe) + :gif (new 'static 'array uint64 2 #x1000000000008005 #xe) ) - :draw-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + :draw-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x508b400000008001 #x43431) + :gif (new 'static 'array uint64 2 #x508b400000008001 #x43431) ) - :blend-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + :blend-tmpl (new 'static 'dma-gif-packet + :dma-vif (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) ) - :gif - (new 'static 'array uint64 2 #x50ab400000008001 #x43431) + :gif (new 'static 'array uint64 2 #x50ab400000008001 #x43431) ) - :sky-data - (new 'static 'inline-array qword 5 + :sky-data (new 'static 'inline-array qword 5 (new 'static 'qword :data (new 'static 'array uint32 4 #x0 #x0 #x0 #x80)) (new 'static 'qword) (new 'static 'qword :data (new 'static 'array uint32 4 #x0 #x0 #xffffff #x0)) (new 'static 'qword :data (new 'static 'array uint32 4 #x200 #x200 #x0 #x0)) (new 'static 'qword :data (new 'static 'array uint32 4 #x200 #x200 #xffffff #x0)) ) - :cloud-data - (new 'static 'inline-array qword 5 + :cloud-data (new 'static 'inline-array qword 5 (new 'static 'qword :data (new 'static 'array uint32 4 #x0 #x0 #x0 #x80)) (new 'static 'qword) (new 'static 'qword :data (new 'static 'array uint32 4 #x0 #x200 #xffffff #x0)) @@ -189,63 +172,51 @@ (define sky-base-polygons (new 'static 'inline-array sky-vertex 12 (new 'static 'sky-vertex :pos (new 'static 'vector :z -40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + :col (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :x 40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + :col (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :y -40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + :col (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :x 40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + :col (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :z 40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + :col (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :y -40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + :col (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :z 40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + :col (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :x -40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + :col (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :y -40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + :col (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :x -40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + :col (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :z -40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + :col (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :y -40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + :col (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) ) ) ) @@ -255,80 +226,62 @@ (new 'static 'sky-vertex :pos (new 'static 'vector :z -40960000.0) :stq (new 'static 'vector :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + :col (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :x 40960000.0) :stq (new 'static 'vector :x 1.0 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + :col (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :y 10240000.0) - :stq - (new 'static 'vector :x 0.5 :y 0.5 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + :stq (new 'static 'vector :x 0.5 :y 0.5 :z 1.0) + :col (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :x 40960000.0) :stq (new 'static 'vector :x 1.0 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + :col (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :z 40960000.0) - :stq - (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + :stq (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) + :col (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :y 10240000.0) - :stq - (new 'static 'vector :x 0.5 :y 0.5 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + :stq (new 'static 'vector :x 0.5 :y 0.5 :z 1.0) + :col (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :z 40960000.0) - :stq - (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + :stq (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) + :col (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :x -40960000.0) :stq (new 'static 'vector :y 1.0 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + :col (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :y 10240000.0) - :stq - (new 'static 'vector :x 0.5 :y 0.5 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + :stq (new 'static 'vector :x 0.5 :y 0.5 :z 1.0) + :col (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :x -40960000.0) :stq (new 'static 'vector :y 1.0 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + :col (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :z -40960000.0) :stq (new 'static 'vector :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + :col (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) ) (new 'static 'sky-vertex :pos (new 'static 'vector :y 10240000.0) - :stq - (new 'static 'vector :x 0.5 :y 0.5 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + :stq (new 'static 'vector :x 0.5 :y 0.5 :z 1.0) + :col (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) ) ) ) diff --git a/test/decompiler/reference/engine/gfx/texture_REF.gc b/test/decompiler/reference/engine/gfx/texture_REF.gc index f12f4d9086..7300c860b3 100644 --- a/test/decompiler/reference/engine/gfx/texture_REF.gc +++ b/test/decompiler/reference/engine/gfx/texture_REF.gc @@ -144,10 +144,7 @@ ) ;; definition for symbol ct32-24-block-table, type (array int32) -(define ct32-24-block-table (the-as (array int32) (new - 'static - 'boxed-array - :type int32 :length 32 :allocated-length 32 +(define ct32-24-block-table (the-as (array int32) (new 'static 'boxed-array :type int32 0 1 4 @@ -185,10 +182,7 @@ ) ;; definition for symbol mz32-24-block-table, type (array int32) -(define mz32-24-block-table (the-as (array int32) (new - 'static - 'boxed-array - :type int32 :length 32 :allocated-length 32 +(define mz32-24-block-table (the-as (array int32) (new 'static 'boxed-array :type int32 16 17 20 @@ -226,10 +220,7 @@ ) ;; definition for symbol ct16-block-table, type (array int32) -(define ct16-block-table (the-as (array int32) (new - 'static - 'boxed-array - :type int32 :length 32 :allocated-length 32 +(define ct16-block-table (the-as (array int32) (new 'static 'boxed-array :type int32 0 2 8 @@ -267,10 +258,7 @@ ) ;; definition for symbol ct16s-block-table, type (array int32) -(define ct16s-block-table (the-as (array int32) (new - 'static - 'boxed-array - :type int32 :length 32 :allocated-length 32 +(define ct16s-block-table (the-as (array int32) (new 'static 'boxed-array :type int32 0 2 16 @@ -308,10 +296,7 @@ ) ;; definition for symbol mz16-block-table, type (array int32) -(define mz16-block-table (the-as (array int32) (new - 'static - 'boxed-array - :type int32 :length 32 :allocated-length 32 +(define mz16-block-table (the-as (array int32) (new 'static 'boxed-array :type int32 16 18 24 @@ -349,10 +334,7 @@ ) ;; definition for symbol mz16s-block-table, type (array int32) -(define mz16s-block-table (the-as (array int32) (new - 'static - 'boxed-array - :type int32 :length 32 :allocated-length 32 +(define mz16s-block-table (the-as (array int32) (new 'static 'boxed-array :type int32 16 18 0 @@ -390,10 +372,7 @@ ) ;; definition for symbol mt8-block-table, type (array int32) -(define mt8-block-table (the-as (array int32) (new - 'static - 'boxed-array - :type int32 :length 32 :allocated-length 32 +(define mt8-block-table (the-as (array int32) (new 'static 'boxed-array :type int32 0 1 4 @@ -431,10 +410,7 @@ ) ;; definition for symbol mt4-block-table, type (array int32) -(define mt4-block-table (the-as (array int32) (new - 'static - 'boxed-array - :type int32 :length 32 :allocated-length 32 +(define mt4-block-table (the-as (array int32) (new 'static 'boxed-array :type int32 0 2 8 @@ -2506,8 +2482,7 @@ (b! (< (the-as int (- (the-as uint shader) (the-as uint mem-start))) 0) cfg-7 - :delay - (set! dist-past-end (- (the-as uint shader) mem-end)) + :delay (set! dist-past-end (- (the-as uint shader) mem-end)) ) (b! (>= (the-as int dist-past-end) 0) cfg-7 :delay (nop!)) (let ((t4-2 (-> shader next))) diff --git a/test/decompiler/reference/engine/gfx/tfrag/tfrag-work_REF.gc b/test/decompiler/reference/engine/gfx/tfrag/tfrag-work_REF.gc index 70effb6172..11b44df13a 100644 --- a/test/decompiler/reference/engine/gfx/tfrag/tfrag-work_REF.gc +++ b/test/decompiler/reference/engine/gfx/tfrag/tfrag-work_REF.gc @@ -3,42 +3,26 @@ ;; definition for symbol *tfrag-work*, type tfrag-work (define *tfrag-work* (new 'static 'tfrag-work - :base-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :base-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) ) - :level-0-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :level-0-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) ) - :common-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :common-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) ) - :level-1-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :level-1-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x102 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xc000 :cmd (vif-cmd unpack-v4-8)) + :color-tmpl (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :imm #x102 :cmd (vif-cmd stcycl)) + :vif1 (new 'static 'vif-tag :imm #xc000 :cmd (vif-cmd unpack-v4-8)) ) :max-dist (new 'static 'vector :z 4095996000.0) ) diff --git a/test/decompiler/reference/engine/gfx/tie/tie-near_REF.gc b/test/decompiler/reference/engine/gfx/tie/tie-near_REF.gc index 433fa50812..94420e3ef8 100644 --- a/test/decompiler/reference/engine/gfx/tie/tie-near_REF.gc +++ b/test/decompiler/reference/engine/gfx/tie/tie-near_REF.gc @@ -418,7 +418,3 @@ ) ) ) - - - - diff --git a/test/decompiler/reference/engine/gfx/tie/tie-work_REF.gc b/test/decompiler/reference/engine/gfx/tie/tie-work_REF.gc index 16653940e1..44f93abf18 100644 --- a/test/decompiler/reference/engine/gfx/tie/tie-work_REF.gc +++ b/test/decompiler/reference/engine/gfx/tie/tie-work_REF.gc @@ -3,51 +3,32 @@ ;; definition for symbol *instance-tie-work*, type instance-tie-work (define *instance-tie-work* (new 'static 'instance-tie-work - :wind-const - (new 'static 'vector :x 0.5 :y 100.0 :z 0.0166 :w -1.0) - :constant - (new 'static 'vector :x 4096.0 :y 128.0) + :wind-const (new 'static 'vector :x 0.5 :y 100.0 :z 0.0166 :w -1.0) + :constant (new 'static 'vector :x 4096.0 :y 128.0) :far-morph (new 'static 'vector :x 1.0 :w 256.0) - :upload-color-0 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x80c6 :num #x6 :cmd (vif-cmd unpack-v4-32)) + :upload-color-0 (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x80c6 :num #x6 :cmd (vif-cmd unpack-v4-32)) ) - :upload-color-1 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd stmod)) - :vif1 - (new 'static 'vif-tag :imm #xc0cc :cmd (vif-cmd unpack-v4-8)) + :upload-color-1 (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :cmd (vif-cmd stmod)) + :vif1 (new 'static 'vif-tag :imm #xc0cc :cmd (vif-cmd unpack-v4-8)) ) - :upload-color-2 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd stmod)) + :upload-color-2 (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 (new 'static 'vif-tag :cmd (vif-cmd stmod)) ) - :upload-color-ret - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ret)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd stmod)) + :upload-color-ret (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ret)) + :vif0 (new 'static 'vif-tag :cmd (vif-cmd stmod)) ) - :generic-color-0 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id ref)) + :generic-color-0 (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id ref)) :vif0 (new 'static 'vif-tag :imm #x3) ) - :generic-color-1 - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) - :generic-color-end - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id end))) + :generic-color-1 (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) + :generic-color-end (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id end))) :refl-fade-fac -0.000625 :refl-fade-end 409600.0 ) @@ -61,103 +42,62 @@ ;; definition for symbol *prototype-tie-work*, type prototype-tie-work (define *prototype-tie-work* (new 'static 'prototype-tie-work - :upload-palette-0 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1) + :upload-palette-0 (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1) ) - :upload-palette-1 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x20 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x1 :cmd (vif-cmd stmod)) - :vif1 - (new 'static 'vif-tag :imm #x4346 :num #x80 :cmd (vif-cmd unpack-v4-8)) + :upload-palette-1 (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x20 :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :imm #x1 :cmd (vif-cmd stmod)) + :vif1 (new 'static 'vif-tag :imm #x4346 :num #x80 :cmd (vif-cmd unpack-v4-8)) ) - :upload-model-0 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd stmod)) - :vif1 - (new 'static 'vif-tag :cmd (vif-cmd unpack-v4-32)) + :upload-model-0 (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :cmd (vif-cmd stmod)) + :vif1 (new 'static 'vif-tag :cmd (vif-cmd unpack-v4-32)) ) - :upload-model-1 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x4000 :cmd (vif-cmd unpack-v4-8)) + :upload-model-1 (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x4000 :cmd (vif-cmd unpack-v4-8)) ) - :upload-model-2 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x32 :cmd (vif-cmd unpack-v4-16)) + :upload-model-2 (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x32 :cmd (vif-cmd unpack-v4-16)) ) - :upload-model-3 - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id call))) - :upload-model-near-0 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd stmod)) - :vif1 - (new 'static 'vif-tag :cmd (vif-cmd unpack-v4-32)) + :upload-model-3 (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id call))) + :upload-model-near-0 (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :cmd (vif-cmd stmod)) + :vif1 (new 'static 'vif-tag :cmd (vif-cmd unpack-v4-32)) ) - :upload-model-near-1 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x4000 :cmd (vif-cmd unpack-v4-8)) + :upload-model-near-1 (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x4000 :cmd (vif-cmd unpack-v4-8)) ) - :upload-model-near-2 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x1e :cmd (vif-cmd unpack-v4-8)) + :upload-model-near-2 (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x1e :cmd (vif-cmd unpack-v4-8)) ) - :upload-model-near-3 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x32 :cmd (vif-cmd unpack-v4-16)) + :upload-model-near-3 (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 (new 'static 'vif-tag :imm #x32 :cmd (vif-cmd unpack-v4-16)) ) - :upload-model-near-4 - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id call))) - :generic-envmap-shader - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id ref)) + :upload-model-near-4 (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id call))) + :generic-envmap-shader (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id ref)) :vif0 (new 'static 'vif-tag :imm #x1) ) - :generic-palette - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x20 :id (dma-tag-id cnt)) + :generic-palette (new 'static 'dma-packet + :dma (new 'static 'dma-tag :qwc #x20 :id (dma-tag-id cnt)) :vif0 (new 'static 'vif-tag :imm #x1) ) - :generic-model-0 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) + :generic-model-0 (new 'static 'dma-packet + :dma (new 'static 'dma-tag :id (dma-tag-id ref)) :vif0 (new 'static 'vif-tag :imm #x2) ) - :generic-model-1 - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) - :generic-model-2 - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) - :generic-model-next - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id next))) + :generic-model-1 (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) + :generic-model-2 (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) + :generic-model-next (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id next))) :clamp #x8000ff00ff00ff ) ) diff --git a/test/decompiler/reference/engine/gfx/time-of-day_REF.gc b/test/decompiler/reference/engine/gfx/time-of-day_REF.gc index 0bb8182df9..61e5439354 100644 --- a/test/decompiler/reference/engine/gfx/time-of-day_REF.gc +++ b/test/decompiler/reference/engine/gfx/time-of-day_REF.gc @@ -80,8 +80,7 @@ ;; failed to figure out what this is: (defstate time-of-day-tick (time-of-day-proc) - :code - (behavior () + :code (behavior () (loop (+! (-> self frame) (the int (* (-> self time-ratio) (-> *display* time-adjust-ratio)))) (when (>= (-> self frame) 300) @@ -138,8 +137,7 @@ ) (none) ) - :post - time-of-day-update + :post time-of-day-update ) ;; definition for function init-time-of-day @@ -171,19 +169,7 @@ ;; INFO: Return type mismatch (pointer process) vs none. (defun start-time-of-day () (kill-by-name 'time-of-day-proc *active-pool*) - (let ((gp-0 (get-process *default-dead-pool* time-of-day-proc #x4000))) - (set! *time-of-day-proc* - (the-as (pointer time-of-day-proc) - (when gp-0 - (let ((t9-2 (method-of-type time-of-day-proc activate))) - (t9-2 (the-as time-of-day-proc gp-0) *default-pool* 'time-of-day-proc (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 init-time-of-day) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! *time-of-day-proc* (process-spawn time-of-day-proc :init init-time-of-day)) (none) ) diff --git a/test/decompiler/reference/engine/gfx/water/water_REF.gc b/test/decompiler/reference/engine/gfx/water/water_REF.gc index 3f7a2fe469..383536842b 100644 --- a/test/decompiler/reference/engine/gfx/water/water_REF.gc +++ b/test/decompiler/reference/engine/gfx/water/water_REF.gc @@ -3,8 +3,7 @@ ;; failed to figure out what this is: (defpart 108 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.6) 1.0) (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) @@ -24,8 +23,7 @@ ;; failed to figure out what this is: (defpart 109 - :init-specs - ((sp-flt spt-fade-a -0.2)) + :init-specs ((sp-flt spt-fade-a -0.2)) ) ;; definition for function birth-func-y->userdata @@ -84,8 +82,7 @@ ;; failed to figure out what this is: (defpart 110 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.05) (meters 0.1) 1.0) @@ -110,8 +107,7 @@ ;; failed to figure out what this is: (defpart 111 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-flt spt-y (meters 0.15)) @@ -136,8 +132,7 @@ ;; failed to figure out what this is: (defpart 112 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-z (meters -1) (meters 2) 1.0) @@ -160,20 +155,17 @@ ;; failed to figure out what this is: (defpart 113 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 114)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 114)) ) ;; failed to figure out what this is: (defpart 114 - :init-specs - ((sp-flt spt-fade-a -0.7111111)) + :init-specs ((sp-flt spt-fade-a -0.7111111)) ) ;; failed to figure out what this is: (defpart 115 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-rnd-flt spt-num 0.04 0.03 1.0) (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) (sp-rnd-flt spt-z (meters -0.2) (meters 0.4) 1.0) @@ -196,8 +188,7 @@ ;; failed to figure out what this is: (defpart 116 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.006666667)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.006666667)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a 0.0) (sp-int spt-next-time 150) @@ -207,14 +198,12 @@ ;; failed to figure out what this is: (defpart 117 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.005)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.32)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.005)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.32)) ) ;; failed to figure out what this is: (defpart 118 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) (sp-flt spt-num 0.06) (sp-flt spt-x (meters 10)) (sp-rnd-flt spt-scale-x (meters 0.75) (meters 1.5) 1.0) @@ -239,20 +228,17 @@ ;; failed to figure out what this is: (defpart 119 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 90 119 1) (sp-launcher-by-id spt-next-launcher 120)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 90 119 1) (sp-launcher-by-id spt-next-launcher 120)) ) ;; failed to figure out what this is: (defpart 120 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) ;; failed to figure out what this is: (defpart 121 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-rnd-flt spt-num 0.05 0.4 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-z (meters 0.5) (meters 1.5) 1.0) @@ -276,14 +262,12 @@ ;; failed to figure out what this is: (defpart 122 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 123)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 123)) ) ;; failed to figure out what this is: (defpart 123 - :init-specs - ((sp-flt spt-fade-a -0.7111111)) + :init-specs ((sp-flt spt-fade-a -0.7111111)) ) ;; failed to figure out what this is: @@ -292,8 +276,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 124 :flags (is-3d) :period 900 :length 63) + :parts ((sp-item 124 :flags (is-3d) :period 900 :length 63) (sp-item 125 :period 900 :length 15) (sp-item 126 :flags (is-3d) :period 900 :length 15) (sp-item 127 :flags (is-3d) :period 900 :length 15) @@ -332,8 +315,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 124 :flags (is-3d) :period 900 :length 63) + :parts ((sp-item 124 :flags (is-3d) :period 900 :length 63) (sp-item 125 :period 900 :length 15) (sp-item 126 :flags (is-3d) :period 900 :length 15) (sp-item 127 :flags (is-3d) :period 900 :length 15) @@ -354,8 +336,7 @@ ;; failed to figure out what this is: (defpart 129 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) (sp-rnd-flt spt-y (meters -0.2) (meters 0.4) 1.0) @@ -377,8 +358,7 @@ ;; failed to figure out what this is: (defpart 133 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) (sp-rnd-flt spt-y (meters -0.2) (meters 0.4) 1.0) @@ -400,8 +380,7 @@ ;; failed to figure out what this is: (defpart 131 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.3) (sp-rnd-flt spt-scale-x (meters 0.080000006) (meters 0.32000002) 1.0) (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) @@ -422,8 +401,7 @@ ;; failed to figure out what this is: (defpart 132 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 3.2) (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) (sp-rnd-flt spt-y (meters -0.2) (meters 0.4) 1.0) @@ -450,8 +428,7 @@ ;; failed to figure out what this is: (defpart 130 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x10 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x10 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.24000001) (meters 0.71999997) 1.0) (sp-flt spt-rot-x 16384.0) @@ -472,8 +449,7 @@ ;; failed to figure out what this is: (defpart 136 - :init-specs - ((sp-flt spt-scalevel-y (meters 0.026666667)) + :init-specs ((sp-flt spt-scalevel-y (meters 0.026666667)) (sp-int spt-next-time 20) (sp-launcher-by-id spt-next-launcher 137) ) @@ -481,8 +457,7 @@ ;; failed to figure out what this is: (defpart 137 - :init-specs - ((sp-flt spt-scalevel-y (meters 0)) + :init-specs ((sp-flt spt-scalevel-y (meters 0)) (sp-flt spt-fade-a -0.64) (sp-int spt-next-time 20) (sp-launcher-by-id spt-next-launcher 138) @@ -491,8 +466,7 @@ ;; failed to figure out what this is: (defpart 138 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.0016666667)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.0016666667)) (sp-flt spt-scalevel-y (meters -0.026666667)) (sp-int spt-next-time 20) (sp-launcher-by-id spt-next-launcher 139) @@ -501,14 +475,12 @@ ;; failed to figure out what this is: (defpart 139 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.0033333334)) (sp-flt spt-scalevel-y (meters -0.053333335))) + :init-specs ((sp-flt spt-scalevel-x (meters 0.0033333334)) (sp-flt spt-scalevel-y (meters -0.053333335))) ) ;; failed to figure out what this is: (defpart 126 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) @@ -529,20 +501,17 @@ ;; failed to figure out what this is: (defpart 134 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 140)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 140)) ) ;; failed to figure out what this is: (defpart 140 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) ;; failed to figure out what this is: (defpart 127 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-rnd-flt spt-num 0.5 1.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.4) (meters 0.8) 1.0) @@ -565,8 +534,7 @@ ;; failed to figure out what this is: (defpart 128 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 3.2) (sp-flt spt-x (meters 0.96000004)) (sp-rnd-flt spt-scale-x (meters 0.35) (meters 0.075) 1.0) @@ -592,14 +560,12 @@ ;; failed to figure out what this is: (defpart 135 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4)) ) ;; failed to figure out what this is: (defpart 125 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-x (meters 0.8)) (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.05) 1.0) @@ -623,8 +589,7 @@ ;; failed to figure out what this is: (defpart 124 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x10 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x10 :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters 0.96000004) (meters 0.16000001) 1.0) (sp-rnd-flt spt-scale-x (meters 0.32000002) (meters 0.96000004) 1.0) @@ -650,8 +615,7 @@ ;; failed to figure out what this is: (defpart 141 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-flt spt-rotvel-x (degrees 0.16666667)) (sp-flt spt-scalevel-y (meters 0.016666668)) (sp-int spt-next-time 20) @@ -661,8 +625,7 @@ ;; failed to figure out what this is: (defpart 142 - :init-specs - ((sp-flt spt-rotvel-x (degrees 0.13333334)) + :init-specs ((sp-flt spt-rotvel-x (degrees 0.13333334)) (sp-flt spt-scalevel-y (meters 0)) (sp-flt spt-fade-a -0.64) (sp-int spt-next-time 20) @@ -672,8 +635,7 @@ ;; failed to figure out what this is: (defpart 143 - :init-specs - ((sp-flt spt-rotvel-x (degrees 0.1)) + :init-specs ((sp-flt spt-rotvel-x (degrees 0.1)) (sp-flt spt-scalevel-y (meters -0.016666668)) (sp-int spt-next-time 20) (sp-launcher-by-id spt-next-launcher 144) @@ -682,14 +644,12 @@ ;; failed to figure out what this is: (defpart 144 - :init-specs - ((sp-flt spt-rotvel-x (degrees 0.06666667)) (sp-flt spt-scalevel-y (meters -0.033333335))) + :init-specs ((sp-flt spt-rotvel-x (degrees 0.06666667)) (sp-flt spt-scalevel-y (meters -0.033333335))) ) ;; failed to figure out what this is: (defpart 145 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.05) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1011,25 +971,18 @@ ) ) (when (< (-> obj process root trans y) -409.6) - (send-event (-> obj process) 'no-look-around 450) + (send-event (-> obj process) 'no-look-around (seconds 1.5)) (when (zero? (logand (-> (the-as collide-shape-moving (-> obj process root)) root-prim prim-core action) (collide-action ca-14) ) ) (cond ((= (-> obj process type) target) - (let ((a1-32 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-32 from) pp) - (set! (-> a1-32 num-params) 2) - (set! (-> a1-32 message) 'attack) - (set! (-> a1-32 param 0) (the-as uint #f)) - (let ((v1-275 (new 'static 'attack-info :mask #xe0))) - (set! (-> v1-275 shove-up) 2048.0) - (set! (-> v1-275 shove-back) 0.0) - (set! (-> v1-275 mode) 'tar) - (set! (-> a1-32 param 1) (the-as uint v1-275)) - ) - (send-event-function (-> obj process) a1-32) + (send-event + (-> obj process) + 'attack + #f + (static-attack-info ((shove-up (meters 0.5)) (shove-back (meters 0)) (mode 'tar))) ) ) (else @@ -1271,26 +1224,19 @@ ;; definition for function splash-spawn ;; INFO: Return type mismatch int vs none. (defun splash-spawn ((arg0 basic) (arg1 basic) (arg2 int)) - (let ((s4-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker s4-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + (process-spawn + part-tracker + :init part-tracker-init + (if (zero? arg2) + (-> *part-group-id-table* 41) + (-> *part-group-id-table* 40) ) - (run-now-in-process - s4-0 - part-tracker-init - (if (zero? arg2) - (-> *part-group-id-table* 41) - (-> *part-group-id-table* 40) - ) - -1 - part-water-splash-callback - arg0 - #f - arg1 - ) - (-> s4-0 ppointer) - ) + -1 + part-water-splash-callback + arg0 + #f + arg1 + :to *entity-pool* ) 0 (none) @@ -1337,56 +1283,34 @@ ;; definition for method 26 of type water-vol ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-26 water-vol ((obj water-vol)) - (with-pp - (cond - ((handle->process (-> obj target)) - (cond - ((not (dummy-10 (-> obj vol) (-> (the-as target (-> obj target process 0)) control trans))) - (dummy-27 obj) - ) - (else - (let ((v1-15 (-> (the-as target (-> obj target process 0)) water))) - (when (and (logtest? (water-flags wt19) (-> obj flags)) - (logtest? (-> v1-15 flags) (water-flags wt09)) - (>= (-> v1-15 surface-height) (-> v1-15 bottom 0 y)) - ) - (let ((v1-18 (-> obj attack-event))) - (case v1-18 - ((#f) - ) - (('heat) - (send-event (handle->process (-> obj target)) 'heat (* 10.0 (-> *display* seconds-per-frame))) - ) - (('drown-death 'lava 'dark-eco-pool) - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) pp) - (set! (-> a1-8 num-params) 2) - (set! (-> a1-8 message) 'attack-invinc) - (set! (-> a1-8 param 0) (the-as uint #f)) - (let ((a0-19 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-19 mode) v1-18) - (set! (-> a1-8 param 1) (the-as uint a0-19)) - ) - (if (send-event-function (handle->process (-> obj target)) a1-8) - (send-event obj 'notify 'attack) - ) + (cond + ((handle->process (-> obj target)) + (cond + ((not (dummy-10 (-> obj vol) (-> (the-as target (-> obj target process 0)) control trans))) + (dummy-27 obj) + ) + (else + (let ((v1-15 (-> (the-as target (-> obj target process 0)) water))) + (when (and (logtest? (water-flags wt19) (-> obj flags)) + (logtest? (-> v1-15 flags) (water-flags wt09)) + (>= (-> v1-15 surface-height) (-> v1-15 bottom 0 y)) ) - ) - (else - (let ((a1-10 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-10 from) pp) - (set! (-> a1-10 num-params) 2) - (set! (-> a1-10 message) 'attack) - (set! (-> a1-10 param 0) (the-as uint #f)) - (let ((a0-27 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-27 mode) v1-18) - (set! (-> a1-10 param 1) (the-as uint a0-27)) - ) - (if (send-event-function (handle->process (-> obj target)) a1-10) - (send-event obj 'notify 'attack) - ) + (let ((v1-18 (-> obj attack-event))) + (case v1-18 + ((#f) + ) + (('heat) + (send-event (handle->process (-> obj target)) 'heat (* 10.0 (-> *display* seconds-per-frame))) + ) + (('drown-death 'lava 'dark-eco-pool) + (if (send-event (handle->process (-> obj target)) 'attack-invinc #f (static-attack-info ((mode v1-18)))) + (send-event obj 'notify 'attack) + ) + ) + (else + (if (send-event (handle->process (-> obj target)) 'attack #f (static-attack-info ((mode v1-18)))) + (send-event obj 'notify 'attack) ) - ) ) ) ) @@ -1394,40 +1318,39 @@ ) ) ) - ((and *target* - (and (not (handle->process (-> *target* water volume))) (dummy-10 (-> obj vol) (-> *target* control trans))) - ) - (let ((s5-0 (-> *target* water))) - (process-entity-status! obj (entity-perm-status bit-3) #t) - (set! (-> s5-0 volume) (process->handle obj)) - (set! (-> obj target) (process->handle *target*)) - (logior! (-> s5-0 flags) (water-flags wt01)) - (set! (-> s5-0 base-height) (-> obj water-height)) - (set! (-> s5-0 ocean-offset) 0.0) - (logior! (-> s5-0 flags) (-> obj flags)) - (if (< 0.0 (-> obj wade-height)) - (set! (-> s5-0 wade-height) (-> obj wade-height)) - ) - (if (< 0.0 (-> obj swim-height)) - (set! (-> s5-0 swim-height) (-> obj swim-height)) - ) - (if (< 0.0 (-> obj bottom-height)) - (set! (-> s5-0 bottom-height) (-> obj bottom-height)) - ) - (set-zero! (-> s5-0 bob)) - ) + ) + ((and *target* + (and (not (handle->process (-> *target* water volume))) (dummy-10 (-> obj vol) (-> *target* control trans))) + ) + (let ((s5-0 (-> *target* water))) + (process-entity-status! obj (entity-perm-status bit-3) #t) + (set! (-> s5-0 volume) (process->handle obj)) + (set! (-> obj target) (process->handle *target*)) + (logior! (-> s5-0 flags) (water-flags wt01)) + (set! (-> s5-0 base-height) (-> obj water-height)) + (set! (-> s5-0 ocean-offset) 0.0) + (logior! (-> s5-0 flags) (-> obj flags)) + (if (< 0.0 (-> obj wade-height)) + (set! (-> s5-0 wade-height) (-> obj wade-height)) + ) + (if (< 0.0 (-> obj swim-height)) + (set! (-> s5-0 swim-height) (-> obj swim-height)) + ) + (if (< 0.0 (-> obj bottom-height)) + (set! (-> s5-0 bottom-height) (-> obj bottom-height)) + ) + (set-zero! (-> s5-0 bob)) ) - ) - 0 - (none) + ) ) + 0 + (none) ) ;; failed to figure out what this is: (defstate water-vol-startup (water-vol) :virtual #t - :code - (behavior () + :code (behavior () (go-virtual water-vol-idle) (none) ) @@ -1436,8 +1359,7 @@ ;; failed to figure out what this is: (defstate water-vol-idle (water-vol) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'update) (TODO-RENAME-26 self) @@ -1445,18 +1367,15 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (dummy-27 self) (none) ) - :trans - (behavior () + :trans (behavior () (TODO-RENAME-26 self) (none) ) - :code - (the-as (function none :behavior water-vol) anim-loop) + :code (the-as (function none :behavior water-vol) anim-loop) ) ;; definition for method 24 of type water-vol diff --git a/test/decompiler/reference/engine/gfx/wind-h_REF.gc b/test/decompiler/reference/engine/gfx/wind-h_REF.gc index ebd9bbd130..3a221c1aa0 100644 --- a/test/decompiler/reference/engine/gfx/wind-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/wind-h_REF.gc @@ -20,10 +20,7 @@ ) ;; definition for symbol *wind-scales*, type (array uint8) -(define *wind-scales* (the-as (array uint8) (new - 'static - 'boxed-array - :type uint8 :length 32 :allocated-length 32 +(define *wind-scales* (the-as (array uint8) (new 'static 'boxed-array :type uint8 #x2 #x5 #x2 diff --git a/test/decompiler/reference/engine/level/level-h_REF.gc b/test/decompiler/reference/engine/level/level-h_REF.gc index 762a240e5b..c827abd0ec 100644 --- a/test/decompiler/reference/engine/level/level-h_REF.gc +++ b/test/decompiler/reference/engine/level/level-h_REF.gc @@ -333,22 +333,17 @@ :want-level #f :load-commands '() :play? #f - :level0 - (new 'static 'level + :level0 (new 'static 'level :name #f :status 'inactive - :tfrag-tex-foreground-sink-group - (new 'static 'dma-foreground-sink-group - :sink - (new 'static 'array dma-foreground-sink 3 + :tfrag-tex-foreground-sink-group (new 'static 'dma-foreground-sink-group + :sink (new 'static 'array dma-foreground-sink 3 (new 'static 'dma-foreground-sink :bucket (bucket-id merc-tfrag-tex0)) (new 'static 'generic-dma-foreground-sink :bucket (bucket-id generic-tfrag-tex0) :foreground-output-bucket 1) ) ) - :pris-tex-foreground-sink-group - (new 'static 'dma-foreground-sink-group - :sink - (new 'static 'array dma-foreground-sink 3 + :pris-tex-foreground-sink-group (new 'static 'dma-foreground-sink-group + :sink (new 'static 'array dma-foreground-sink 3 (new 'static 'dma-foreground-sink :bucket (bucket-id merc-pris0) :foreground-texture-page 1) (new 'static 'generic-dma-foreground-sink :bucket (bucket-id generic-pris0) @@ -357,10 +352,8 @@ ) ) ) - :water-tex-foreground-sink-group - (new 'static 'dma-foreground-sink-group - :sink - (new 'static 'array dma-foreground-sink 3 + :water-tex-foreground-sink-group (new 'static 'dma-foreground-sink-group + :sink (new 'static 'array dma-foreground-sink 3 (new 'static 'dma-foreground-sink :bucket (bucket-id merc-water0) :foreground-texture-page 2) (new 'static 'generic-dma-foreground-sink :bucket (bucket-id generic-water0) @@ -373,15 +366,12 @@ :inside-boxes? #f :force-inside? #f ) - :level1 - (new 'static 'level + :level1 (new 'static 'level :name #f :index 1 :status 'inactive - :tfrag-tex-foreground-sink-group - (new 'static 'dma-foreground-sink-group - :sink - (new 'static 'array dma-foreground-sink 3 + :tfrag-tex-foreground-sink-group (new 'static 'dma-foreground-sink-group + :sink (new 'static 'array dma-foreground-sink 3 (new 'static 'dma-foreground-sink :bucket (bucket-id merc-tfrag-tex1) :foreground-texture-level 1) (new 'static 'generic-dma-foreground-sink :bucket (bucket-id generic-tfrag-tex1) @@ -390,8 +380,7 @@ ) ) ) - :pris-tex-foreground-sink-group - (new 'static 'dma-foreground-sink-group :sink (new 'static 'array dma-foreground-sink 3 + :pris-tex-foreground-sink-group (new 'static 'dma-foreground-sink-group :sink (new 'static 'array dma-foreground-sink 3 (new 'static 'dma-foreground-sink :bucket (bucket-id merc-pris1) :foreground-texture-page 1 @@ -405,8 +394,7 @@ ) ) ) - :water-tex-foreground-sink-group - (new 'static 'dma-foreground-sink-group :sink (new 'static 'array dma-foreground-sink 3 + :water-tex-foreground-sink-group (new 'static 'dma-foreground-sink-group :sink (new 'static 'array dma-foreground-sink 3 (new 'static 'dma-foreground-sink :bucket (bucket-id merc-water1) :foreground-texture-page 2 @@ -424,15 +412,12 @@ :inside-boxes? #f :force-inside? #f ) - :level-default - (new 'static 'level + :level-default (new 'static 'level :name 'default :index 2 :status 'reserved - :tfrag-tex-foreground-sink-group - (new 'static 'dma-foreground-sink-group - :sink - (new 'static 'array dma-foreground-sink 3 + :tfrag-tex-foreground-sink-group (new 'static 'dma-foreground-sink-group + :sink (new 'static 'array dma-foreground-sink 3 (new 'static 'dma-foreground-sink :bucket (bucket-id merc-alpha-tex) :foreground-texture-level 2) (new 'static 'generic-dma-foreground-sink :bucket (bucket-id generic-alpha-tex) @@ -441,8 +426,7 @@ ) ) ) - :pris-tex-foreground-sink-group - (new 'static 'dma-foreground-sink-group :sink (new 'static 'array dma-foreground-sink 3 + :pris-tex-foreground-sink-group (new 'static 'dma-foreground-sink-group :sink (new 'static 'array dma-foreground-sink 3 (new 'static 'dma-foreground-sink :bucket (bucket-id merc-pris-common) :foreground-texture-page 1 @@ -456,8 +440,7 @@ ) ) ) - :water-tex-foreground-sink-group - (new 'static 'dma-foreground-sink-group :sink (new 'static 'array dma-foreground-sink 3 + :water-tex-foreground-sink-group (new 'static 'dma-foreground-sink-group :sink (new 'static 'array dma-foreground-sink 3 (new 'static 'dma-foreground-sink :bucket (bucket-id merc-water0) :foreground-texture-page 2 diff --git a/test/decompiler/reference/engine/level/level-info_REF.gc b/test/decompiler/reference/engine/level/level-info_REF.gc index b783b3a0f8..3a5c1d1ce9 100644 --- a/test/decompiler/reference/engine/level/level-info_REF.gc +++ b/test/decompiler/reference/engine/level/level-info_REF.gc @@ -17,20 +17,14 @@ :ocean '*ocean-map-village1* :sky #t :sun-fade 1.0 - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "training-start" :level 'training - :trans - (new 'static 'vector :x -5393626.5 :y 28072.346 :z 4332472.5 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9995 :w 0.0297) - :camera-trans - (new 'static 'vector :x -5426915.0 :y 45930.906 :z 4353156.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.5571 0.0 -0.8304 0.1264 0.9883 -0.0848 0.8207 -0.1522 -0.5506) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x -5393626.5 :y 28072.346 :z 4332472.5 :w 1.0) + :quat (new 'static 'quaternion :y 0.9995 :w 0.0297) + :camera-trans (new 'static 'vector :x -5426915.0 :y 45930.906 :z 4353156.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.5571 0.0 -0.8304 0.1264 0.9883 -0.0848 0.8207 -0.1522 -0.5506) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -51,16 +45,11 @@ :name "training-warp" :level 'training :flags (continue-flags warp) - :trans - (new 'static 'vector :x -5383524.0 :y 28019.098 :z 4360302.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.084 :w 0.9964) - :camera-trans - (new 'static 'vector :x -5366765.0 :y 45646.234 :z 4325889.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9057 0.0 0.4238 -0.0666 0.9875 0.1424 -0.4186 -0.1572 0.8944) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x -5383524.0 :y 28019.098 :z 4360302.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.084 :w 0.9964) + :camera-trans (new 'static 'vector :x -5366765.0 :y 45646.234 :z 4325889.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9057 0.0 0.4238 -0.0666 0.9875 0.1424 -0.4186 -0.1572 0.8944) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -81,16 +70,11 @@ :name "game-start" :level 'training :flags (continue-flags warp game-start) - :trans - (new 'static 'vector :x -5393740.5 :y 28259.533 :z 4360945.5 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9993 :w 0.0359) - :camera-trans - (new 'static 'vector :x -5434444.5 :y 47050.344 :z 4372832.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.3536 0.0 -0.9353 0.1315 0.99 -0.0497 0.926 -0.1406 -0.35) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x -5393740.5 :y 28259.533 :z 4360945.5 :w 1.0) + :quat (new 'static 'quaternion :y 0.9993 :w 0.0359) + :camera-trans (new 'static 'vector :x -5434444.5 :y 47050.344 :z 4372832.5 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.3536 0.0 -0.9353 0.1315 0.99 -0.0497 0.926 -0.1406 -0.35) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -113,8 +97,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x -5079040.0 :z 4055040.0 :w 1024000.0) + :bsphere (new 'static 'sphere :x -5079040.0 :z 4055040.0 :w 1024000.0) :buzzer 95 :bottom-height (meters -114) :run-packages '("common" "villagep") @@ -138,18 +121,13 @@ :ocean '*ocean-map-village1* :sky #t :sun-fade 1.0 - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "village1-hut" :level 'village1 - :trans - (new 'static 'vector :x -638860.06 :y 139319.7 :z 769990.6 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9889 :w -0.148) - :camera-trans - (new 'static 'vector :x -668114.1 :y 164536.31 :z 828633.06 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.8947 0.0 -0.4464 0.1082 0.9701 -0.2169 0.4331 -0.2424 -0.868) + :trans (new 'static 'vector :x -638860.06 :y 139319.7 :z 769990.6 :w 1.0) + :quat (new 'static 'quaternion :y -0.9889 :w -0.148) + :camera-trans (new 'static 'vector :x -668114.1 :y 164536.31 :z 828633.06 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.8947 0.0 -0.4464 0.1082 0.9701 -0.2169 0.4331 -0.2424 -0.868) :load-commands '() :vis-nick 'vi1 :lev0 'village1 @@ -161,14 +139,10 @@ :name "village1-intro" :level 'village1 :flags (continue-flags warp sage-intro) - :trans - (new 'static 'vector :x -518468.8 :y 189424.03 :z 868568.7 :w 1.0) - :quat - (new 'static 'quaternion :y 0.591 :w 0.8066) - :camera-trans - (new 'static 'vector :x -559109.3 :y 200461.92 :z 826073.06 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.7221 0.0 -0.6917 -0.0517 0.9972 -0.054 0.6897 0.0747 0.7201) + :trans (new 'static 'vector :x -518468.8 :y 189424.03 :z 868568.7 :w 1.0) + :quat (new 'static 'quaternion :y 0.591 :w 0.8066) + :camera-trans (new 'static 'vector :x -559109.3 :y 200461.92 :z 826073.06 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7221 0.0 -0.6917 -0.0517 0.9972 -0.054 0.6897 0.0747 0.7201) :load-commands '() :vis-nick 'vi1 :lev0 'village1 @@ -180,14 +154,10 @@ :name "village1-warp" :level 'village1 :flags (continue-flags warp sage-ecorocks) - :trans - (new 'static 'vector :x -518468.8 :y 189424.03 :z 868568.7 :w 1.0) - :quat - (new 'static 'quaternion :y 0.591 :w 0.8066) - :camera-trans - (new 'static 'vector :x -559109.3 :y 200461.92 :z 826073.06 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.7221 0.0 -0.6917 -0.0517 0.9972 -0.054 0.6897 0.0747 0.7201) + :trans (new 'static 'vector :x -518468.8 :y 189424.03 :z 868568.7 :w 1.0) + :quat (new 'static 'quaternion :y 0.591 :w 0.8066) + :camera-trans (new 'static 'vector :x -559109.3 :y 200461.92 :z 826073.06 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7221 0.0 -0.6917 -0.0517 0.9972 -0.054 0.6897 0.0747 0.7201) :load-commands '() :vis-nick 'vi1 :lev0 'village1 @@ -199,14 +169,10 @@ :name "village1-demo-convo" :level 'village1 :flags (continue-flags sage-demo-convo) - :trans - (new 'static 'vector :x -542529.1 :y 189424.03 :z 847101.94 :w 1.0) - :quat - (new 'static 'quaternion :y -0.1717 :w -0.9851) - :camera-trans - (new 'static 'vector :x -559085.2 :y 202996.53 :z 826054.25 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.7868 0.0 -0.6171 0.0775 0.992 0.0989 0.6122 -0.1257 0.7806) + :trans (new 'static 'vector :x -542529.1 :y 189424.03 :z 847101.94 :w 1.0) + :quat (new 'static 'quaternion :y -0.1717 :w -0.9851) + :camera-trans (new 'static 'vector :x -559085.2 :y 202996.53 :z 826054.25 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7868 0.0 -0.6171 0.0775 0.992 0.0989 0.6122 -0.1257 0.7806) :load-commands '() :vis-nick 'vi1 :lev0 'village1 @@ -218,16 +184,11 @@ :name "intro-start" :level 'village1 :flags (continue-flags intro) - :trans - (new 'static 'vector :x 164316.78 :y 15128.576 :z 3390588.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.2339 :w 0.9722) - :camera-trans - (new 'static 'vector :x 204089.34 :y 36257.793 :z 3358341.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.6381 0.0 0.7699 -0.0938 0.9925 0.0777 -0.7642 -0.1218 0.6333) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x 164316.78 :y 15128.576 :z 3390588.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.2339 :w 0.9722) + :camera-trans (new 'static 'vector :x 204089.34 :y 36257.793 :z 3358341.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.6381 0.0 0.7699 -0.0938 0.9925 0.0777 -0.7642 -0.1218 0.6333) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -250,11 +211,9 @@ :tasks '(10 11 12 13 14 75) :priority #xc8 :load-commands '() - :alt-load-commands - '(((display village1) (load misty)) ((special village1) (display misty)) ((display village1) (load beach))) + :alt-load-commands '(((display village1) (load misty)) ((special village1) (display misty)) ((display village1) (load beach))) :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x -444416.0 :y 133120.0 :z 360448.0 :w 843776.0) + :bsphere (new 'static 'sphere :x -444416.0 :y 133120.0 :z 360448.0 :w 843776.0) :buzzer 75 :bottom-height (meters -20) :run-packages '("common") @@ -278,18 +237,13 @@ :ocean '*ocean-map-village1* :sky #t :sun-fade 1.0 - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "beach-start" :level 'beach - :trans - (new 'static 'vector :x -504960.22 :y 9477.325 :z -223513.81 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9486 :w -0.3163) - :camera-trans - (new 'static 'vector :x -487550.16 :y 28354.15 :z -184211.05 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9139 0.0 0.4058 -0.0551 0.9907 -0.1241 -0.4021 -0.1358 -0.9054) + :trans (new 'static 'vector :x -504960.22 :y 9477.325 :z -223513.81 :w 1.0) + :quat (new 'static 'quaternion :y 0.9486 :w -0.3163) + :camera-trans (new 'static 'vector :x -487550.16 :y 28354.15 :z -184211.05 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9139 0.0 0.4058 -0.0551 0.9907 -0.1241 -0.4021 -0.1358 -0.9054) :load-commands '() :vis-nick 'bea :lev0 'beach @@ -303,8 +257,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x -819200.0 :z -1556480.0 :w 1474560.0) + :bsphere (new 'static 'sphere :x -819200.0 :z -1556480.0 :w 1474560.0) :buzzer 20 :bottom-height (meters -20) :run-packages '("common") @@ -328,18 +281,13 @@ :ocean '*ocean-map-village1* :sky #t :sun-fade 1.0 - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "jungle-start" :level 'jungle - :trans - (new 'static 'vector :x 1057631.9 :y 86404.305 :z -647140.56 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9009 :w -0.4339) - :camera-trans - (new 'static 'vector :x 1004424.8 :y 111181.82 :z -611527.9 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.5568 0.0 -0.8306 0.201 0.9702 -0.1347 0.8059 -0.2419 -0.5402) + :trans (new 'static 'vector :x 1057631.9 :y 86404.305 :z -647140.56 :w 1.0) + :quat (new 'static 'quaternion :y -0.9009 :w -0.4339) + :camera-trans (new 'static 'vector :x 1004424.8 :y 111181.82 :z -611527.9 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.5568 0.0 -0.8306 0.201 0.9702 -0.1347 0.8059 -0.2419 -0.5402) :load-commands '() :vis-nick 'jun :lev0 'jungle @@ -351,11 +299,9 @@ :tasks '(2 3 4 5 7 8 9) :priority 100 :load-commands '() - :alt-load-commands - '(((display jungle) (display jungleb)) ((display jungle) (display village1))) + :alt-load-commands '(((display jungle) (display jungleb)) ((display jungle) (display village1))) :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 1474560.0 :y 2519040.0 :z -983040.0 :w 2457600.0) + :bsphere (new 'static 'sphere :x 1474560.0 :y 2519040.0 :z -983040.0 :w 2457600.0) :buzzer 7 :bottom-height (meters -20) :run-packages '("common") @@ -378,18 +324,13 @@ :mood-func 'update-mood-jungleb :ocean 'none :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "jungle-tower" :level 'jungleb - :trans - (new 'static 'vector :x 1469510.0 :y -204745.52 :z -959058.3 :w 1.0) - :quat - (new 'static 'quaternion :y -0.6194 :w -0.785) - :camera-trans - (new 'static 'vector :x 1485298.5 :y -189972.08 :z -936548.75 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.8614 0.0 0.5078 -0.1177 0.9727 -0.1997 -0.4939 -0.2318 -0.8379) + :trans (new 'static 'vector :x 1469510.0 :y -204745.52 :z -959058.3 :w 1.0) + :quat (new 'static 'quaternion :y -0.6194 :w -0.785) + :camera-trans (new 'static 'vector :x 1485298.5 :y -189972.08 :z -936548.75 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.8614 0.0 0.5078 -0.1177 0.9727 -0.1997 -0.4939 -0.2318 -0.8379) :load-commands '() :vis-nick 'jub :lev0 'jungle @@ -402,8 +343,7 @@ :priority 100 :load-commands '() :alt-load-commands '() - :bsphere - (new 'static 'sphere :x 1486848.0 :y -1269760.0 :z -1064960.0 :w 1228800.0) + :bsphere (new 'static 'sphere :x 1486848.0 :y -1269760.0 :z -1064960.0 :w 1228800.0) :buzzer 7 :bottom-height (meters -80) :run-packages '("common" "jungle") @@ -427,20 +367,14 @@ :ocean '*ocean-map-village1* :sky #t :sun-fade 0.25 - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "misty-start" :level 'misty - :trans - (new 'static 'vector :x 164316.78 :y 15128.576 :z 3390588.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.2339 :w 0.9722) - :camera-trans - (new 'static 'vector :x 204089.34 :y 36257.793 :z 3358341.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.6381 0.0 0.7699 -0.0938 0.9925 0.0777 -0.7642 -0.1218 0.6333) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x 164316.78 :y 15128.576 :z 3390588.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.2339 :w 0.9722) + :camera-trans (new 'static 'vector :x 204089.34 :y 36257.793 :z 3358341.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.6381 0.0 0.7699 -0.0938 0.9925 0.0777 -0.7642 -0.1218 0.6333) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -462,16 +396,11 @@ (new 'static 'continue-point :name "misty-silo" :level 'misty - :trans - (new 'static 'vector :x -672503.0 :y 82131.35 :z 3651465.8 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0878 :w 0.9961) - :camera-trans - (new 'static 'vector :x -675754.0 :y 102028.91 :z 3604800.8 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9975 0.0 -0.0704 0.0086 0.9924 0.1223 0.0698 -0.1226 0.9899) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x -672503.0 :y 82131.35 :z 3651465.8 :w 1.0) + :quat (new 'static 'quaternion :y 0.0878 :w 0.9961) + :camera-trans (new 'static 'vector :x -675754.0 :y 102028.91 :z 3604800.8 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9975 0.0 -0.0704 0.0086 0.9924 0.1223 0.0698 -0.1226 0.9899) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -493,16 +422,11 @@ (new 'static 'continue-point :name "misty-bike" :level 'misty - :trans - (new 'static 'vector :x 302533.44 :y 35901.848 :z 4138967.8 :w 1.0) - :quat - (new 'static 'quaternion :y -0.2809 :w 0.9597) - :camera-trans - (new 'static 'vector :x 338476.25 :y 55700.684 :z 4109729.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.6308 0.0 0.7759 -0.096 0.9923 0.078 -0.7699 -0.1237 0.6259) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x 302533.44 :y 35901.848 :z 4138967.8 :w 1.0) + :quat (new 'static 'quaternion :y -0.2809 :w 0.9597) + :camera-trans (new 'static 'vector :x 338476.25 :y 55700.684 :z 4109729.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.6308 0.0 0.7759 -0.096 0.9923 0.078 -0.7699 -0.1237 0.6259) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -524,16 +448,11 @@ (new 'static 'continue-point :name "misty-backside" :level 'misty - :trans - (new 'static 'vector :x -304192.72 :y 33270.99 :z 4646525.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.8443 :w -0.5357) - :camera-trans - (new 'static 'vector :x -346989.78 :y 54377.676 :z 4674685.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.5497 0.0 -0.8353 0.1009 0.9926 -0.0664 0.8291 -0.1208 -0.5457) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x -304192.72 :y 33270.99 :z 4646525.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.8443 :w -0.5357) + :camera-trans (new 'static 'vector :x -346989.78 :y 54377.676 :z 4674685.5 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.5497 0.0 -0.8353 0.1009 0.9926 -0.0664 0.8291 -0.1208 -0.5457) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -555,16 +474,11 @@ (new 'static 'continue-point :name "misty-silo2" :level 'misty - :trans - (new 'static 'vector :x -898000.06 :y 98038.17 :z 4162091.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.1102 :w 0.9938) - :camera-trans - (new 'static 'vector :x -931459.9 :y 118198.68 :z 4196081.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.6605 0.0 -0.7508 0.1086 0.9894 -0.0955 0.7429 -0.1447 -0.6535) - :load-commands - '((special "med-res-level-1" #t) + :trans (new 'static 'vector :x -898000.06 :y 98038.17 :z 4162091.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.1102 :w 0.9938) + :camera-trans (new 'static 'vector :x -931459.9 :y 118198.68 :z 4196081.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.6605 0.0 -0.7508 0.1086 0.9894 -0.0955 0.7429 -0.1447 -0.6535) + :load-commands '((special "med-res-level-1" #t) (special "med-res-level-2" #t) (special "med-res-level-4" #t) (special "med-res-level-6" #t) @@ -589,8 +503,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :z 4096000.0 :w 1269760.0) + :bsphere (new 'static 'sphere :z 4096000.0 :w 1269760.0) :buzzer 28 :bottom-height (meters -20) :run-packages '("common") @@ -613,18 +526,13 @@ :mood-func 'update-mood-firecanyon :ocean 'none :sky #t - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "firecanyon-start" :level 'firecanyon - :trans - (new 'static 'vector :x -87377.1 :y 126444.75 :z -681697.25 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9921 :w -0.1246) - :camera-trans - (new 'static 'vector :x -84559.055 :y 144685.47 :z -641194.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9976 0.0 0.0688 -0.01 0.9893 -0.1452 -0.068 -0.1456 -0.9869) + :trans (new 'static 'vector :x -87377.1 :y 126444.75 :z -681697.25 :w 1.0) + :quat (new 'static 'quaternion :y 0.9921 :w -0.1246) + :camera-trans (new 'static 'vector :x -84559.055 :y 144685.47 :z -641194.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9976 0.0 0.0688 -0.01 0.9893 -0.1452 -0.068 -0.1456 -0.9869) :load-commands '() :vis-nick 'fic :lev0 'firecanyon @@ -635,14 +543,10 @@ (new 'static 'continue-point :name "firecanyon-end" :level 'firecanyon - :trans - (new 'static 'vector :x 1360576.1 :y 126976.0 :z -5839533.5 :w 1.0) - :quat - (new 'static 'quaternion :y 0.1666 :w 0.986) - :camera-trans - (new 'static 'vector :x 1378912.6 :y 144452.81 :z -5872527.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.8847 0.0 0.466 -0.0744 0.9871 0.1414 -0.46 -0.1598 0.8733) + :trans (new 'static 'vector :x 1360576.1 :y 126976.0 :z -5839533.5 :w 1.0) + :quat (new 'static 'quaternion :y 0.1666 :w 0.986) + :camera-trans (new 'static 'vector :x 1378912.6 :y 144452.81 :z -5872527.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.8847 0.0 0.466 -0.0744 0.9871 0.1414 -0.46 -0.1598 0.8733) :load-commands '() :vis-nick 'fic :lev0 'village2 @@ -656,8 +560,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 419840.0 :y 151552.0 :z -3006464.0 :w 2048000.0) + :bsphere (new 'static 'sphere :x 419840.0 :y 151552.0 :z -3006464.0 :w 2048000.0) :buzzer 68 :bottom-height (meters -20) :run-packages '("common") @@ -680,18 +583,13 @@ :mood-func 'update-mood-village2 :ocean '*ocean-map-village2* :sky #t - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "village2-start" :level 'village2 - :trans - (new 'static 'vector :x 1460961.2 :y 108562.02 :z -6161391.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9917 :w 0.1278) - :camera-trans - (new 'static 'vector :x 1468018.8 :y 133790.92 :z -6096227.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9941 0.0 0.1076 -0.0261 0.9699 -0.2418 -0.1044 -0.2432 -0.9643) + :trans (new 'static 'vector :x 1460961.2 :y 108562.02 :z -6161391.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.9917 :w 0.1278) + :camera-trans (new 'static 'vector :x 1468018.8 :y 133790.92 :z -6096227.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9941 0.0 0.1076 -0.0261 0.9699 -0.2418 -0.1044 -0.2432 -0.9643) :load-commands '() :vis-nick 'vi2 :lev0 'village2 @@ -703,14 +601,10 @@ :name "village2-warp" :level 'village2 :flags (continue-flags warp) - :trans - (new 'static 'vector :x 1592492.9 :y 91648.0 :z -6328677.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.7469 :w 0.6648) - :camera-trans - (new 'static 'vector :x 1555766.1 :y 103759.46 :z -6318964.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.2562 0.0 -0.9666 -0.0253 0.9996 0.0067 0.9662 0.0262 -0.2561) + :trans (new 'static 'vector :x 1592492.9 :y 91648.0 :z -6328677.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.7469 :w 0.6648) + :camera-trans (new 'static 'vector :x 1555766.1 :y 103759.46 :z -6318964.5 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.2562 0.0 -0.9666 -0.0253 0.9996 0.0067 0.9662 0.0262 -0.2561) :load-commands '() :vis-nick 'vi2 :lev0 'village2 @@ -721,14 +615,10 @@ (new 'static 'continue-point :name "village2-dock" :level 'village2 - :trans - (new 'static 'vector :x 1264346.8 :y 19451.494 :z -6833563.5 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0258 :w 0.9996) - :camera-trans - (new 'static 'vector :x 1265547.2 :y 34647.656 :z -6862636.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9991 0.0 0.0411 -0.0088 0.9764 0.2155 -0.0401 -0.2156 0.9756) + :trans (new 'static 'vector :x 1264346.8 :y 19451.494 :z -6833563.5 :w 1.0) + :quat (new 'static 'quaternion :y 0.0258 :w 0.9996) + :camera-trans (new 'static 'vector :x 1265547.2 :y 34647.656 :z -6862636.5 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9991 0.0 0.0411 -0.0088 0.9764 0.2155 -0.0401 -0.2156 0.9756) :load-commands '() :vis-nick 'vi2 :lev0 'village2 @@ -742,8 +632,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 1392640.0 :y 81920.0 :z -6770688.0 :w 696320.0) + :bsphere (new 'static 'sphere :x 1392640.0 :y 81920.0 :z -6770688.0 :w 696320.0) :buzzer 76 :bottom-height (meters -20) :run-packages '("common") @@ -766,18 +655,13 @@ :mood-func 'update-mood-sunken :ocean '*ocean-map-sunken* :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "sunken-start" :level 'sunken - :trans - (new 'static 'vector :x 2172095.2 :y -591749.94 :z -6721553.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.5083 :w 0.8611) - :camera-trans - (new 'static 'vector :x 2138871.5 :y -572296.4 :z -6751967.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.7575 0.0 -0.6527 0.0858 0.9913 0.0995 0.647 -0.1314 0.7509) + :trans (new 'static 'vector :x 2172095.2 :y -591749.94 :z -6721553.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.5083 :w 0.8611) + :camera-trans (new 'static 'vector :x 2138871.5 :y -572296.4 :z -6751967.5 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7575 0.0 -0.6527 0.0858 0.9913 0.0995 0.647 -0.1314 0.7509) :load-commands '() :vis-nick 'sun :lev0 'sunken @@ -788,14 +672,10 @@ (new 'static 'continue-point :name "sunken1" :level 'sunken - :trans - (new 'static 'vector :x 3062988.5 :y -536575.56 :z -6527484.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.5304 :w 0.8477) - :camera-trans - (new 'static 'vector :x 3015461.2 :y -515480.38 :z -6546573.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.3725 0.0 -0.928 0.1121 0.9926 0.045 0.9212 -0.1208 0.3697) + :trans (new 'static 'vector :x 3062988.5 :y -536575.56 :z -6527484.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.5304 :w 0.8477) + :camera-trans (new 'static 'vector :x 3015461.2 :y -515480.38 :z -6546573.5 :w 1.0) + :camera-rot (new 'static 'array float 9 0.3725 0.0 -0.928 0.1121 0.9926 0.045 0.9212 -0.1208 0.3697) :load-commands '() :vis-nick 'sun :lev0 'sunken @@ -806,14 +686,10 @@ (new 'static 'continue-point :name "sunken2" :level 'sunken - :trans - (new 'static 'vector :x 3133625.5 :y -569343.56 :z -6909587.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9512 :w 0.3083) - :camera-trans - (new 'static 'vector :x 3170833.2 :y -548244.25 :z -6874378.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.6872 0.0 0.7263 -0.0878 0.9926 -0.0831 -0.721 -0.1209 -0.6822) + :trans (new 'static 'vector :x 3133625.5 :y -569343.56 :z -6909587.5 :w 1.0) + :quat (new 'static 'quaternion :y -0.9512 :w 0.3083) + :camera-trans (new 'static 'vector :x 3170833.2 :y -548244.25 :z -6874378.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.6872 0.0 0.7263 -0.0878 0.9926 -0.0831 -0.721 -0.1209 -0.6822) :load-commands '() :vis-nick 'sun :lev0 'sunken @@ -824,14 +700,10 @@ (new 'static 'continue-point :name "sunken-tube1" :level 'sunken - :trans - (new 'static 'vector :x 2649601.8 :y -569343.56 :z -7132970.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9936 :w 0.1124) - :camera-trans - (new 'static 'vector :x 2636150.2 :y -555656.4 :z -7114732.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.8024 0.0 -0.5967 0.1721 0.9574 -0.2315 0.5713 -0.2885 -0.7683) + :trans (new 'static 'vector :x 2649601.8 :y -569343.56 :z -7132970.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.9936 :w 0.1124) + :camera-trans (new 'static 'vector :x 2636150.2 :y -555656.4 :z -7114732.5 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.8024 0.0 -0.5967 0.1721 0.9574 -0.2315 0.5713 -0.2885 -0.7683) :load-commands '() :vis-nick 'sun :lev0 'sunken @@ -845,8 +717,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 2867200.0 :y -2048000.0 :z -6553600.0 :w 2048000.0) + :bsphere (new 'static 'sphere :x 2867200.0 :y -2048000.0 :z -6553600.0 :w 2048000.0) :buzzer 49 :bottom-height (meters -500) :run-packages '("common") @@ -869,18 +740,13 @@ :mood-func 'update-mood-sunken :ocean '*ocean-map-sunken* :sky #t - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "sunkenb-start" :level 'sunkenb - :trans - (new 'static 'vector :x 2229231.2 :y -1019912.2 :z -6788748.5 :w 1.0) - :quat - (new 'static 'quaternion :y 0.895 :w 0.446) - :camera-trans - (new 'static 'vector :x 2187840.0 :y -998915.7 :z -6759328.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.5786 0.0 -0.8155 0.0992 0.9925 -0.0704 0.8094 -0.1217 -0.5743) + :trans (new 'static 'vector :x 2229231.2 :y -1019912.2 :z -6788748.5 :w 1.0) + :quat (new 'static 'quaternion :y 0.895 :w 0.446) + :camera-trans (new 'static 'vector :x 2187840.0 :y -998915.7 :z -6759328.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.5786 0.0 -0.8155 0.0992 0.9925 -0.0704 0.8094 -0.1217 -0.5743) :load-commands '((alive "exit-chamber-1")) :vis-nick 'sub :lev0 'sunken @@ -891,14 +757,10 @@ (new 'static 'continue-point :name "sunkenb-helix" :level 'sunkenb - :trans - (new 'static 'vector :x 2466572.8 :y -1838989.2 :z -7299582.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.8841 :w 0.4672) - :camera-trans - (new 'static 'vector :x 2515616.2 :y -1817888.4 :z -7284843.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.2889 0.0 0.9573 -0.1163 0.9925 -0.0351 -0.9502 -0.1214 -0.2867) + :trans (new 'static 'vector :x 2466572.8 :y -1838989.2 :z -7299582.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.8841 :w 0.4672) + :camera-trans (new 'static 'vector :x 2515616.2 :y -1817888.4 :z -7284843.5 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.2889 0.0 0.9573 -0.1163 0.9925 -0.0351 -0.9502 -0.1214 -0.2867) :load-commands '() :vis-nick 'sub :lev0 'sunken @@ -912,8 +774,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 2867200.0 :y -2048000.0 :z -6553600.0 :w 2048000.0) + :bsphere (new 'static 'sphere :x 2867200.0 :y -2048000.0 :z -6553600.0 :w 2048000.0) :buzzer 49 :bottom-height (meters -500) :run-packages '("common" "sunken") @@ -936,20 +797,14 @@ :mood-func 'update-mood-swamp :ocean '*ocean-map-village2* :sky #t - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "swamp-start" :level 'swamp - :trans - (new 'static 'vector :x 1842537.2 :y 21027.227 :z -7333297.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9933 :w 0.1153) - :camera-trans - (new 'static 'vector :x 1862529.9 :y 44371.56 :z -7277995.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9403 0.0 0.3402 -0.0814 0.9708 -0.2252 -0.3303 -0.2394 -0.9129) - :load-commands - '((special "swamp-blimp-3" #t) + :trans (new 'static 'vector :x 1842537.2 :y 21027.227 :z -7333297.5 :w 1.0) + :quat (new 'static 'quaternion :y -0.9933 :w 0.1153) + :camera-trans (new 'static 'vector :x 1862529.9 :y 44371.56 :z -7277995.5 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9403 0.0 0.3402 -0.0814 0.9708 -0.2252 -0.3303 -0.2394 -0.9129) + :load-commands '((special "swamp-blimp-3" #t) (special "precursor-arm-3" #t) (special "swamp-tetherrock-13" #t) (special "swamp-tetherrock-14" #t) @@ -965,16 +820,11 @@ (new 'static 'continue-point :name "swamp-dock1" :level 'swamp - :trans - (new 'static 'vector :x 1360386.9 :y 5823.693 :z -8218890.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.585 :w -0.811) - :camera-trans - (new 'static 'vector :x 1314475.6 :y 26164.838 :z -8234152.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.3154 0.0 -0.9489 0.1134 0.9928 0.0376 0.9421 -0.1195 0.3131) - :load-commands - '((special "swamp-blimp-3" #t) + :trans (new 'static 'vector :x 1360386.9 :y 5823.693 :z -8218890.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.585 :w -0.811) + :camera-trans (new 'static 'vector :x 1314475.6 :y 26164.838 :z -8234152.5 :w 1.0) + :camera-rot (new 'static 'array float 9 0.3154 0.0 -0.9489 0.1134 0.9928 0.0376 0.9421 -0.1195 0.3131) + :load-commands '((special "swamp-blimp-3" #t) (special "precursor-arm-3" #t) (special "swamp-tetherrock-13" #t) (special "swamp-tetherrock-14" #t) @@ -990,16 +840,11 @@ (new 'static 'continue-point :name "swamp-cave1" :level 'swamp - :trans - (new 'static 'vector :x 1553700.5 :y 1835.4176 :z -8258429.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9871 :w -0.1599) - :camera-trans - (new 'static 'vector :x 1556873.2 :y 22715.598 :z -8208106.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9982 0.0 0.0596 -0.0072 0.9926 -0.1209 -0.0592 -0.1211 -0.9908) - :load-commands - '((special "swamp-blimp-3" #t) + :trans (new 'static 'vector :x 1553700.5 :y 1835.4176 :z -8258429.5 :w 1.0) + :quat (new 'static 'quaternion :y -0.9871 :w -0.1599) + :camera-trans (new 'static 'vector :x 1556873.2 :y 22715.598 :z -8208106.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9982 0.0 0.0596 -0.0072 0.9926 -0.1209 -0.0592 -0.1211 -0.9908) + :load-commands '((special "swamp-blimp-3" #t) (special "precursor-arm-3" #t) (special "swamp-tetherrock-13" #t) (special "swamp-tetherrock-14" #t) @@ -1015,16 +860,11 @@ (new 'static 'continue-point :name "swamp-dock2" :level 'swamp - :trans - (new 'static 'vector :x 1645872.4 :y 36495.77 :z -8427323.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.8294 :w -0.5586) - :camera-trans - (new 'static 'vector :x 1599338.9 :y 57590.168 :z -8405954.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.418 0.0 -0.9084 0.1106 0.9925 -0.0509 0.9016 -0.1218 -0.4149) - :load-commands - '((special "swamp-blimp-3" #t) + :trans (new 'static 'vector :x 1645872.4 :y 36495.77 :z -8427323.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.8294 :w -0.5586) + :camera-trans (new 'static 'vector :x 1599338.9 :y 57590.168 :z -8405954.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.418 0.0 -0.9084 0.1106 0.9925 -0.0509 0.9016 -0.1218 -0.4149) + :load-commands '((special "swamp-blimp-3" #t) (special "precursor-arm-3" #t) (special "swamp-tetherrock-13" #t) (special "swamp-tetherrock-14" #t) @@ -1040,16 +880,11 @@ (new 'static 'continue-point :name "swamp-cave2" :level 'swamp - :trans - (new 'static 'vector :x 2037539.2 :y 1103.872 :z -8560013.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0559 :w 0.9984) - :camera-trans - (new 'static 'vector :x 1995208.2 :y 21832.908 :z -8586304.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.5516 0.0 -0.834 0.097 0.9932 0.0641 0.8283 -0.1163 0.5479) - :load-commands - '((special "swamp-blimp-3" #t) + :trans (new 'static 'vector :x 2037539.2 :y 1103.872 :z -8560013.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.0559 :w 0.9984) + :camera-trans (new 'static 'vector :x 1995208.2 :y 21832.908 :z -8586304.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.5516 0.0 -0.834 0.097 0.9932 0.0641 0.8283 -0.1163 0.5479) + :load-commands '((special "swamp-blimp-3" #t) (special "precursor-arm-3" #t) (special "swamp-tetherrock-13" #t) (special "swamp-tetherrock-14" #t) @@ -1065,16 +900,11 @@ (new 'static 'continue-point :name "swamp-game" :level 'swamp - :trans - (new 'static 'vector :x 2612289.2 :y -2047.5905 :z -8315907.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.6975 :w 0.7165) - :camera-trans - (new 'static 'vector :x 2661940.5 :y 20693.81 :z -8317980.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.0406 0.0 0.9991 -0.1452 0.9893 0.0059 -0.9885 -0.1453 0.0402) - :load-commands - '((special "swamp-blimp-3" #t) + :trans (new 'static 'vector :x 2612289.2 :y -2047.5905 :z -8315907.5 :w 1.0) + :quat (new 'static 'quaternion :y -0.6975 :w 0.7165) + :camera-trans (new 'static 'vector :x 2661940.5 :y 20693.81 :z -8317980.5 :w 1.0) + :camera-rot (new 'static 'array float 9 0.0406 0.0 0.9991 -0.1452 0.9893 0.0059 -0.9885 -0.1453 0.0402) + :load-commands '((special "swamp-blimp-3" #t) (special "precursor-arm-3" #t) (special "swamp-tetherrock-13" #t) (special "swamp-tetherrock-14" #t) @@ -1090,16 +920,11 @@ (new 'static 'continue-point :name "swamp-cave3" :level 'swamp - :trans - (new 'static 'vector :x 2011811.4 :y 3711.7952 :z -7923027.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.5269 :w 0.8499) - :camera-trans - (new 'static 'vector :x 2053120.4 :y 22242.51 :z -7927784.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.1145 0.0 0.9934 -0.1412 0.9898 0.0162 -0.9833 -0.1422 0.1134) - :load-commands - '((special "swamp-blimp-3" #t) + :trans (new 'static 'vector :x 2011811.4 :y 3711.7952 :z -7923027.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.5269 :w 0.8499) + :camera-trans (new 'static 'vector :x 2053120.4 :y 22242.51 :z -7927784.5 :w 1.0) + :camera-rot (new 'static 'array float 9 0.1145 0.0 0.9934 -0.1412 0.9898 0.0162 -0.9833 -0.1422 0.1134) + :load-commands '((special "swamp-blimp-3" #t) (special "precursor-arm-3" #t) (special "swamp-tetherrock-13" #t) (special "swamp-tetherrock-14" #t) @@ -1118,8 +943,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 1986560.0 :z -8417280.0 :w 1003520.0) + :bsphere (new 'static 'sphere :x 1986560.0 :z -8417280.0 :w 1003520.0) :buzzer 43 :bottom-height (meters -20) :run-packages '("common") @@ -1142,18 +966,13 @@ :mood-func 'update-mood-rolling :ocean 'none :sky #t - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "rolling-start" :level 'rolling - :trans - (new 'static 'vector :x 432272.6 :y 42821.633 :z -6737529.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.545 :w 0.8383) - :camera-trans - (new 'static 'vector :x 494105.8 :y 67237.48 :z -6748524.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.1759 0.0 0.9843 -0.2371 0.9705 0.0423 -0.9553 -0.2409 0.1707) + :trans (new 'static 'vector :x 432272.6 :y 42821.633 :z -6737529.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.545 :w 0.8383) + :camera-trans (new 'static 'vector :x 494105.8 :y 67237.48 :z -6748524.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.1759 0.0 0.9843 -0.2371 0.9705 0.0423 -0.9553 -0.2409 0.1707) :load-commands '() :vis-nick 'rol :lev0 'rolling @@ -1167,8 +986,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x -753664.0 :y 131072.0 :z -6569984.0 :w 974848.0) + :bsphere (new 'static 'sphere :x -753664.0 :y 131072.0 :z -6569984.0 :w 974848.0) :buzzer 57 :bottom-height (meters -20) :run-packages '("common") @@ -1191,18 +1009,13 @@ :mood-func 'update-mood-ogre :ocean 'none :sky #t - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "ogre-start" :level 'ogre - :trans - (new 'static 'vector :x 849775.8 :y 163962.88 :z -7301166.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9931 :w 0.1166) - :camera-trans - (new 'static 'vector :x 848906.25 :y 185056.88 :z -7249962.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9998 0.0 -0.0159 0.0019 0.9925 -0.1215 0.0158 -0.1215 -0.9924) + :trans (new 'static 'vector :x 849775.8 :y 163962.88 :z -7301166.5 :w 1.0) + :quat (new 'static 'quaternion :y -0.9931 :w 0.1166) + :camera-trans (new 'static 'vector :x 848906.25 :y 185056.88 :z -7249962.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9998 0.0 -0.0159 0.0019 0.9925 -0.1215 0.0158 -0.1215 -0.9924) :load-commands '() :vis-nick 'ogr :lev0 'ogre @@ -1213,14 +1026,10 @@ (new 'static 'continue-point :name "ogre-race" :level 'ogre - :trans - (new 'static 'vector :x 841424.9 :y 163801.1 :z -8205419.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9857 :w 0.168) - :camera-trans - (new 'static 'vector :x 860479.9 :y 183815.38 :z -8162368.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9145 0.0 0.4045 -0.0497 0.9924 -0.1125 -0.4015 -0.123 -0.9075) + :trans (new 'static 'vector :x 841424.9 :y 163801.1 :z -8205419.5 :w 1.0) + :quat (new 'static 'quaternion :y -0.9857 :w 0.168) + :camera-trans (new 'static 'vector :x 860479.9 :y 183815.38 :z -8162368.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9145 0.0 0.4045 -0.0497 0.9924 -0.1125 -0.4015 -0.123 -0.9075) :load-commands '() :vis-nick 'ogr :lev0 'ogre @@ -1231,14 +1040,10 @@ (new 'static 'continue-point :name "ogre-end" :level 'ogre - :trans - (new 'static 'vector :x 3971233.5 :y 141227.62 :z -13935735.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.8721 :w 0.4892) - :camera-trans - (new 'static 'vector :x 3997892.2 :y 159604.73 :z -13904449.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.7611 0.0 0.6485 -0.0932 0.9896 -0.1094 -0.6417 -0.1438 -0.7532) + :trans (new 'static 'vector :x 3971233.5 :y 141227.62 :z -13935735.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.8721 :w 0.4892) + :camera-trans (new 'static 'vector :x 3997892.2 :y 159604.73 :z -13904449.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.7611 0.0 0.6485 -0.0932 0.9896 -0.1094 -0.6417 -0.1438 -0.7532) :load-commands '() :vis-nick 'ogr :lev0 'village3 @@ -1252,8 +1057,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 2334720.0 :y 180224.0 :z -10653696.0 :w 3653632.0) + :bsphere (new 'static 'sphere :x 2334720.0 :y 180224.0 :z -10653696.0 :w 3653632.0) :buzzer 88 :bottom-height (meters -20) :run-packages '("common") @@ -1276,18 +1080,13 @@ :mood-func 'update-mood-village3 :ocean #f :sky #t - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "village3-start" :level 'village3 - :trans - (new 'static 'vector :x 4468021.5 :y 186608.03 :z -14054268.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9999 :w 0.005) - :camera-trans - (new 'static 'vector :x 4469439.5 :y 207701.2 :z -14003077.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9996 0.0 0.0268 -0.0032 0.9925 -0.1216 -0.0266 -0.1216 -0.9922) + :trans (new 'static 'vector :x 4468021.5 :y 186608.03 :z -14054268.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.9999 :w 0.005) + :camera-trans (new 'static 'vector :x 4469439.5 :y 207701.2 :z -14003077.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9996 0.0 0.0268 -0.0032 0.9925 -0.1216 -0.0266 -0.1216 -0.9922) :load-commands '() :vis-nick 'vi3 :lev0 'village3 @@ -1299,14 +1098,10 @@ :name "village3-warp" :level 'village3 :flags (continue-flags warp) - :trans - (new 'static 'vector :x 4549776.0 :y 215375.88 :z -14285922.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.681 :w 0.7322) - :camera-trans - (new 'static 'vector :x 4543255.0 :y 226776.67 :z -14313317.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.8563 0.0 -0.2763 0.0456 0.8875 0.1413 0.2725 -0.1485 0.8446) + :trans (new 'static 'vector :x 4549776.0 :y 215375.88 :z -14285922.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.681 :w 0.7322) + :camera-trans (new 'static 'vector :x 4543255.0 :y 226776.67 :z -14313317.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.8563 0.0 -0.2763 0.0456 0.8875 0.1413 0.2725 -0.1485 0.8446) :load-commands '() :vis-nick 'vi3 :lev0 'village3 @@ -1317,14 +1112,10 @@ (new 'static 'continue-point :name "village3-farside" :level 'village3 - :trans - (new 'static 'vector :x 4423744.0 :y 198723.58 :z -14530641.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.6611 :w 0.7502) - :camera-trans - (new 'static 'vector :x 4381844.0 :y 218599.83 :z -14551361.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.442 0.0 -0.8969 0.1099 0.9924 0.0541 0.8902 -0.1225 0.4387) + :trans (new 'static 'vector :x 4423744.0 :y 198723.58 :z -14530641.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.6611 :w 0.7502) + :camera-trans (new 'static 'vector :x 4381844.0 :y 218599.83 :z -14551361.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.442 0.0 -0.8969 0.1099 0.9924 0.0541 0.8902 -0.1225 0.4387) :load-commands '() :vis-nick 'vi3 :lev0 'village3 @@ -1338,8 +1129,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 4571136.0 :y 389120.0 :z -14323712.0 :w 409600.0) + :bsphere (new 'static 'sphere :x 4571136.0 :y 389120.0 :z -14323712.0 :w 409600.0) :buzzer 77 :bottom-height (meters -20) :run-packages '("common") @@ -1363,18 +1153,13 @@ :ocean #f :sky #t :sun-fade 0.5 - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "snow-start" :level 'snow - :trans - (new 'static 'vector :x 4256260.0 :y 983713.8 :z -14182752.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.7906 :w -0.6122) - :camera-trans - (new 'static 'vector :x 4303859.5 :y 1012363.7 :z -14156672.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.4804 0.0 0.877 -0.2049 0.9723 -0.1122 -0.8527 -0.2336 -0.4671) + :trans (new 'static 'vector :x 4256260.0 :y 983713.8 :z -14182752.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.7906 :w -0.6122) + :camera-trans (new 'static 'vector :x 4303859.5 :y 1012363.7 :z -14156672.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.4804 0.0 0.877 -0.2049 0.9723 -0.1122 -0.8527 -0.2336 -0.4671) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1385,14 +1170,10 @@ (new 'static 'continue-point :name "snow-fort" :level 'snow - :trans - (new 'static 'vector :x 3430875.2 :y 897149.3 :z -13397581.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0968 :w 0.9952) - :camera-trans - (new 'static 'vector :x 3428789.8 :y 918241.25 :z -13448724.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9991 0.0 -0.0419 0.0051 0.9925 0.1216 0.0415 -0.1217 0.9916) + :trans (new 'static 'vector :x 3430875.2 :y 897149.3 :z -13397581.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.0968 :w 0.9952) + :camera-trans (new 'static 'vector :x 3428789.8 :y 918241.25 :z -13448724.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9991 0.0 -0.0419 0.0051 0.9925 0.1216 0.0415 -0.1217 0.9916) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1403,14 +1184,10 @@ (new 'static 'continue-point :name "snow-flut-flut" :level 'snow - :trans - (new 'static 'vector :x 2481850.0 :y 1054709.4 :z -13922438.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.8628 :w -0.5055) - :camera-trans - (new 'static 'vector :x 2497063.0 :y 1069339.9 :z -13900353.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.8224 0.0 0.5688 -0.135 0.9713 -0.1953 -0.5525 -0.2374 -0.7989) + :trans (new 'static 'vector :x 2481850.0 :y 1054709.4 :z -13922438.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.8628 :w -0.5055) + :camera-trans (new 'static 'vector :x 2497063.0 :y 1069339.9 :z -13900353.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.8224 0.0 0.5688 -0.135 0.9713 -0.1953 -0.5525 -0.2374 -0.7989) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1421,14 +1198,10 @@ (new 'static 'continue-point :name "snow-pass-to-fort" :level 'snow - :trans - (new 'static 'vector :x 3751044.8 :y 917612.1 :z -13828696.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.3387 :w -0.9408) - :camera-trans - (new 'static 'vector :x 3779776.0 :y 933972.8 :z -13845825.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.6061 0.0 0.7953 -0.1493 0.9822 0.1138 -0.7812 -0.1878 0.5953) + :trans (new 'static 'vector :x 3751044.8 :y 917612.1 :z -13828696.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.3387 :w -0.9408) + :camera-trans (new 'static 'vector :x 3779776.0 :y 933972.8 :z -13845825.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.6061 0.0 0.7953 -0.1493 0.9822 0.1138 -0.7812 -0.1878 0.5953) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1439,14 +1212,10 @@ (new 'static 'continue-point :name "snow-by-ice-lake" :level 'snow - :trans - (new 'static 'vector :x 3151164.5 :y 1049638.1 :z -14246464.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.6226 :w 0.7824) - :camera-trans - (new 'static 'vector :x 3203905.2 :y 1080037.8 :z -14270850.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.4189 0.0 0.9079 -0.2169 0.971 0.1001 -0.8816 -0.2389 0.4068) + :trans (new 'static 'vector :x 3151164.5 :y 1049638.1 :z -14246464.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.6226 :w 0.7824) + :camera-trans (new 'static 'vector :x 3203905.2 :y 1080037.8 :z -14270850.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.4189 0.0 0.9079 -0.2169 0.971 0.1001 -0.8816 -0.2389 0.4068) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1457,14 +1226,10 @@ (new 'static 'continue-point :name "snow-by-ice-lake-alt" :level 'snow - :trans - (new 'static 'vector :x 3053335.0 :y 1048927.9 :z -14058945.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9997 :w 0.022) - :camera-trans - (new 'static 'vector :x 3045845.5 :y 1068868.0 :z -14012568.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.987 0.0 -0.1601 0.0195 0.9924 -0.1207 0.1589 -0.1223 -0.9796) + :trans (new 'static 'vector :x 3053335.0 :y 1048927.9 :z -14058945.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.9997 :w 0.022) + :camera-trans (new 'static 'vector :x 3045845.5 :y 1068868.0 :z -14012568.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.987 0.0 -0.1601 0.0195 0.9924 -0.1207 0.1589 -0.1223 -0.9796) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1475,14 +1240,10 @@ (new 'static 'continue-point :name "snow-outside-fort" :level 'snow - :trans - (new 'static 'vector :x 3431014.0 :y 901474.7 :z -13600187.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.0954 :w -0.9954) - :camera-trans - (new 'static 'vector :x 3429969.0 :y 922565.44 :z -13651353.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9998 0.0 -0.0196 0.0023 0.9926 0.1213 0.0195 -0.1213 0.9924) + :trans (new 'static 'vector :x 3431014.0 :y 901474.7 :z -13600187.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.0954 :w -0.9954) + :camera-trans (new 'static 'vector :x 3429969.0 :y 922565.44 :z -13651353.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9998 0.0 -0.0196 0.0023 0.9926 0.1213 0.0195 -0.1213 0.9924) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1493,14 +1254,10 @@ (new 'static 'continue-point :name "snow-outside-cave" :level 'snow - :trans - (new 'static 'vector :x 3200864.2 :y 907400.4 :z -13676660.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.5867 :w -0.8097) - :camera-trans - (new 'static 'vector :x 3247600.8 :y 928464.06 :z -13697606.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.4062 0.0 0.9137 -0.1107 0.9926 0.0492 -0.907 -0.1211 0.4032) + :trans (new 'static 'vector :x 3200864.2 :y 907400.4 :z -13676660.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.5867 :w -0.8097) + :camera-trans (new 'static 'vector :x 3247600.8 :y 928464.06 :z -13697606.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.4062 0.0 0.9137 -0.1107 0.9926 0.0492 -0.907 -0.1211 0.4032) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1511,14 +1268,10 @@ (new 'static 'continue-point :name "snow-across-from-flut" :level 'snow - :trans - (new 'static 'vector :x 2721898.5 :y 1049845.0 :z -13743428.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.7688 :w -0.6394) - :camera-trans - (new 'static 'vector :x 2712702.5 :y 1070288.5 :z -13791593.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9554 0.0 -0.2951 0.0343 0.9932 0.1111 0.2931 -0.1163 0.9489) + :trans (new 'static 'vector :x 2721898.5 :y 1049845.0 :z -13743428.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.7688 :w -0.6394) + :camera-trans (new 'static 'vector :x 2712702.5 :y 1070288.5 :z -13791593.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9554 0.0 -0.2951 0.0343 0.9932 0.1111 0.2931 -0.1163 0.9489) :load-commands '() :vis-nick 'sno :lev0 'snow @@ -1532,8 +1285,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 3072000.0 :y 1142784.0 :z -14028800.0 :w 1290240.0) + :bsphere (new 'static 'sphere :x 3072000.0 :y 1142784.0 :z -14028800.0 :w 1290240.0) :buzzer 65 :bottom-height (meters 128) :run-packages '("common") @@ -1556,18 +1308,13 @@ :mood-func 'update-mood-maincave :ocean #f :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "maincave-start" :level 'maincave - :trans - (new 'static 'vector :x 4420967.0 :y 33006.387 :z -13154230.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0174 :w -0.9998) - :camera-trans - (new 'static 'vector :x 4428164.5 :y 54074.164 :z -13204933.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.99 0.0 0.1405 -0.0169 0.9927 0.1192 -0.1395 -0.1204 0.9828) + :trans (new 'static 'vector :x 4420967.0 :y 33006.387 :z -13154230.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.0174 :w -0.9998) + :camera-trans (new 'static 'vector :x 4428164.5 :y 54074.164 :z -13204933.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.99 0.0 0.1405 -0.0169 0.9927 0.1192 -0.1395 -0.1204 0.9828) :load-commands '() :vis-nick 'mai :lev0 'maincave @@ -1578,14 +1325,10 @@ (new 'static 'continue-point :name "maincave-to-darkcave" :level 'maincave - :trans - (new 'static 'vector :x 4172175.8 :y 154223.83 :z -12445165.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.2093 :w 0.9778) - :camera-trans - (new 'static 'vector :x 4193893.2 :y 175317.81 :z -12491520.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9052 0.0 0.4248 -0.0514 0.9926 0.1096 -0.4217 -0.1211 0.8986) + :trans (new 'static 'vector :x 4172175.8 :y 154223.83 :z -12445165.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.2093 :w 0.9778) + :camera-trans (new 'static 'vector :x 4193893.2 :y 175317.81 :z -12491520.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9052 0.0 0.4248 -0.0514 0.9926 0.1096 -0.4217 -0.1211 0.8986) :load-commands '() :vis-nick 'mai :lev0 'maincave @@ -1596,14 +1339,10 @@ (new 'static 'continue-point :name "maincave-to-robocave" :level 'maincave - :trans - (new 'static 'vector :x 4760896.5 :y 44221.234 :z -12409880.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.548 :w 0.8364) - :camera-trans - (new 'static 'vector :x 4745230.0 :y 57869.926 :z -12426885.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.7343 0.0 -0.6788 0.1872 0.9611 0.2026 0.6524 -0.2759 0.7058) + :trans (new 'static 'vector :x 4760896.5 :y 44221.234 :z -12409880.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.548 :w 0.8364) + :camera-trans (new 'static 'vector :x 4745230.0 :y 57869.926 :z -12426885.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7343 0.0 -0.6788 0.1872 0.9611 0.2026 0.6524 -0.2759 0.7058) :load-commands '() :vis-nick 'mai :lev0 'maincave @@ -1617,8 +1356,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 4517888.0 :y 114688.0 :z -12484608.0 :w 655360.0) + :bsphere (new 'static 'sphere :x 4517888.0 :y 114688.0 :z -12484608.0 :w 655360.0) :buzzer 85 :bottom-height (meters -60) :run-packages '("common") @@ -1641,18 +1379,13 @@ :mood-func 'update-mood-darkcave :ocean #f :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "darkcave-start" :level 'darkcave - :trans - (new 'static 'vector :x 3813246.2 :y 129487.664 :z -12114304.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.1439 :w 0.9895) - :camera-trans - (new 'static 'vector :x 3793301.0 :y 145573.48 :z -12139847.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.7892 0.0 -0.614 0.1178 0.9813 0.1515 0.6026 -0.1919 0.7745) + :trans (new 'static 'vector :x 3813246.2 :y 129487.664 :z -12114304.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.1439 :w 0.9895) + :camera-trans (new 'static 'vector :x 3793301.0 :y 145573.48 :z -12139847.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7892 0.0 -0.614 0.1178 0.9813 0.1515 0.6026 -0.1919 0.7745) :load-commands '() :vis-nick 'dar :lev0 'maincave @@ -1666,8 +1399,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 3620864.0 :y 266240.0 :z -11935744.0 :w 368640.0) + :bsphere (new 'static 'sphere :x 3620864.0 :y 266240.0 :z -11935744.0 :w 368640.0) :buzzer 85 :bottom-height (meters -60) :run-packages '("common" "maincave") @@ -1690,18 +1422,13 @@ :mood-func 'update-mood-robocave :ocean #f :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "robocave-start" :level 'robocave - :trans - (new 'static 'vector :x 5208223.5 :y 69697.945 :z -11781496.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.3654 :w -0.9308) - :camera-trans - (new 'static 'vector :x 5171715.0 :y 90796.85 :z -11817413.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.7006 0.0 -0.7134 0.0864 0.9926 0.0849 0.7082 -0.1212 0.6954) + :trans (new 'static 'vector :x 5208223.5 :y 69697.945 :z -11781496.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.3654 :w -0.9308) + :camera-trans (new 'static 'vector :x 5171715.0 :y 90796.85 :z -11817413.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7006 0.0 -0.7134 0.0864 0.9926 0.0849 0.7082 -0.1212 0.6954) :load-commands '() :vis-nick 'rob :lev0 'maincave @@ -1712,14 +1439,10 @@ (new 'static 'continue-point :name "robocave-bottom" :level 'robocave - :trans - (new 'static 'vector :x 5435461.5 :y -97111.24 :z -11588379.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.1086 :w 0.994) - :camera-trans - (new 'static 'vector :x 5409966.5 :y -76017.664 :z -11632764.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.8662 0.0 -0.4996 0.0605 0.9926 0.105 0.4959 -0.1212 0.8598) + :trans (new 'static 'vector :x 5435461.5 :y -97111.24 :z -11588379.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.1086 :w 0.994) + :camera-trans (new 'static 'vector :x 5409966.5 :y -76017.664 :z -11632764.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.8662 0.0 -0.4996 0.0605 0.9926 0.105 0.4959 -0.1212 0.8598) :load-commands '() :vis-nick 'rob :lev0 'maincave @@ -1733,8 +1456,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 5529600.0 :y 81920.0 :z -11468800.0 :w 512000.0) + :bsphere (new 'static 'sphere :x 5529600.0 :y 81920.0 :z -11468800.0 :w 512000.0) :buzzer 85 :bottom-height (meters -60) :run-packages '("common" "maincave") @@ -1757,18 +1479,13 @@ :mood-func 'update-mood-lavatube :ocean #f :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "lavatube-start" :level 'lavatube - :trans - (new 'static 'vector :x 5511317.0 :y 159871.8 :z -14621239.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.3753 :w -0.9268) - :camera-trans - (new 'static 'vector :x 5510636.5 :y 197720.06 :z -14663128.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9992 0.0 -0.0386 0.0178 0.8875 0.4603 0.0343 -0.4606 0.8868) + :trans (new 'static 'vector :x 5511317.0 :y 159871.8 :z -14621239.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.3753 :w -0.9268) + :camera-trans (new 'static 'vector :x 5510636.5 :y 197720.06 :z -14663128.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9992 0.0 -0.0386 0.0178 0.8875 0.4603 0.0343 -0.4606 0.8868) :load-commands '() :vis-nick 'lav :lev0 'lavatube @@ -1779,14 +1496,10 @@ (new 'static 'continue-point :name "lavatube-middle" :level 'lavatube - :trans - (new 'static 'vector :x 9081441.0 :y -3935.8464 :z -14056285.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.7002 :w -0.7139) - :camera-trans - (new 'static 'vector :x 9055362.0 :y 10606.592 :z -14050822.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.205 0.0 -0.9787 0.2321 0.9714 -0.0486 0.9508 -0.2371 -0.1991) + :trans (new 'static 'vector :x 9081441.0 :y -3935.8464 :z -14056285.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.7002 :w -0.7139) + :camera-trans (new 'static 'vector :x 9055362.0 :y 10606.592 :z -14050822.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.205 0.0 -0.9787 0.2321 0.9714 -0.0486 0.9508 -0.2371 -0.1991) :load-commands '() :vis-nick 'lav :lev0 'lavatube @@ -1797,14 +1510,10 @@ (new 'static 'continue-point :name "lavatube-after-ribbon" :level 'lavatube - :trans - (new 'static 'vector :x 9954895.0 :y 390513.06 :z -16548614.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.7485 :w -0.663) - :camera-trans - (new 'static 'vector :x 9923721.0 :y 406466.16 :z -16541633.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.2191 0.0 -0.9756 0.1906 0.9807 -0.0428 0.9568 -0.1953 -0.2149) + :trans (new 'static 'vector :x 9954895.0 :y 390513.06 :z -16548614.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.7485 :w -0.663) + :camera-trans (new 'static 'vector :x 9923721.0 :y 406466.16 :z -16541633.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.2191 0.0 -0.9756 0.1906 0.9807 -0.0428 0.9568 -0.1953 -0.2149) :load-commands '() :vis-nick 'lav :lev0 'lavatube @@ -1815,14 +1524,10 @@ (new 'static 'continue-point :name "lavatube-end" :level 'lavatube - :trans - (new 'static 'vector :x 11479892.0 :y -163656.5 :z -18266490.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9589 :w -0.2836) - :camera-trans - (new 'static 'vector :x 11526721.0 :y -143482.47 :z -18257412.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.3027 0.0 0.953 -0.1235 0.9915 -0.0392 -0.945 -0.1296 -0.3001) + :trans (new 'static 'vector :x 11479892.0 :y -163656.5 :z -18266490.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.9589 :w -0.2836) + :camera-trans (new 'static 'vector :x 11526721.0 :y -143482.47 :z -18257412.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.3027 0.0 0.953 -0.1235 0.9915 -0.0392 -0.945 -0.1296 -0.3001) :load-commands '() :vis-nick 'lav :lev0 'lavatube @@ -1836,8 +1541,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 8806400.0 :y 131072.0 :z -15564800.0 :w 3174400.0) + :bsphere (new 'static 'sphere :x 8806400.0 :y 131072.0 :z -15564800.0 :w 3174400.0) :buzzer 90 :bottom-height (meters -70) :run-packages '("common") @@ -1860,18 +1564,13 @@ :mood-func 'update-mood-citadel :ocean #f :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "citadel-start" :level 'citadel - :trans - (new 'static 'vector :x 11442706.0 :y -142755.84 :z -18869044.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9992 :w 0.0392) - :camera-trans - (new 'static 'vector :x 11441183.0 :y -122509.31 :z -18820882.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9991 0.0 -0.0411 0.005 0.9925 -0.122 0.0408 -0.1221 -0.9916) + :trans (new 'static 'vector :x 11442706.0 :y -142755.84 :z -18869044.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.9992 :w 0.0392) + :camera-trans (new 'static 'vector :x 11441183.0 :y -122509.31 :z -18820882.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9991 0.0 -0.0411 0.005 0.9925 -0.122 0.0408 -0.1221 -0.9916) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -1882,14 +1581,10 @@ (new 'static 'continue-point :name "citadel-entrance" :level 'citadel - :trans - (new 'static 'vector :x 11443969.0 :y -154216.03 :z -18472782.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9728 :w 0.2314) - :camera-trans - (new 'static 'vector :x 11436929.0 :y -134244.36 :z -18426254.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9898 0.0 -0.1424 0.0173 0.9925 -0.1207 0.1413 -0.1219 -0.9824) + :trans (new 'static 'vector :x 11443969.0 :y -154216.03 :z -18472782.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.9728 :w 0.2314) + :camera-trans (new 'static 'vector :x 11436929.0 :y -134244.36 :z -18426254.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9898 0.0 -0.1424 0.0173 0.9925 -0.1207 0.1413 -0.1219 -0.9824) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -1901,14 +1596,10 @@ :name "citadel-warp" :level 'citadel :flags (continue-flags warp) - :trans - (new 'static 'vector :x 11454895.0 :y -161791.6 :z -18204690.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.7511 :w 0.6601) - :camera-trans - (new 'static 'vector :x 11406872.0 :y -141278.0 :z -18194638.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.1989 0.0 -0.98 0.1179 0.9927 -0.0239 0.9728 -0.1203 -0.1974) + :trans (new 'static 'vector :x 11454895.0 :y -161791.6 :z -18204690.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.7511 :w 0.6601) + :camera-trans (new 'static 'vector :x 11406872.0 :y -141278.0 :z -18194638.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.1989 0.0 -0.98 0.1179 0.9927 -0.0239 0.9728 -0.1203 -0.1974) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -1919,14 +1610,10 @@ (new 'static 'continue-point :name "citadel-launch-start" :level 'citadel - :trans - (new 'static 'vector :x 10827551.0 :y -94047.02 :z -18946718.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.8377 :w -0.546) - :camera-trans - (new 'static 'vector :x 10862150.0 :y -75343.875 :z -18922316.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.5766 0.0 0.8169 -0.1125 0.9904 -0.0794 -0.8091 -0.1378 -0.5711) + :trans (new 'static 'vector :x 10827551.0 :y -94047.02 :z -18946718.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.8377 :w -0.546) + :camera-trans (new 'static 'vector :x 10862150.0 :y -75343.875 :z -18922316.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.5766 0.0 0.8169 -0.1125 0.9904 -0.0794 -0.8091 -0.1378 -0.5711) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -1937,14 +1624,10 @@ (new 'static 'continue-point :name "citadel-launch-end" :level 'citadel - :trans - (new 'static 'vector :x 11047507.0 :y -81514.086 :z -19495960.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0292 :w 0.9995) - :camera-trans - (new 'static 'vector :x 11033498.0 :y -63027.2 :z -19534916.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9413 0.0 -0.3373 0.0481 0.9897 0.1343 0.3339 -0.1427 0.9317) + :trans (new 'static 'vector :x 11047507.0 :y -81514.086 :z -19495960.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.0292 :w 0.9995) + :camera-trans (new 'static 'vector :x 11033498.0 :y -63027.2 :z -19534916.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9413 0.0 -0.3373 0.0481 0.9897 0.1343 0.3339 -0.1427 0.9317) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -1955,14 +1638,10 @@ (new 'static 'continue-point :name "citadel-plat-start" :level 'citadel - :trans - (new 'static 'vector :x 11443470.0 :y -120194.664 :z -19845628.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9907 :w -0.1355) - :camera-trans - (new 'static 'vector :x 11443545.0 :y -99100.266 :z -19794374.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9999 0.0 0.0016 -0.0001 0.9926 -0.1207 -0.0015 -0.1207 -0.9926) + :trans (new 'static 'vector :x 11443470.0 :y -120194.664 :z -19845628.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.9907 :w -0.1355) + :camera-trans (new 'static 'vector :x 11443545.0 :y -99100.266 :z -19794374.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9999 0.0 0.0016 -0.0001 0.9926 -0.1207 -0.0015 -0.1207 -0.9926) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -1973,14 +1652,10 @@ (new 'static 'continue-point :name "citadel-plat-end" :level 'citadel - :trans - (new 'static 'vector :x 11269726.0 :y -12132.352 :z -19614712.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.0419 :w 0.9991) - :camera-trans - (new 'static 'vector :x 11264449.0 :y 7920.8447 :z -19661710.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.9938 0.0 -0.1103 0.0134 0.9924 0.1215 0.1095 -0.1223 0.9864) + :trans (new 'static 'vector :x 11269726.0 :y -12132.352 :z -19614712.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.0419 :w 0.9991) + :camera-trans (new 'static 'vector :x 11264449.0 :y 7920.8447 :z -19661710.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9938 0.0 -0.1103 0.0134 0.9924 0.1215 0.1095 -0.1223 0.9864) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -1991,14 +1666,10 @@ (new 'static 'continue-point :name "citadel-generator-start" :level 'citadel - :trans - (new 'static 'vector :x 12138031.0 :y -36900.863 :z -18933304.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.7487 :w 0.6628) - :camera-trans - (new 'static 'vector :x 12101831.0 :y -19811.123 :z -18933632.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.0093 0.0 -0.9999 0.1678 0.9858 0.0015 0.9857 -0.1678 0.0092) + :trans (new 'static 'vector :x 12138031.0 :y -36900.863 :z -18933304.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.7487 :w 0.6628) + :camera-trans (new 'static 'vector :x 12101831.0 :y -19811.123 :z -18933632.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.0093 0.0 -0.9999 0.1678 0.9858 0.0015 0.9857 -0.1678 0.0092) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -2009,14 +1680,10 @@ (new 'static 'continue-point :name "citadel-generator-end" :level 'citadel - :trans - (new 'static 'vector :x 11837483.0 :y -20177.715 :z -19506848.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.3564 :w 0.9342) - :camera-trans - (new 'static 'vector :x 11872697.0 :y 887.6032 :z -19544198.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.7296 0.0 0.6838 -0.0851 0.9922 0.0908 -0.6785 -0.1245 0.7239) + :trans (new 'static 'vector :x 11837483.0 :y -20177.715 :z -19506848.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.3564 :w 0.9342) + :camera-trans (new 'static 'vector :x 11872697.0 :y 887.6032 :z -19544198.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7296 0.0 0.6838 -0.0851 0.9922 0.0908 -0.6785 -0.1245 0.7239) :load-commands '() :vis-nick #f :lev0 'citadel @@ -2027,14 +1694,10 @@ (new 'static 'continue-point :name "citadel-elevator" :level 'citadel - :trans - (new 'static 'vector :x 11447961.0 :y 234055.27 :z -19169000.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.2351 :w 0.9719) - :camera-trans - (new 'static 'vector :x 11454465.0 :y 252947.66 :z -19126656.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.9932 0.0 0.1161 -0.017 0.9892 -0.1454 -0.1148 -0.1464 -0.9825) + :trans (new 'static 'vector :x 11447961.0 :y 234055.27 :z -19169000.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.2351 :w 0.9719) + :camera-trans (new 'static 'vector :x 11454465.0 :y 252947.66 :z -19126656.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9932 0.0 0.1161 -0.017 0.9892 -0.1454 -0.1148 -0.1464 -0.9825) :load-commands '() :vis-nick 'cit :lev0 'citadel @@ -2048,8 +1711,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 11436032.0 :y -462848.0 :z -19750912.0 :w 1228800.0) + :bsphere (new 'static 'sphere :x 11436032.0 :y -462848.0 :z -19750912.0 :w 1228800.0) :buzzer 91 :bottom-height (meters -114) :run-packages '("common") @@ -2073,20 +1735,14 @@ :ocean #f :sky #t :sun-fade 1.0 - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "finalboss-start" :level 'finalboss - :trans - (new 'static 'vector :x 11548456.0 :y 2215872.0 :z -19409498.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.7325 :w 0.6807) - :camera-trans - (new 'static 'vector :x 11513311.0 :y 2234999.5 :z -19435708.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.5883 0.0 -0.8085 0.1074 0.9911 0.0781 0.8014 -0.1328 0.5831) - :load-commands - '((special "citb-exit-plat-4" #t)) + :trans (new 'static 'vector :x 11548456.0 :y 2215872.0 :z -19409498.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.7325 :w 0.6807) + :camera-trans (new 'static 'vector :x 11513311.0 :y 2234999.5 :z -19435708.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.5883 0.0 -0.8085 0.1074 0.9911 0.0781 0.8014 -0.1328 0.5831) + :load-commands '((special "citb-exit-plat-4" #t)) :vis-nick 'fin :lev0 'finalboss :disp0 'display @@ -2096,16 +1752,11 @@ (new 'static 'continue-point :name "finalboss-fight" :level 'finalboss - :trans - (new 'static 'vector :x 12288335.0 :y 1970461.9 :z -19848522.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.5359 :w -0.8442) - :camera-trans - (new 'static 'vector :x 12265366.0 :y 1984228.5 :z -19842574.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.243 0.0 -0.97 0.2594 0.9635 -0.065 0.9346 -0.2675 -0.2341) - :load-commands - '((special "citb-exit-plat-4" #t)) + :trans (new 'static 'vector :x 12288335.0 :y 1970461.9 :z -19848522.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.5359 :w -0.8442) + :camera-trans (new 'static 'vector :x 12265366.0 :y 1984228.5 :z -19842574.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.243 0.0 -0.97 0.2594 0.9635 -0.065 0.9346 -0.2675 -0.2341) + :load-commands '((special "citb-exit-plat-4" #t)) :vis-nick 'fin :lev0 'finalboss :disp0 'display @@ -2118,8 +1769,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 11837440.0 :y 2129920.0 :z -19578880.0 :w 778240.0) + :bsphere (new 'static 'sphere :x 11837440.0 :y 2129920.0 :z -19578880.0 :w 778240.0) :buzzer 91 :bottom-height (meters -114) :run-packages '("common") @@ -2169,18 +1819,14 @@ :mood-func 'update-mood-default :ocean #f :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "demo-start" :level 'demo :flags (continue-flags demo) - :trans - (new 'static 'vector :x 66396.16 :y 29782.016 :z -919973.5 :w 1.0) + :trans (new 'static 'vector :x 66396.16 :y 29782.016 :z -919973.5 :w 1.0) :quat (new 'static 'quaternion :w 1.0) - :camera-trans - (new 'static 'vector :x 76871.68 :y 55061.707 :z -938752.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.8743 0.0 0.4852 -0.2117 0.8997 0.3816 -0.4365 -0.4364 0.7866) + :camera-trans (new 'static 'vector :x 76871.68 :y 55061.707 :z -938752.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.8743 0.0 0.4852 -0.2117 0.8997 0.3816 -0.4365 -0.4364 0.7866) :load-commands '() :vis-nick 'dem :lev0 'demo @@ -2216,19 +1862,14 @@ :mood-func 'update-mood-village1 :ocean #f :sky #f - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "title-start" :level 'title :flags (continue-flags title) - :trans - (new 'static 'vector :x -635598.9 :y 222551.66 :z 710496.25 :w 1.0) - :quat - (new 'static 'quaternion :y -0.3323 :w -0.9431) - :camera-trans - (new 'static 'vector :x -665644.25 :y 250803.0 :z 668470.9 :w 1.0) - :camera-rot - (new 'static 'array float 9 0.8129 0.0 -0.5823 0.0958 0.9863 0.1337 0.5744 -0.1645 0.8018) + :trans (new 'static 'vector :x -635598.9 :y 222551.66 :z 710496.25 :w 1.0) + :quat (new 'static 'quaternion :y -0.3323 :w -0.9431) + :camera-trans (new 'static 'vector :x -665644.25 :y 250803.0 :z 668470.9 :w 1.0) + :camera-rot (new 'static 'array float 9 0.8129 0.0 -0.5823 0.0958 0.9863 0.1337 0.5744 -0.1645 0.8018) :load-commands '() :vis-nick 'tit :lev0 'title @@ -2242,8 +1883,7 @@ :load-commands '() :alt-load-commands '() :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x -40960.0 :z 40960.0 :w 1126400.0) + :bsphere (new 'static 'sphere :x -40960.0 :z 40960.0 :w 1126400.0) :bottom-height (meters -10000000) :run-packages '("common") :wait-for-load #f @@ -2266,18 +1906,13 @@ :ocean #f :sky #t :sun-fade 1.0 - :continues - '((new 'static 'continue-point + :continues '((new 'static 'continue-point :name "halfpipe" :level 'halfpipe - :trans - (new 'static 'vector :x -1048.9856 :y -172047.97 :z -212555.78 :w 1.0) - :quat - (new 'static 'quaternion :y 0.061 :w 0.9981) - :camera-trans - (new 'static 'vector :x -9941.401 :y -150049.17 :z -159587.94 :w 1.0) - :camera-rot - (new 'static 'array float 9 -0.979 0.0 -0.2037 0.0545 0.9634 -0.2622 0.1963 -0.2678 -0.9432) + :trans (new 'static 'vector :x -1048.9856 :y -172047.97 :z -212555.78 :w 1.0) + :quat (new 'static 'quaternion :y 0.061 :w 0.9981) + :camera-trans (new 'static 'vector :x -9941.401 :y -150049.17 :z -159587.94 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.979 0.0 -0.2037 0.0545 0.9634 -0.2622 0.1963 -0.2678 -0.9432) :load-commands '() :vis-nick #f :lev0 'halfpipe diff --git a/test/decompiler/reference/engine/level/load-boundary-data_REF.gc b/test/decompiler/reference/engine/level/load-boundary-data_REF.gc index 830ef602ed..15dbf8f941 100644 --- a/test/decompiler/reference/engine/level/load-boundary-data_REF.gc +++ b/test/decompiler/reference/engine/level/load-boundary-data_REF.gc @@ -8,3476 +8,1710 @@ (define *load-boundary-list* (the-as load-boundary #f)) ;; definition for symbol *static-load-boundary-list*, type (array array) -(define *static-load-boundary-list* (new - 'static - 'boxed-array - :type array :length 168 :allocated-length 168 - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 2404087.0 - 1792990.9 - 11801113.0 - -19782276.0 - 12074740.0 - -19333410.0 - ) - '(6 "finalboss-fight" #f) - '(6 "finalboss-start" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 980265.2 - 890780.8 - 3118024.0 - -13706895.0 - 3079293.0 - -13672758.0 - ) - '(0 #f #f) - '(6 "snow-outside-cave" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 1050557.6 - 904951.44 - 3464265.8 - -13649148.0 - 3491810.2 - -13487760.0 - ) - '(0 #f #f) - '(6 "snow-outside-fort" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 1161083.5 - 1033513.1 - 3172378.2 - -14293381.0 - 3169853.0 - -14196348.0 - ) - '(0 #f #f) - '(6 "snow-by-ice-lake" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 155912.27 - -524288.0 - -302473.8 - -358921.62 - -189703.34 - -88103.32 - -213883.9 - -45797.734 - -569183.0 - -33546.773 - ) - '(3 beach display) - '(3 beach display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 164302.47 - -304623.5 - 11519060.0 - -18551140.0 - 11449090.0 - -18346224.0 - 11380415.0 - -18514332.0 - ) - '(6 "citadel-entrance" #f) - '(6 "citadel-entrance" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 272053.7 - -655558.1 - 4808600.0 - -12651164.0 - 4530877.0 - -12508498.0 - ) - '(6 "maincave-to-robocave" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 171371.14 - -524288.0 - -676129.1 - -6924696.0 - -680121.3 - -6757647.5 - ) - '(3 village2 display) - '(3 village2 special-vis) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 36361.89 - -36137.29 - 12126351.0 - -19001848.0 - 12122353.0 - -18877466.0 - ) - '(6 "citadel-generator-start" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -198.1726 - -146531.1 - 11416193.0 - -19794980.0 - 11485550.0 - -19797886.0 - ) - '(6 "citadel-plat-start" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 39044.12 - -141510.19 - 10894763.0 - -18893140.0 - 10898940.0 - -18972940.0 - ) - '(6 "citadel-launch-start" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 376514.56 - -524288.0 - 418480.47 - -2126829.2 - 768319.25 - -2135490.8 - ) - '(3 village1 #f) - '(3 village1 display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 326689.0 - -524288.0 - 143748.83 - -3601507.8 - 179947.44 - -3912510.8 - ) - '(0 #f #f) - '(1 firecanyon village1) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 524288.0 - 265248.94 - 10092448.0 - -16790240.0 - 10078353.0 - -16477023.0 - ) - '(6 "lavatube-after-ribbon" #f) - '(6 "lavatube-after-ribbon" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 104778.336 - -257783.72 - 11326069.0 - -18525588.0 - 11278355.0 - -18072140.0 - ) - '(6 "lavatube-end" #f) - '(6 "lavatube-end" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 290551.75 - -524288.0 - 4047454.5 - -14186495.0 - 3804332.0 - -13805874.0 - ) - '(6 "ogre-end" #f) - '(6 "ogre-end" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 275555.12 - -524288.0 - 927462.1 - -7305133.0 - 763242.75 - -7308856.5 - ) - '(3 village2 display) - '(3 village2 special-vis) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - -28209.512 - -524288.0 - 4869388.0 - -12242570.0 - 4850643.0 - -12138500.0 - 4982147.0 - -12130348.0 - 5004734.0 - -12257655.0 - ) - '(3 maincave #f) - '(3 maincave display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 28870.227 - -524288.0 - 4869388.0 - -12242570.0 - 4850643.0 - -12138500.0 - 4982147.0 - -12130348.0 - 5004734.0 - -12257655.0 - ) - '(0 #f #f) - '(4 mai #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - -35278.418 - -524288.0 - 4869388.0 - -12242570.0 - 4850643.0 - -12138500.0 - 4982147.0 - -12130348.0 - 5004734.0 - -12257655.0 - ) - '(4 rob #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - -6276.127 - -424794.84 - 10794323.0 - -19184136.0 - 11542925.0 - -19117040.0 - 11854880.0 - -18949898.0 - ) - '(0 #f #f) - '(1 citadel lavatube) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 104778.336 - -424794.84 - 11251180.0 - -18687074.0 - 11606826.0 - -18673318.0 - ) - '(3 lavatube #f) - '(3 lavatube display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 275554.94 - 103589.16 - 769670.25 - -8183583.5 - 945858.75 - -8171829.5 - ) - '(6 "ogre-race" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 145672.28 - -274960.53 - 9277345.0 - -14277290.0 - 9266303.0 - -13929350.0 - ) - '(0 #f #f) - '(1 village3 lavatube) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 361505.03 - 141642.4 - 5280860.0 - -14529410.0 - 5363850.0 - -14811145.0 - ) - '(0 #f #f) - '(4 lav #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 361505.03 - 141642.4 - 5145395.0 - -14585060.0 - 4969281.0 - -14637079.0 - ) - '(3 lavatube #f) - '(3 lavatube display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 329926.2 - 114555.875 - 4630288.0 - -14662835.0 - 4776346.0 - -14281154.0 - 5078574.5 - -14217605.0 - ) - '(1 village3 lavatube) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 107354.85 - -647564.3 - -279364.62 - 131636.45 - -270673.44 - 160221.88 - ) - '(3 beach #f) - '(3 beach display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 404182.75 - -524288.0 - 4167032.0 - -13159265.0 - 4419089.0 - -12857725.0 - 4712033.0 - -13110535.0 - ) - '(3 village3 display) - '(3 village3 #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 561218.0 - -22197.672 - 5192028.0 - -12126635.0 - 4954258.5 - -11802688.0 - ) - '(4 rob #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 561218.0 - -15459.172 - 5076681.0 - -12251444.0 - 4974694.0 - -12024020.0 - ) - '(0 #f #f) - '(4 mai #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 297752.7 - -524288.0 - 53651.58 - -6363675.5 - 58039.688 - -6204528.0 - ) - '(3 village2 special-vis) - '(3 village2 #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 296695.72 - -524288.0 - -590053.06 - -6197793.0 - 39494.13 - -6504359.5 - ) - '(3 village2 display) - '(3 village2 special-vis) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 334675.1 - 183791.47 - -655431.8 - -7037484.5 - -667642.5 - -6660005.5 - ) - '(3 village2 display) - '(3 village2 special-vis) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 380333.4 - -40101.156 - 1818615.8 - -1094335.5 - 1622619.2 - -978791.7 - ) - '(3 village1 special-vis) - '(3 village1 #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 22 :allocated-length 22 - 401929.88 - -524288.0 - -363218.53 - -2089629.0 - -558766.7 - -1816698.6 - -769622.8 - -2043451.9 - -816882.1 - -2051455.1 - -950145.6 - -2013974.5 - -967790.6 - -1907695.0 - -1064691.2 - -1966847.9 - -1147540.0 - -1944348.2 - -1243268.9 - -2202510.2 - -1249669.5 - -2319393.8 - ) - '(3 village1 display) - '(3 village1 special-vis) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 285200.53 - -524288.0 - 4042240.5 - -12645708.0 - 4297681.5 - -12507810.0 - ) - '(0 #f #f) - '(1 maincave darkcave) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 272053.7 - -655558.1 - 4806917.0 - -12655241.0 - 4529194.0 - -12512575.0 - ) - '(1 maincave robocave) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 350009.84 - -524288.0 - 4421414.0 - -13636154.0 - 4589708.5 - -13556925.0 - ) - '(3 maincave #f) - '(3 maincave display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -1761940.5 - -1946392.4 - 2518956.8 - -7372510.5 - 2450104.8 - -7215005.0 - ) - '(0 #f #f) - '(6 "sunkenb-helix" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 330190.47 - -524288.0 - 4536550.0 - -13960169.0 - 4678894.0 - -14351620.0 - 4428100.5 - -14425283.0 - 4353558.0 - -14051260.0 - ) - '(1 village3 ogre) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 253886.0 - -524288.0 - 4168931.0 - -14104075.0 - 4117809.5 - -13471865.0 - ) - '(4 vi3 #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 290551.75 - -524288.0 - 4130630.2 - -14104385.0 - 3887507.8 - -13723764.0 - ) - '(0 #f #f) - '(4 ogr #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 3) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - -632567.56 - -576346.5 - 2344408.2 - -7388373.0 - 2348460.5 - -7279539.0 - 2466947.8 - -7247920.5 - 2439049.2 - -7385641.0 - ) - '(0 #f #f) - '(4 sun #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -467010.03 - -701076.44 - 3209649.0 - -6960872.0 - 3057429.0 - -6862769.0 - ) - '(6 "sunken1" #f) - '(6 "sunken2" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -512925.12 - -681521.44 - 2371019.5 - -6795812.0 - 2389408.2 - -6532305.5 - ) - '(3 village2 #f) - '(3 village2 display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 110684.67 - -524288.0 - 1839143.8 - -7520194.5 - 1840360.8 - -7670893.0 - 1846512.6 - -7685321.0 - ) - '(6 "swamp-start" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 95661.45 - -524288.0 - 2672740.5 - -8278830.0 - 2639106.8 - -8402343.0 - ) - '(6 "swamp-game" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 112904.26 - -524288.0 - 1486306.8 - -8266304.5 - 1610530.4 - -8198038.0 - ) - '(6 "swamp-cave1" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 164830.97 - -524288.0 - -419912.5 - 3042100.0 - -133547.3 - 3439924.0 - -102430.38 - 3661115.2 - 428069.8 - 3364700.5 - ) - '(6 "misty-start" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 12 :allocated-length 12 - 321007.44 - -524288.0 - -907311.4 - 3456990.5 - -757819.7 - 3679705.0 - -638801.4 - 3763613.2 - -573459.2 - 3651802.5 - -883808.56 - 3444019.2 - ) - '(6 "misty-silo" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - -91155.664 - -524288.0 - 2079358.8 - -6774793.5 - 2079358.8 - -6569993.5 - 2284159.5 - -6569993.5 - 2284159.5 - -6774793.5 - ) - '(0 #f #f) - '(4 vi2 #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - -176048.66 - -524288.0 - 2079358.8 - -6774793.5 - 2079358.8 - -6569993.5 - 2284159.5 - -6569993.5 - 2284159.5 - -6774793.5 - ) - '(4 sun #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 263068.94 - -524288.0 - 1947299.0 - -7277401.0 - 1663485.5 - -7296843.5 - ) - '(4 vi2 #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 240937.31 - -524288.0 - 1655335.4 - -7355865.0 - 1914029.8 - -7344404.5 - ) - '(4 swa #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 192776.28 - -524288.0 - 1720459.0 - -7252616.5 - 1888000.6 - -7230796.5 - ) - '(3 swamp display) - '(3 swamp #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 524288.0 - -524288.0 - 1543607.5 - -7296055.0 - 1536684.1 - -6977798.0 - 1589661.2 - -6897839.0 - 1929451.4 - -7131590.5 - ) - '(1 village2 swamp) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 524288.0 - -524288.0 - 474877.1 - -6501738.5 - 641064.94 - -6682781.0 - 774879.44 - -6780504.5 - ) - '(4 rol #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 524288.0 - -524288.0 - 836810.7 - -6707271.0 - 673225.56 - -6637296.5 - 468429.44 - -6424190.5 - ) - '(4 vi2 #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 388789.16 - -524288.0 - -137499.97 - -464508.47 - -239475.86 - -332696.8 - ) - '(4 vi1 #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 18 :allocated-length 18 - 152569.25 - -524288.0 - -177363.28 - -182574.97 - -107676.53 - -61124.004 - -172878.95 - 81598.42 - -327656.6 - 227590.64 - -406536.56 - 216199.72 - -485581.56 - 261065.92 - -515573.0 - 191171.4 - -1338912.4 - 229231.64 - ) - '(3 beach #f) - '(3 beach display-no-wait) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 272530.25 - -524288.0 - -249675.55 - -391214.2 - -130347.68 - -500937.6 - ) - '(3 firecanyon display) - '(3 firecanyon #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 18 :allocated-length 18 - -87713.6 - -524288.0 - 1090401.8 - -1274678.5 - 1058803.0 - -1235478.5 - 1060181.1 - -1193262.0 - 1117220.8 - -1154488.0 - 1164595.1 - -1185104.8 - 1176762.0 - -1210675.4 - 1173468.1 - -1244727.8 - 1125869.1 - -1275753.6 - ) - '(0 #f #f) - '(4 jun #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 301122.1 - -524288.0 - 1525182.5 - 2034822.6 - 842849.06 - -804235.94 - ) - '(4 vi1 #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 325169.56 - -524288.0 - 894672.4 - -779382.3 - 1767576.5 - 1188691.0 - ) - '(4 jun #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 326953.3 - -524288.0 - 81844.7 - -727707.5 - 15797.286 - 118401.266 - 414386.16 - 120639.44 - 1232901.1 - 1021193.6 - ) - '(1 village1 jungle) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 166814.4 - -524288.0 - 401796.53 - -610932.7 - 350019.12 - -489639.75 - 470693.25 - -460100.72 - ) - '(3 jungle display-no-wait) - '(3 jungle #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 3) - (new - 'static - 'boxed-array - :type float :length 18 :allocated-length 18 - 375701.16 - -524288.0 - 1453916.1 - -987016.2 - 1461937.5 - -967184.75 - 1482761.0 - -957298.8 - 1505932.0 - -966185.4 - 1514189.1 - -989654.4 - 1503102.1 - -1010133.7 - 1481864.2 - -1017569.2 - 1464112.8 - -1010652.75 - ) - '(1 jungle jungleb) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 322236.66 - -524288.0 - -140670.9 - -353851.75 - 6646.948 - -375187.7 - -4327.104 - -433914.72 - ) - '(1 village1 firecanyon) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 12 :allocated-length 12 - 168425.08 - -524288.0 - -201897.2 - -213989.42 - -71567.484 - -81526.12 - -112773.18 - 78722.41 - -115380.56 - 447390.62 - -241892.22 - 711968.75 - ) - '(0 #f #f) - '(1 village1 beach) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 524288.0 - -524288.0 - 420024.44 - -4814527.0 - 420024.44 - -4609727.0 - ) - '(3 village2 display) - '(3 village2 #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 388393.3 - -524288.0 - -261189.34 - -3825337.5 - -50913.258 - -4000428.0 - ) - '(1 village2 firecanyon) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 388789.16 - -524288.0 - -269444.6 - -496662.28 - -126883.84 - -507940.1 - ) - '(4 fic #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 332899.12 - -524288.0 - -1124255.8 - -298838.28 - -351702.84 - -248529.5 - ) - '(4 bea #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 332899.12 - -524288.0 - -1208873.8 - -81858.37 - -319884.62 - -196373.8 - ) - '(0 #f #f) - '(4 vi1 #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 335013.2 - -524288.0 - 1300341.5 - -6072380.5 - 1543875.5 - -6043701.0 - ) - '(4 vi2 #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 370820.16 - -524288.0 - 1400421.9 - -5994967.5 - 1298001.9 - -5991312.0 - ) - '(4 fic #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 14 :allocated-length 14 - 313079.75 - -524288.0 - 823858.3 - -7076852.5 - 1476263.1 - -6966768.0 - 1548741.4 - -6505285.5 - 1380369.1 - -6357914.0 - 1125477.6 - -6285041.0 - 1188517.2 - -6036264.5 - ) - '(0 #f #f) - '(1 village2 rolling) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 12 :allocated-length 12 - 233141.69 - -524288.0 - 742218.2 - -6802828.0 - 1334365.1 - -6818752.0 - 1357111.0 - -6436508.0 - 1047644.1 - -6334948.5 - 643162.44 - -6208203.0 - ) - '(3 rolling #f) - '(3 rolling display-no-wait) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 431070.97 - -524288.0 - 974018.4 - -7117512.5 - 1070822.5 - -7081258.0 - 1526121.6 - -7123133.0 - 1541163.8 - -7418157.0 - ) - '(1 village2 ogre) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 396387.06 - 57211.875 - 1213439.8 - -7288315.5 - 1227811.9 - -7079770.5 - 912550.5 - -7099027.5 - ) - '(3 ogre #f) - '(3 ogre display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 336796.9 - -524288.0 - 825355.2 - -7235151.5 - 920252.2 - -7300986.5 - ) - '(4 ogr #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 292930.06 - -524288.0 - 998340.94 - -7272782.5 - 934710.06 - -7195729.5 - ) - '(4 vi2 #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 524288.0 - -168464.31 - 1927868.4 - -7085362.5 - 1605545.0 - -6870818.5 - 1615227.8 - -6471577.5 - 2177376.0 - -6131660.5 - ) - '(1 village2 sunken) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 360646.25 - -187424.25 - 2042524.0 - -7300480.5 - 1824194.5 - -6847887.0 - 1852328.8 - -6568462.5 - 2270167.8 - -6228972.5 - ) - '(3 sunken special) - '(3 sunken #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 3) - (new - 'static - 'boxed-array - :type float :length 18 :allocated-length 18 - 126432.83 - -524288.0 - 1453916.1 - -987016.2 - 1461937.5 - -967184.75 - 1482761.0 - -957298.8 - 1505932.0 - -966185.4 - 1514189.1 - -989654.4 - 1503102.1 - -1010133.7 - 1481864.2 - -1017569.2 - 1464112.8 - -1010652.75 - ) - '(3 jungleb display) - '(3 jungleb #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 3) - (new - 'static - 'boxed-array - :type float :length 18 :allocated-length 18 - 74968.55 - -616976.44 - 1453916.1 - -987016.2 - 1461937.5 - -967184.75 - 1482761.0 - -957298.8 - 1505932.0 - -966185.4 - 1514189.1 - -989654.4 - 1503102.1 - -1010133.7 - 1481864.2 - -1017569.2 - 1464112.8 - -1010652.75 - ) - '(4 jub #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 137771.25 - -524288.0 - 404573.2 - 4098422.0 - 236215.77 - 4114074.5 - ) - '(6 "misty-bike" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 145077.7 - -524288.0 - -376094.4 - 4543663.0 - -376094.4 - 4748463.0 - ) - '(6 "misty-backside" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 255537.56 - -524288.0 - -1005929.1 - 4193984.0 - -872937.2 - 4300299.0 - -756972.8 - 4208626.0 - -1025873.2 - 4087144.5 - ) - '(6 "misty-silo2" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 99096.8 - -524288.0 - 1975605.4 - -8630552.0 - 1975421.4 - -8528661.0 - ) - '(6 "swamp-cave2" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 141113.8 - -524288.0 - 1980493.5 - -7897138.0 - 2047652.4 - -7873304.0 - 2060152.6 - -7931657.5 - 1993817.2 - -7976457.0 - ) - '(6 "swamp-cave3" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 12 :allocated-length 12 - 262804.7 - -524288.0 - 2140291.2 - -6096639.0 - 1590722.8 - -6463647.0 - 1413458.0 - -6340959.0 - 1149150.8 - -6278411.0 - 1219588.5 - -6039556.5 - ) - '(1 firecanyon village2) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 206253.42 - -524288.0 - 1430296.9 - -5984384.0 - 1438999.2 - -6119296.0 - 1420048.6 - -6125594.0 - ) - '(3 firecanyon display) - '(3 firecanyon #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -432061.9 - -714884.06 - 2715718.5 - -7342267.0 - 2815001.5 - -7150704.5 - ) - '(3 sunkenb display) - '(3 sunkenb #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -899402.06 - -1098784.5 - 2282077.5 - -6677879.5 - 2080828.8 - -6613302.0 - ) - '(4 sun #f) - '(4 sub #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -451749.12 - -610039.7 - 3063970.5 - -6604280.5 - 3000425.2 - -6456572.0 - ) - '(6 "sunken1" #f) - '(6 "sunken-start" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 3) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - -626555.75 - -524288.0 - 2344408.2 - -7388373.0 - 2348460.5 - -7279539.0 - 2466947.8 - -7247920.5 - 2439049.2 - -7385641.0 - ) - '(0 #f #f) - '(6 "sunken2" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 198788.14 - -524288.0 - 2287878.0 - -13944549.0 - 2434369.8 - -13646915.0 - ) - '(3 village3 display) - '(3 village3 #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 355162.84 - -524288.0 - 4346461.0 - -14010600.0 - 4474615.5 - -13949533.0 - ) - '(3 ogre #f) - '(3 ogre display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 331577.72 - -524288.0 - 4510445.5 - -13872985.0 - 4620850.5 - -14134173.0 - 4822450.0 - -13951485.0 - ) - '(0 #f #f) - '(1 village3 maincave) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 333031.2 - -77890.09 - 4321252.0 - -13451169.0 - 4538566.5 - -13427408.0 - ) - '(4 vi3 #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 289560.78 - -524288.0 - 4160078.2 - -13363984.0 - 4657438.0 - -13195000.0 - ) - '(0 #f #f) - '(4 mai #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 561218.0 - -20347.875 - 5015965.5 - -12265124.0 - 4969636.0 - -12062795.0 - ) - '(3 robocave display) - '(3 robocave #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 319289.8 - 97180.91 - 4060842.2 - -12186625.0 - 3956508.8 - -12221835.0 - ) - '(3 darkcave display) - '(3 darkcave #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 390797.47 - -106231.74 - 1625981.8 - -982050.1 - 1826157.5 - -984055.0 - 1963614.9 - -752705.06 - ) - '(3 village1 special-vis) - '(3 village1 display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 442784.28 - -39440.535 - 1899973.9 - -1546112.1 - 1741479.5 - -1291697.1 - 1490514.9 - -1133170.4 - ) - '(3 village1 #f) - '(3 village1 special-vis) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 449040.3 - -98105.81 - 1507840.9 - -1133057.6 - 1611146.1 - -1038699.56 - ) - '(3 village1 #f) - '(3 village1 display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 291779.53 - 185641.23 - -556363.7 - -6215175.0 - -677982.3 - -6112309.0 - -462479.25 - -5758803.0 - ) - '(3 village2 special-vis) - '(3 village2 #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 324244.66 - -524288.0 - -385887.97 - -7048725.0 - -652583.3 - -7045665.0 - ) - '(3 village2 display) - '(3 village2 special-vis) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 330785.0 - -783128.7 - 4214055.0 - -14490533.0 - 4245485.0 - -14027390.0 - 4509959.5 - -14260475.0 - 4466017.5 - -14619070.0 - ) - '(0 #f #f) - '(1 village3 snow) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 897222.0 - -455448.7 - 4214055.0 - -14490533.0 - 4286877.5 - -13964385.0 - 4509959.5 - -14260475.0 - 4466017.5 - -14619070.0 - ) - '(3 snow #f) - '(3 snow display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 401275.84 - -524288.0 - 3809930.2 - -13126660.0 - 4387680.5 - -12726350.0 - 4965741.5 - -12733760.0 - ) - '(1 village3 maincave) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 319289.8 - 97180.91 - 4037056.5 - -12145660.0 - 3932723.0 - -12180870.0 - ) - '(0 #f #f) - '(4 mai #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 319289.8 - 97180.91 - 3967407.0 - -12047450.0 - 3919676.8 - -12152098.0 - ) - '(4 dar #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 12 :allocated-length 12 - 415367.12 - -20612.129 - 1473631.5 - -1157821.2 - 1414393.4 - -1193464.1 - 1354583.2 - -1238710.8 - 1291658.0 - -1325844.0 - 1151230.6 - -1642343.9 - ) - '(3 village1 display) - '(3 village1 special-vis) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 12 :allocated-length 12 - 194295.77 - -524288.0 - 1993232.0 - -7776360.5 - 1646617.0 - -7919841.0 - 1546310.5 - -7956902.0 - 1497602.9 - -8055146.5 - 1350810.2 - -7725342.0 - ) - '(3 village2 display) - '(3 village2 special-vis) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 1275705.8 - 885660.7 - 4210123.5 - -14454620.0 - 4252965.5 - -14048015.0 - ) - '(0 #f #f) - '(4 sno #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 361505.03 - 141642.4 - 5145395.0 - -14585060.0 - 4969281.0 - -14637079.0 - ) - '(3 lavatube #f) - '(3 lavatube display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 361505.03 - 141642.4 - 5192246.0 - -14612985.0 - 4946641.5 - -14744985.0 - ) - '(4 vi3 #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 361505.03 - 141642.4 - 5280860.0 - -14529410.0 - 5363850.0 - -14811145.0 - ) - '(0 #f #f) - '(4 lav #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 320479.0 - -64214.67 - 6465568.5 - -14156115.0 - 6450754.5 - -13712894.0 - ) - '(3 village3 #f) - '(3 village3 display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 389780.5 - 201622.14 - 4218813.0 - -14413355.0 - 4331064.0 - -14524060.0 - ) - '(1 village3 maincave) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 1170068.4 - 988919.7 - 2574083.2 - -13973545.0 - 2427817.5 - -13884534.0 - ) - '(6 "snow-across-from-flut" #f) - '(6 "snow-flut-flut" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 3) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 810280.2 - -196608.0 - 3324084.2 - -13758485.0 - 3324084.2 - -13553685.0 - 3528884.2 - -13553685.0 - 3528884.2 - -13758485.0 - ) - '(0 #f #f) - '(6 "snow-outside-fort" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 303302.1 - -28407.746 - 1482670.0 - -13217540.0 - 1703776.4 - -13157055.0 - ) - '(1 ogre village3) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 104778.336 - -194295.75 - 11067174.0 - -18596720.0 - 11019460.0 - -18143272.0 - ) - '(3 citadel display) - '(3 citadel #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 104778.336 - -194295.75 - 11220495.0 - -18577436.0 - 11172783.0 - -18123988.0 - ) - '(0 #f #f) - '(4 lav #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 104778.336 - -424794.84 - 11261218.0 - -18621614.0 - 11616860.0 - -18607858.0 - ) - '(4 cit #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 532744.06 - 222822.31 - 10045198.0 - -16826564.0 - 10052340.0 - -16500909.0 - ) - '(1 lavatube citadel) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 30786.04 - -568353.0 - 10853810.0 - -19982956.0 - 10857980.0 - -18851744.0 - 11800185.0 - -18657540.0 - 12119948.0 - -19841458.0 - ) - '(0 #f #f) - '(1 citadel finalboss) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - -37128.273 - -568353.0 - 10635460.0 - -19261390.0 - 10641390.0 - -18641098.0 - 11673320.0 - -18631850.0 - 11992955.0 - -19068516.0 - ) - '(1 citadel lavatube) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 739722.7 - -524288.0 - 11253410.0 - -19459740.0 - 11298895.0 - -19163528.0 - 11606400.0 - -19156774.0 - 11646273.0 - -19462514.0 - ) - '(4 cit #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 1552977.4 - -524288.0 - 11253410.0 - -19459740.0 - 11298895.0 - -19163528.0 - 11606400.0 - -19156774.0 - 11646273.0 - -19462514.0 - ) - '(0 #f #f) - '(4 fin #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -432061.9 - -714884.06 - 2624020.8 - -7238923.5 - 2730103.5 - -7108117.5 - ) - '(6 "sunken-tube1" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 237131.75 - 116405.63 - 4134430.0 - -12531289.0 - 4249137.0 - -12480849.0 - ) - '(0 #f #f) - '(6 "maincave-to-darkcave" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 108378.74 - -18630.201 - 1381972.9 - -8272129.5 - 1309181.4 - -8143856.5 - ) - '(6 "swamp-dock1" #f) - '(6 "swamp-start" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 164632.73 - -17573.172 - 1651940.5 - -8481208.0 - 1575238.2 - -8380055.5 - ) - '(6 "swamp-dock2" #f) - '(6 "swamp-cave1" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 321734.22 - 33164.38 - 1472616.8 - -5741056.5 - 1161522.8 - -5738810.0 - ) - '(6 "firecanyon-end" #f) - '(6 "firecanyon-end" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 339769.8 - -46839.75 - -211696.3 - -784710.75 - 49935.15 - -742140.3 - ) - '(6 "firecanyon-start" #f) - '(6 "firecanyon-start" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 482151.97 - 69896.25 - 869008.6 - -8462477.0 - 644078.75 - -8259235.5 - ) - '(6 "ogre-race" #f) - '(6 "ogre-race" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 322923.34 - 4096.0 - 5678575.5 - -14614474.0 - 5457999.0 - -14391688.0 - ) - '(6 "lavatube-start" #f) - '(6 "lavatube-start" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 178704.39 - -135168.0 - 8996384.0 - -14239175.0 - 9096633.0 - -13873403.0 - ) - '(6 "lavatube-middle" #f) - '(6 "lavatube-middle" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 247477.67 - -148711.25 - 5555559.5 - -11770044.0 - 5324678.0 - -11402115.0 - ) - '(6 "robocave-bottom" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -451749.12 - -610039.7 - 3050601.8 - -6609894.0 - 2987056.5 - -6462185.5 - ) - '(1 sunken sunkenb) - '(1 sunken village2) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 66328.8 - -101805.46 - 11021305.0 - -19546492.0 - 10991630.0 - -19494320.0 - ) - '(6 "citadel-launch-end" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 87535.54 - -29596.91 - 11275635.0 - -19680194.0 - 11230883.0 - -19653924.0 - ) - '(6 "citadel-plat-end" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 60515.062 - -64214.72 - 11902198.0 - -19492924.0 - 11856455.0 - -19580640.0 - ) - '(6 "citadel-generator-end" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 1064497.0 - 893654.6 - 3369717.2 - -13470538.0 - 3489005.0 - -13470209.0 - ) - '(6 "snow-outside-fort" #f) - '(6 "snow-fort" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 276440.2 - -524288.0 - -1054117.4 - -7015874.0 - -1180891.2 - -6733353.5 - -911788.4 - -6482925.0 - ) - '(3 village2 special-vis) - '(3 village2 #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 263663.44 - 1585.5251 - -677970.94 - -6693857.0 - -802274.3 - -6692809.0 - ) - '(3 village2 #f) - '(3 village2 special-vis) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 363883.3 - -524288.0 - 710516.0 - -605717.3 - 777812.4 - -117024.52 - ) - '(3 jungle display) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 524288.0 - -524288.0 - 719872.1 - -6597869.0 - 1159159.1 - -6425164.5 - 1041836.25 - -6827792.0 - ) - '(3 rolling display) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 524288.0 - -524288.0 - 568817.3 - -9466220.0 - 1127492.5 - -9043683.0 - ) - '(0 #f #f) - '(1 ogre village2) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 12 :allocated-length 12 - 408146.53 - -227129.81 - 5624547.0 - -11755375.0 - 5604783.5 - -11539414.0 - 5326020.0 - -11550233.0 - 5180106.5 - -11499346.0 - 5148654.0 - -11322573.0 - ) - '(3 maincave special) - '(3 maincave display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 294119.2 - 213916.9 - 11495250.0 - -19186980.0 - 11398090.0 - -19190674.0 - ) - '(3 finalboss #f) - '(3 finalboss display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 1470264.6 - -524288.0 - 11253410.0 - -19459740.0 - 11298895.0 - -19163528.0 - 11606400.0 - -19156774.0 - 11646273.0 - -19462514.0 - ) - '(3 citadel display) - '(3 citadel special) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 104778.336 - -424794.84 - 11249043.0 - -18841486.0 - 11604685.0 - -18827730.0 - ) - '(6 "citadel-start" #f) - '(6 "citadel-start" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 1094292.4 - 858838.25 - 3677046.8 - -13838594.0 - 3773559.8 - -13867715.0 - 3837479.8 - -13675041.0 - 3663758.2 - -13804749.0 - ) - '(0 #f #f) - '(6 "snow-pass-to-fort" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 1220937.6 - 1035428.9 - 2930553.2 - -14107145.0 - 3128871.8 - -14038774.0 - ) - '(6 "snow-by-ice-lake-alt" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 1051944.6 - 888765.56 - 3366128.0 - -13638805.0 - 3362401.8 - -13489235.0 - ) - '(6 "snow-outside-fort" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 524288.0 - -524288.0 - 1123579.9 - -6421303.0 - 1006257.0 - -6823930.5 - ) - '(6 "village2-start" #f) - '(6 "village2-dock" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 742498.56 - -727105.9 - 4214055.0 - -14490533.0 - 4286877.5 - -13964385.0 - 4509959.5 - -14260475.0 - 4466017.5 - -14619070.0 - ) - '(4 vi3 #f) - '(3 snow display) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 318034.56 - 119907.06 - 4952800.5 - -14636175.0 - 5113453.5 - -14560723.0 - ) - '(0 #f #f) - '(6 "village3-farside" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 383504.6 - 120699.85 - 4445610.0 - -14468618.0 - 4343087.0 - -14334280.0 - ) - '(0 #f #f) - '(6 "village3-farside" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 302707.6 - 144615.2 - 4420238.5 - -13645623.0 - 4595041.0 - -13553850.0 - ) - '(6 "village3-farside" #f) - '(0 #f #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 335938.0 - 140849.53 - 4397294.5 - -14125599.0 - 4545135.5 - -14064108.0 - ) - '(0 #f #f) - '(6 "village3-start" #f) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 404182.75 - -524288.0 - 4161991.8 - -13086341.0 - 4414040.5 - -12784800.0 - 4706984.5 - -13037610.0 - ) - '(6 "maincave-start" #f) - '(0 #f #f) - ) - ) +(define *static-load-boundary-list* + (new 'static 'boxed-array :type array + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 2404087.0 1792990.9 11801113.0 -19782276.0 12074740.0 -19333410.0) + '(6 "finalboss-fight" #f) + '(6 "finalboss-start" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 980265.2 890780.8 3118024.0 -13706895.0 3079293.0 -13672758.0) + '(0 #f #f) + '(6 "snow-outside-cave" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 1050557.6 904951.44 3464265.8 -13649148.0 3491810.2 -13487760.0) + '(0 #f #f) + '(6 "snow-outside-fort" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 1161083.5 1033513.1 3172378.2 -14293381.0 3169853.0 -14196348.0) + '(0 #f #f) + '(6 "snow-by-ice-lake" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float + 155912.27 + -524288.0 + -302473.8 + -358921.62 + -189703.34 + -88103.32 + -213883.9 + -45797.734 + -569183.0 + -33546.773 ) + '(3 beach display) + '(3 beach display) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float + 164302.47 + -304623.5 + 11519060.0 + -18551140.0 + 11449090.0 + -18346224.0 + 11380415.0 + -18514332.0 + ) + '(6 "citadel-entrance" #f) + '(6 "citadel-entrance" #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 272053.7 -655558.1 4808600.0 -12651164.0 4530877.0 -12508498.0) + '(6 "maincave-to-robocave" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 171371.14 -524288.0 -676129.1 -6924696.0 -680121.3 -6757647.5) + '(3 village2 display) + '(3 village2 special-vis) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 36361.89 -36137.29 12126351.0 -19001848.0 12122353.0 -18877466.0) + '(6 "citadel-generator-start" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float -198.1726 -146531.1 11416193.0 -19794980.0 11485550.0 -19797886.0) + '(6 "citadel-plat-start" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 39044.12 -141510.19 10894763.0 -18893140.0 10898940.0 -18972940.0) + '(6 "citadel-launch-start" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 376514.56 -524288.0 418480.47 -2126829.2 768319.25 -2135490.8) + '(3 village1 #f) + '(3 village1 display) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 326689.0 -524288.0 143748.83 -3601507.8 179947.44 -3912510.8) + '(0 #f #f) + '(1 firecanyon village1) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 524288.0 265248.94 10092448.0 -16790240.0 10078353.0 -16477023.0) + '(6 "lavatube-after-ribbon" #f) + '(6 "lavatube-after-ribbon" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 104778.336 -257783.72 11326069.0 -18525588.0 11278355.0 -18072140.0) + '(6 "lavatube-end" #f) + '(6 "lavatube-end" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 290551.75 -524288.0 4047454.5 -14186495.0 3804332.0 -13805874.0) + '(6 "ogre-end" #f) + '(6 "ogre-end" #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 275555.12 -524288.0 927462.1 -7305133.0 763242.75 -7308856.5) + '(3 village2 display) + '(3 village2 special-vis) + ) + (new 'static 'boxed-array :type object + (the binteger 1) + (new 'static 'boxed-array :type float + -28209.512 + -524288.0 + 4869388.0 + -12242570.0 + 4850643.0 + -12138500.0 + 4982147.0 + -12130348.0 + 5004734.0 + -12257655.0 + ) + '(3 maincave #f) + '(3 maincave display) + ) + (new 'static 'boxed-array :type object + (the binteger 1) + (new 'static 'boxed-array :type float + 28870.227 + -524288.0 + 4869388.0 + -12242570.0 + 4850643.0 + -12138500.0 + 4982147.0 + -12130348.0 + 5004734.0 + -12257655.0 + ) + '(0 #f #f) + '(4 mai #f) + ) + (new 'static 'boxed-array :type object + (the binteger 1) + (new 'static 'boxed-array :type float + -35278.418 + -524288.0 + 4869388.0 + -12242570.0 + 4850643.0 + -12138500.0 + 4982147.0 + -12130348.0 + 5004734.0 + -12257655.0 + ) + '(4 rob #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + -6276.127 + -424794.84 + 10794323.0 + -19184136.0 + 11542925.0 + -19117040.0 + 11854880.0 + -18949898.0 + ) + '(0 #f #f) + '(1 citadel lavatube) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 104778.336 -424794.84 11251180.0 -18687074.0 11606826.0 -18673318.0) + '(3 lavatube #f) + '(3 lavatube display) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 275554.94 103589.16 769670.25 -8183583.5 945858.75 -8171829.5) + '(6 "ogre-race" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 145672.28 -274960.53 9277345.0 -14277290.0 9266303.0 -13929350.0) + '(0 #f #f) + '(1 village3 lavatube) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 361505.03 141642.4 5280860.0 -14529410.0 5363850.0 -14811145.0) + '(0 #f #f) + '(4 lav #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 361505.03 141642.4 5145395.0 -14585060.0 4969281.0 -14637079.0) + '(3 lavatube #f) + '(3 lavatube display) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 329926.2 + 114555.875 + 4630288.0 + -14662835.0 + 4776346.0 + -14281154.0 + 5078574.5 + -14217605.0 + ) + '(1 village3 lavatube) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 107354.85 -647564.3 -279364.62 131636.45 -270673.44 160221.88) + '(3 beach #f) + '(3 beach display) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 404182.75 + -524288.0 + 4167032.0 + -13159265.0 + 4419089.0 + -12857725.0 + 4712033.0 + -13110535.0 + ) + '(3 village3 display) + '(3 village3 #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 561218.0 -22197.672 5192028.0 -12126635.0 4954258.5 -11802688.0) + '(4 rob #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 561218.0 -15459.172 5076681.0 -12251444.0 4974694.0 -12024020.0) + '(0 #f #f) + '(4 mai #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 297752.7 -524288.0 53651.58 -6363675.5 58039.688 -6204528.0) + '(3 village2 special-vis) + '(3 village2 #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 296695.72 -524288.0 -590053.06 -6197793.0 39494.13 -6504359.5) + '(3 village2 display) + '(3 village2 special-vis) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 334675.1 183791.47 -655431.8 -7037484.5 -667642.5 -6660005.5) + '(3 village2 display) + '(3 village2 special-vis) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 380333.4 -40101.156 1818615.8 -1094335.5 1622619.2 -978791.7) + '(3 village1 special-vis) + '(3 village1 #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 401929.88 + -524288.0 + -363218.53 + -2089629.0 + -558766.7 + -1816698.6 + -769622.8 + -2043451.9 + -816882.1 + -2051455.1 + -950145.6 + -2013974.5 + -967790.6 + -1907695.0 + -1064691.2 + -1966847.9 + -1147540.0 + -1944348.2 + -1243268.9 + -2202510.2 + -1249669.5 + -2319393.8 + ) + '(3 village1 display) + '(3 village1 special-vis) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 285200.53 -524288.0 4042240.5 -12645708.0 4297681.5 -12507810.0) + '(0 #f #f) + '(1 maincave darkcave) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 272053.7 -655558.1 4806917.0 -12655241.0 4529194.0 -12512575.0) + '(1 maincave robocave) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 350009.84 -524288.0 4421414.0 -13636154.0 4589708.5 -13556925.0) + '(3 maincave #f) + '(3 maincave display) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float -1761940.5 -1946392.4 2518956.8 -7372510.5 2450104.8 -7215005.0) + '(0 #f #f) + '(6 "sunkenb-helix" #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 330190.47 + -524288.0 + 4536550.0 + -13960169.0 + 4678894.0 + -14351620.0 + 4428100.5 + -14425283.0 + 4353558.0 + -14051260.0 + ) + '(1 village3 ogre) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 253886.0 -524288.0 4168931.0 -14104075.0 4117809.5 -13471865.0) + '(4 vi3 #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 290551.75 -524288.0 4130630.2 -14104385.0 3887507.8 -13723764.0) + '(0 #f #f) + '(4 ogr #f) + ) + (new 'static 'boxed-array :type object + (the binteger 3) + (new 'static 'boxed-array :type float + -632567.56 + -576346.5 + 2344408.2 + -7388373.0 + 2348460.5 + -7279539.0 + 2466947.8 + -7247920.5 + 2439049.2 + -7385641.0 + ) + '(0 #f #f) + '(4 sun #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float -467010.03 -701076.44 3209649.0 -6960872.0 3057429.0 -6862769.0) + '(6 "sunken1" #f) + '(6 "sunken2" #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float -512925.12 -681521.44 2371019.5 -6795812.0 2389408.2 -6532305.5) + '(3 village2 #f) + '(3 village2 display) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float + 110684.67 + -524288.0 + 1839143.8 + -7520194.5 + 1840360.8 + -7670893.0 + 1846512.6 + -7685321.0 + ) + '(6 "swamp-start" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 95661.45 -524288.0 2672740.5 -8278830.0 2639106.8 -8402343.0) + '(6 "swamp-game" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 112904.26 -524288.0 1486306.8 -8266304.5 1610530.4 -8198038.0) + '(6 "swamp-cave1" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float + 164830.97 + -524288.0 + -419912.5 + 3042100.0 + -133547.3 + 3439924.0 + -102430.38 + 3661115.2 + 428069.8 + 3364700.5 + ) + '(6 "misty-start" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float + 321007.44 + -524288.0 + -907311.4 + 3456990.5 + -757819.7 + 3679705.0 + -638801.4 + 3763613.2 + -573459.2 + 3651802.5 + -883808.56 + 3444019.2 + ) + '(6 "misty-silo" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 1) + (new 'static 'boxed-array :type float + -91155.664 + -524288.0 + 2079358.8 + -6774793.5 + 2079358.8 + -6569993.5 + 2284159.5 + -6569993.5 + 2284159.5 + -6774793.5 + ) + '(0 #f #f) + '(4 vi2 #f) + ) + (new 'static 'boxed-array :type object + (the binteger 1) + (new 'static 'boxed-array :type float + -176048.66 + -524288.0 + 2079358.8 + -6774793.5 + 2079358.8 + -6569993.5 + 2284159.5 + -6569993.5 + 2284159.5 + -6774793.5 + ) + '(4 sun #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 263068.94 -524288.0 1947299.0 -7277401.0 1663485.5 -7296843.5) + '(4 vi2 #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 240937.31 -524288.0 1655335.4 -7355865.0 1914029.8 -7344404.5) + '(4 swa #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 192776.28 -524288.0 1720459.0 -7252616.5 1888000.6 -7230796.5) + '(3 swamp display) + '(3 swamp #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float + 524288.0 + -524288.0 + 1543607.5 + -7296055.0 + 1536684.1 + -6977798.0 + 1589661.2 + -6897839.0 + 1929451.4 + -7131590.5 + ) + '(1 village2 swamp) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float + 524288.0 + -524288.0 + 474877.1 + -6501738.5 + 641064.94 + -6682781.0 + 774879.44 + -6780504.5 + ) + '(4 rol #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float + 524288.0 + -524288.0 + 836810.7 + -6707271.0 + 673225.56 + -6637296.5 + 468429.44 + -6424190.5 + ) + '(4 vi2 #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 388789.16 -524288.0 -137499.97 -464508.47 -239475.86 -332696.8) + '(4 vi1 #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 152569.25 + -524288.0 + -177363.28 + -182574.97 + -107676.53 + -61124.004 + -172878.95 + 81598.42 + -327656.6 + 227590.64 + -406536.56 + 216199.72 + -485581.56 + 261065.92 + -515573.0 + 191171.4 + -1338912.4 + 229231.64 + ) + '(3 beach #f) + '(3 beach display-no-wait) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 272530.25 -524288.0 -249675.55 -391214.2 -130347.68 -500937.6) + '(3 firecanyon display) + '(3 firecanyon #f) + ) + (new 'static 'boxed-array :type object + (the binteger 1) + (new 'static 'boxed-array :type float + -87713.6 + -524288.0 + 1090401.8 + -1274678.5 + 1058803.0 + -1235478.5 + 1060181.1 + -1193262.0 + 1117220.8 + -1154488.0 + 1164595.1 + -1185104.8 + 1176762.0 + -1210675.4 + 1173468.1 + -1244727.8 + 1125869.1 + -1275753.6 + ) + '(0 #f #f) + '(4 jun #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 301122.1 -524288.0 1525182.5 2034822.6 842849.06 -804235.94) + '(4 vi1 #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 325169.56 -524288.0 894672.4 -779382.3 1767576.5 1188691.0) + '(4 jun #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 326953.3 + -524288.0 + 81844.7 + -727707.5 + 15797.286 + 118401.266 + 414386.16 + 120639.44 + 1232901.1 + 1021193.6 + ) + '(1 village1 jungle) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 166814.4 + -524288.0 + 401796.53 + -610932.7 + 350019.12 + -489639.75 + 470693.25 + -460100.72 + ) + '(3 jungle display-no-wait) + '(3 jungle #f) + ) + (new 'static 'boxed-array :type object + (the binteger 3) + (new 'static 'boxed-array :type float + 375701.16 + -524288.0 + 1453916.1 + -987016.2 + 1461937.5 + -967184.75 + 1482761.0 + -957298.8 + 1505932.0 + -966185.4 + 1514189.1 + -989654.4 + 1503102.1 + -1010133.7 + 1481864.2 + -1017569.2 + 1464112.8 + -1010652.75 + ) + '(1 jungle jungleb) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float + 322236.66 + -524288.0 + -140670.9 + -353851.75 + 6646.948 + -375187.7 + -4327.104 + -433914.72 + ) + '(1 village1 firecanyon) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float + 168425.08 + -524288.0 + -201897.2 + -213989.42 + -71567.484 + -81526.12 + -112773.18 + 78722.41 + -115380.56 + 447390.62 + -241892.22 + 711968.75 + ) + '(0 #f #f) + '(1 village1 beach) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 524288.0 -524288.0 420024.44 -4814527.0 420024.44 -4609727.0) + '(3 village2 display) + '(3 village2 #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 388393.3 -524288.0 -261189.34 -3825337.5 -50913.258 -4000428.0) + '(1 village2 firecanyon) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 388789.16 -524288.0 -269444.6 -496662.28 -126883.84 -507940.1) + '(4 fic #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 332899.12 -524288.0 -1124255.8 -298838.28 -351702.84 -248529.5) + '(4 bea #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 332899.12 -524288.0 -1208873.8 -81858.37 -319884.62 -196373.8) + '(0 #f #f) + '(4 vi1 #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 335013.2 -524288.0 1300341.5 -6072380.5 1543875.5 -6043701.0) + '(4 vi2 #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 370820.16 -524288.0 1400421.9 -5994967.5 1298001.9 -5991312.0) + '(4 fic #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float + 313079.75 + -524288.0 + 823858.3 + -7076852.5 + 1476263.1 + -6966768.0 + 1548741.4 + -6505285.5 + 1380369.1 + -6357914.0 + 1125477.6 + -6285041.0 + 1188517.2 + -6036264.5 + ) + '(0 #f #f) + '(1 village2 rolling) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 233141.69 + -524288.0 + 742218.2 + -6802828.0 + 1334365.1 + -6818752.0 + 1357111.0 + -6436508.0 + 1047644.1 + -6334948.5 + 643162.44 + -6208203.0 + ) + '(3 rolling #f) + '(3 rolling display-no-wait) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float + 431070.97 + -524288.0 + 974018.4 + -7117512.5 + 1070822.5 + -7081258.0 + 1526121.6 + -7123133.0 + 1541163.8 + -7418157.0 + ) + '(1 village2 ogre) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 396387.06 + 57211.875 + 1213439.8 + -7288315.5 + 1227811.9 + -7079770.5 + 912550.5 + -7099027.5 + ) + '(3 ogre #f) + '(3 ogre display) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 336796.9 -524288.0 825355.2 -7235151.5 920252.2 -7300986.5) + '(4 ogr #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 292930.06 -524288.0 998340.94 -7272782.5 934710.06 -7195729.5) + '(4 vi2 #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 524288.0 + -168464.31 + 1927868.4 + -7085362.5 + 1605545.0 + -6870818.5 + 1615227.8 + -6471577.5 + 2177376.0 + -6131660.5 + ) + '(1 village2 sunken) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 360646.25 + -187424.25 + 2042524.0 + -7300480.5 + 1824194.5 + -6847887.0 + 1852328.8 + -6568462.5 + 2270167.8 + -6228972.5 + ) + '(3 sunken special) + '(3 sunken #f) + ) + (new 'static 'boxed-array :type object + (the binteger 3) + (new 'static 'boxed-array :type float + 126432.83 + -524288.0 + 1453916.1 + -987016.2 + 1461937.5 + -967184.75 + 1482761.0 + -957298.8 + 1505932.0 + -966185.4 + 1514189.1 + -989654.4 + 1503102.1 + -1010133.7 + 1481864.2 + -1017569.2 + 1464112.8 + -1010652.75 + ) + '(3 jungleb display) + '(3 jungleb #f) + ) + (new 'static 'boxed-array :type object + (the binteger 3) + (new 'static 'boxed-array :type float + 74968.55 + -616976.44 + 1453916.1 + -987016.2 + 1461937.5 + -967184.75 + 1482761.0 + -957298.8 + 1505932.0 + -966185.4 + 1514189.1 + -989654.4 + 1503102.1 + -1010133.7 + 1481864.2 + -1017569.2 + 1464112.8 + -1010652.75 + ) + '(4 jub #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 137771.25 -524288.0 404573.2 4098422.0 236215.77 4114074.5) + '(6 "misty-bike" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 145077.7 -524288.0 -376094.4 4543663.0 -376094.4 4748463.0) + '(6 "misty-backside" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float + 255537.56 + -524288.0 + -1005929.1 + 4193984.0 + -872937.2 + 4300299.0 + -756972.8 + 4208626.0 + -1025873.2 + 4087144.5 + ) + '(6 "misty-silo2" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 99096.8 -524288.0 1975605.4 -8630552.0 1975421.4 -8528661.0) + '(6 "swamp-cave2" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float + 141113.8 + -524288.0 + 1980493.5 + -7897138.0 + 2047652.4 + -7873304.0 + 2060152.6 + -7931657.5 + 1993817.2 + -7976457.0 + ) + '(6 "swamp-cave3" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float + 262804.7 + -524288.0 + 2140291.2 + -6096639.0 + 1590722.8 + -6463647.0 + 1413458.0 + -6340959.0 + 1149150.8 + -6278411.0 + 1219588.5 + -6039556.5 + ) + '(1 firecanyon village2) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 206253.42 + -524288.0 + 1430296.9 + -5984384.0 + 1438999.2 + -6119296.0 + 1420048.6 + -6125594.0 + ) + '(3 firecanyon display) + '(3 firecanyon #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float -432061.9 -714884.06 2715718.5 -7342267.0 2815001.5 -7150704.5) + '(3 sunkenb display) + '(3 sunkenb #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float -899402.06 -1098784.5 2282077.5 -6677879.5 2080828.8 -6613302.0) + '(4 sun #f) + '(4 sub #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float -451749.12 -610039.7 3063970.5 -6604280.5 3000425.2 -6456572.0) + '(6 "sunken1" #f) + '(6 "sunken-start" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 3) + (new 'static 'boxed-array :type float + -626555.75 + -524288.0 + 2344408.2 + -7388373.0 + 2348460.5 + -7279539.0 + 2466947.8 + -7247920.5 + 2439049.2 + -7385641.0 + ) + '(0 #f #f) + '(6 "sunken2" #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 198788.14 -524288.0 2287878.0 -13944549.0 2434369.8 -13646915.0) + '(3 village3 display) + '(3 village3 #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 355162.84 -524288.0 4346461.0 -14010600.0 4474615.5 -13949533.0) + '(3 ogre #f) + '(3 ogre display) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 331577.72 + -524288.0 + 4510445.5 + -13872985.0 + 4620850.5 + -14134173.0 + 4822450.0 + -13951485.0 + ) + '(0 #f #f) + '(1 village3 maincave) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 333031.2 -77890.09 4321252.0 -13451169.0 4538566.5 -13427408.0) + '(4 vi3 #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 289560.78 -524288.0 4160078.2 -13363984.0 4657438.0 -13195000.0) + '(0 #f #f) + '(4 mai #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 561218.0 -20347.875 5015965.5 -12265124.0 4969636.0 -12062795.0) + '(3 robocave display) + '(3 robocave #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 319289.8 97180.91 4060842.2 -12186625.0 3956508.8 -12221835.0) + '(3 darkcave display) + '(3 darkcave #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 390797.47 + -106231.74 + 1625981.8 + -982050.1 + 1826157.5 + -984055.0 + 1963614.9 + -752705.06 + ) + '(3 village1 special-vis) + '(3 village1 display) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 442784.28 + -39440.535 + 1899973.9 + -1546112.1 + 1741479.5 + -1291697.1 + 1490514.9 + -1133170.4 + ) + '(3 village1 #f) + '(3 village1 special-vis) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 449040.3 -98105.81 1507840.9 -1133057.6 1611146.1 -1038699.56) + '(3 village1 #f) + '(3 village1 display) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 291779.53 + 185641.23 + -556363.7 + -6215175.0 + -677982.3 + -6112309.0 + -462479.25 + -5758803.0 + ) + '(3 village2 special-vis) + '(3 village2 #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 324244.66 -524288.0 -385887.97 -7048725.0 -652583.3 -7045665.0) + '(3 village2 display) + '(3 village2 special-vis) + ) + (new 'static 'boxed-array :type object + (the binteger 1) + (new 'static 'boxed-array :type float + 330785.0 + -783128.7 + 4214055.0 + -14490533.0 + 4245485.0 + -14027390.0 + 4509959.5 + -14260475.0 + 4466017.5 + -14619070.0 + ) + '(0 #f #f) + '(1 village3 snow) + ) + (new 'static 'boxed-array :type object + (the binteger 1) + (new 'static 'boxed-array :type float + 897222.0 + -455448.7 + 4214055.0 + -14490533.0 + 4286877.5 + -13964385.0 + 4509959.5 + -14260475.0 + 4466017.5 + -14619070.0 + ) + '(3 snow #f) + '(3 snow display) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 401275.84 + -524288.0 + 3809930.2 + -13126660.0 + 4387680.5 + -12726350.0 + 4965741.5 + -12733760.0 + ) + '(1 village3 maincave) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 319289.8 97180.91 4037056.5 -12145660.0 3932723.0 -12180870.0) + '(0 #f #f) + '(4 mai #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 319289.8 97180.91 3967407.0 -12047450.0 3919676.8 -12152098.0) + '(4 dar #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 415367.12 + -20612.129 + 1473631.5 + -1157821.2 + 1414393.4 + -1193464.1 + 1354583.2 + -1238710.8 + 1291658.0 + -1325844.0 + 1151230.6 + -1642343.9 + ) + '(3 village1 display) + '(3 village1 special-vis) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 194295.77 + -524288.0 + 1993232.0 + -7776360.5 + 1646617.0 + -7919841.0 + 1546310.5 + -7956902.0 + 1497602.9 + -8055146.5 + 1350810.2 + -7725342.0 + ) + '(3 village2 display) + '(3 village2 special-vis) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 1275705.8 885660.7 4210123.5 -14454620.0 4252965.5 -14048015.0) + '(0 #f #f) + '(4 sno #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 361505.03 141642.4 5145395.0 -14585060.0 4969281.0 -14637079.0) + '(3 lavatube #f) + '(3 lavatube display) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 361505.03 141642.4 5192246.0 -14612985.0 4946641.5 -14744985.0) + '(4 vi3 #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 361505.03 141642.4 5280860.0 -14529410.0 5363850.0 -14811145.0) + '(0 #f #f) + '(4 lav #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 320479.0 -64214.67 6465568.5 -14156115.0 6450754.5 -13712894.0) + '(3 village3 #f) + '(3 village3 display) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 389780.5 201622.14 4218813.0 -14413355.0 4331064.0 -14524060.0) + '(1 village3 maincave) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 1170068.4 988919.7 2574083.2 -13973545.0 2427817.5 -13884534.0) + '(6 "snow-across-from-flut" #f) + '(6 "snow-flut-flut" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 3) + (new 'static 'boxed-array :type float + 810280.2 + -196608.0 + 3324084.2 + -13758485.0 + 3324084.2 + -13553685.0 + 3528884.2 + -13553685.0 + 3528884.2 + -13758485.0 + ) + '(0 #f #f) + '(6 "snow-outside-fort" #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 303302.1 -28407.746 1482670.0 -13217540.0 1703776.4 -13157055.0) + '(1 ogre village3) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 104778.336 -194295.75 11067174.0 -18596720.0 11019460.0 -18143272.0) + '(3 citadel display) + '(3 citadel #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 104778.336 -194295.75 11220495.0 -18577436.0 11172783.0 -18123988.0) + '(0 #f #f) + '(4 lav #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 104778.336 -424794.84 11261218.0 -18621614.0 11616860.0 -18607858.0) + '(4 cit #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 532744.06 222822.31 10045198.0 -16826564.0 10052340.0 -16500909.0) + '(1 lavatube citadel) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 1) + (new 'static 'boxed-array :type float + 30786.04 + -568353.0 + 10853810.0 + -19982956.0 + 10857980.0 + -18851744.0 + 11800185.0 + -18657540.0 + 12119948.0 + -19841458.0 + ) + '(0 #f #f) + '(1 citadel finalboss) + ) + (new 'static 'boxed-array :type object + (the binteger 1) + (new 'static 'boxed-array :type float + -37128.273 + -568353.0 + 10635460.0 + -19261390.0 + 10641390.0 + -18641098.0 + 11673320.0 + -18631850.0 + 11992955.0 + -19068516.0 + ) + '(1 citadel lavatube) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 1) + (new 'static 'boxed-array :type float + 739722.7 + -524288.0 + 11253410.0 + -19459740.0 + 11298895.0 + -19163528.0 + 11606400.0 + -19156774.0 + 11646273.0 + -19462514.0 + ) + '(4 cit #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 1) + (new 'static 'boxed-array :type float + 1552977.4 + -524288.0 + 11253410.0 + -19459740.0 + 11298895.0 + -19163528.0 + 11606400.0 + -19156774.0 + 11646273.0 + -19462514.0 + ) + '(0 #f #f) + '(4 fin #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float -432061.9 -714884.06 2624020.8 -7238923.5 2730103.5 -7108117.5) + '(6 "sunken-tube1" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 237131.75 116405.63 4134430.0 -12531289.0 4249137.0 -12480849.0) + '(0 #f #f) + '(6 "maincave-to-darkcave" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 108378.74 -18630.201 1381972.9 -8272129.5 1309181.4 -8143856.5) + '(6 "swamp-dock1" #f) + '(6 "swamp-start" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 164632.73 -17573.172 1651940.5 -8481208.0 1575238.2 -8380055.5) + '(6 "swamp-dock2" #f) + '(6 "swamp-cave1" #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 321734.22 33164.38 1472616.8 -5741056.5 1161522.8 -5738810.0) + '(6 "firecanyon-end" #f) + '(6 "firecanyon-end" #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 339769.8 -46839.75 -211696.3 -784710.75 49935.15 -742140.3) + '(6 "firecanyon-start" #f) + '(6 "firecanyon-start" #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 482151.97 69896.25 869008.6 -8462477.0 644078.75 -8259235.5) + '(6 "ogre-race" #f) + '(6 "ogre-race" #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 322923.34 4096.0 5678575.5 -14614474.0 5457999.0 -14391688.0) + '(6 "lavatube-start" #f) + '(6 "lavatube-start" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 178704.39 -135168.0 8996384.0 -14239175.0 9096633.0 -13873403.0) + '(6 "lavatube-middle" #f) + '(6 "lavatube-middle" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 247477.67 -148711.25 5555559.5 -11770044.0 5324678.0 -11402115.0) + '(6 "robocave-bottom" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float -451749.12 -610039.7 3050601.8 -6609894.0 2987056.5 -6462185.5) + '(1 sunken sunkenb) + '(1 sunken village2) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 66328.8 -101805.46 11021305.0 -19546492.0 10991630.0 -19494320.0) + '(6 "citadel-launch-end" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 87535.54 -29596.91 11275635.0 -19680194.0 11230883.0 -19653924.0) + '(6 "citadel-plat-end" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 60515.062 -64214.72 11902198.0 -19492924.0 11856455.0 -19580640.0) + '(6 "citadel-generator-end" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 1064497.0 893654.6 3369717.2 -13470538.0 3489005.0 -13470209.0) + '(6 "snow-outside-fort" #f) + '(6 "snow-fort" #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 276440.2 + -524288.0 + -1054117.4 + -7015874.0 + -1180891.2 + -6733353.5 + -911788.4 + -6482925.0 + ) + '(3 village2 special-vis) + '(3 village2 #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 263663.44 1585.5251 -677970.94 -6693857.0 -802274.3 -6692809.0) + '(3 village2 #f) + '(3 village2 special-vis) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 363883.3 -524288.0 710516.0 -605717.3 777812.4 -117024.52) + '(3 jungle display) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 524288.0 + -524288.0 + 719872.1 + -6597869.0 + 1159159.1 + -6425164.5 + 1041836.25 + -6827792.0 + ) + '(3 rolling display) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 524288.0 -524288.0 568817.3 -9466220.0 1127492.5 -9043683.0) + '(0 #f #f) + '(1 ogre village2) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 408146.53 + -227129.81 + 5624547.0 + -11755375.0 + 5604783.5 + -11539414.0 + 5326020.0 + -11550233.0 + 5180106.5 + -11499346.0 + 5148654.0 + -11322573.0 + ) + '(3 maincave special) + '(3 maincave display) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 294119.2 213916.9 11495250.0 -19186980.0 11398090.0 -19190674.0) + '(3 finalboss #f) + '(3 finalboss display) + ) + (new 'static 'boxed-array :type object + (the binteger 1) + (new 'static 'boxed-array :type float + 1470264.6 + -524288.0 + 11253410.0 + -19459740.0 + 11298895.0 + -19163528.0 + 11606400.0 + -19156774.0 + 11646273.0 + -19462514.0 + ) + '(3 citadel display) + '(3 citadel special) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 104778.336 -424794.84 11249043.0 -18841486.0 11604685.0 -18827730.0) + '(6 "citadel-start" #f) + '(6 "citadel-start" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float + 1094292.4 + 858838.25 + 3677046.8 + -13838594.0 + 3773559.8 + -13867715.0 + 3837479.8 + -13675041.0 + 3663758.2 + -13804749.0 + ) + '(0 #f #f) + '(6 "snow-pass-to-fort" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 1220937.6 1035428.9 2930553.2 -14107145.0 3128871.8 -14038774.0) + '(6 "snow-by-ice-lake-alt" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 1051944.6 888765.56 3366128.0 -13638805.0 3362401.8 -13489235.0) + '(6 "snow-outside-fort" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float 524288.0 -524288.0 1123579.9 -6421303.0 1006257.0 -6823930.5) + '(6 "village2-start" #f) + '(6 "village2-dock" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 1) + (new 'static 'boxed-array :type float + 742498.56 + -727105.9 + 4214055.0 + -14490533.0 + 4286877.5 + -13964385.0 + 4509959.5 + -14260475.0 + 4466017.5 + -14619070.0 + ) + '(4 vi3 #f) + '(3 snow display) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 318034.56 119907.06 4952800.5 -14636175.0 5113453.5 -14560723.0) + '(0 #f #f) + '(6 "village3-farside" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 383504.6 120699.85 4445610.0 -14468618.0 4343087.0 -14334280.0) + '(0 #f #f) + '(6 "village3-farside" #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 302707.6 144615.2 4420238.5 -13645623.0 4595041.0 -13553850.0) + '(6 "village3-farside" #f) + '(0 #f #f) + ) + (new 'static 'boxed-array :type object + (the binteger 2) + (new 'static 'boxed-array :type float 335938.0 140849.53 4397294.5 -14125599.0 4545135.5 -14064108.0) + '(0 #f #f) + '(6 "village3-start" #f) + ) + (new 'static 'boxed-array :type object + 0 + (new 'static 'boxed-array :type float + 404182.75 + -524288.0 + 4161991.8 + -13086341.0 + 4414040.5 + -12784800.0 + 4706984.5 + -13037610.0 + ) + '(6 "maincave-start" #f) + '(0 #f #f) + ) + ) + ) ;; failed to figure out what this is: (let* ((gp-0 (-> *static-load-boundary-list* length)) diff --git a/test/decompiler/reference/engine/math/euler-h_REF.gc b/test/decompiler/reference/engine/math/euler-h_REF.gc index 986d377870..b1c8e96fc0 100644 --- a/test/decompiler/reference/engine/math/euler-h_REF.gc +++ b/test/decompiler/reference/engine/math/euler-h_REF.gc @@ -2,14 +2,10 @@ (in-package goal) ;; definition for symbol EulSafe, type (array int32) -(define EulSafe - (the-as (array int32) (new 'static 'boxed-array :type int32 :length 4 :allocated-length 4 0 1 2 0)) - ) +(define EulSafe (the-as (array int32) (new 'static 'boxed-array :type int32 0 1 2 0))) ;; definition for symbol EulNext, type (array int32) -(define EulNext - (the-as (array int32) (new 'static 'boxed-array :type int32 :length 4 :allocated-length 4 1 2 0 1)) - ) +(define EulNext (the-as (array int32) (new 'static 'boxed-array :type int32 1 2 0 1))) ;; definition of type euler-angles (deftype euler-angles (vector) diff --git a/test/decompiler/reference/engine/math/trigonometry_REF.gc b/test/decompiler/reference/engine/math/trigonometry_REF.gc index d5cfe22ab7..3bbf79decb 100644 --- a/test/decompiler/reference/engine/math/trigonometry_REF.gc +++ b/test/decompiler/reference/engine/math/trigonometry_REF.gc @@ -81,10 +81,7 @@ ) ;; definition for symbol binary-table, type (array float) -(define binary-table (the-as (array float) (new - 'static - 'boxed-array - :type float :length 32 :allocated-length 32 +(define binary-table (the-as (array float) (new 'static 'boxed-array :type float 1.0 0.5 0.25 @@ -122,10 +119,7 @@ ) ;; definition for symbol sincos-table, type (array float) -(define sincos-table (the-as (array float) (new - 'static - 'boxed-array - :type float :length 32 :allocated-length 32 +(define sincos-table (the-as (array float) (new 'static 'boxed-array :type float 0.7853982 0.4636476 0.24497867 diff --git a/test/decompiler/reference/engine/nav/navigate_REF.gc b/test/decompiler/reference/engine/nav/navigate_REF.gc index 605781ce33..c2ac0caa3f 100644 --- a/test/decompiler/reference/engine/nav/navigate_REF.gc +++ b/test/decompiler/reference/engine/nav/navigate_REF.gc @@ -175,37 +175,28 @@ ;; definition for symbol *default-nav-mesh*, type nav-mesh (define *default-nav-mesh* (new 'static 'nav-mesh - :bounds - (new 'static 'sphere :x 12288.0 :y -200704.0 :z 12288.0 :w 20480.0) - :origin - (new 'static 'vector :y -200704.0 :w 1.0) + :bounds (new 'static 'sphere :x 12288.0 :y -200704.0 :z 12288.0 :w 20480.0) + :origin (new 'static 'vector :y -200704.0 :w 1.0) :vertex-count 4 - :vertex - (new 'static 'inline-array nav-vertex 4 + :vertex (new 'static 'inline-array nav-vertex 4 (new 'static 'nav-vertex :z 16384.0 :w 1.0) (new 'static 'nav-vertex :z 8192.0 :w 1.0) (new 'static 'nav-vertex :x 8192.0 :z 8192.0 :w 1.0) (new 'static 'nav-vertex :x 8192.0 :w 1.0) ) :poly-count 2 - :poly - (new 'static 'inline-array nav-poly 2 + :poly (new 'static 'inline-array nav-poly 2 (new 'static 'nav-poly - :vertex - (new 'static 'array uint8 3 #x0 #x2 #x1) - :adj-poly - (new 'static 'array uint8 3 #xff #x1 #xff) + :vertex (new 'static 'array uint8 3 #x0 #x2 #x1) + :adj-poly (new 'static 'array uint8 3 #xff #x1 #xff) ) (new 'static 'nav-poly :id #x1 - :vertex - (new 'static 'array uint8 3 #x1 #x2 #x3) - :adj-poly - (new 'static 'array uint8 3 #x0 #xff #xff) + :vertex (new 'static 'array uint8 3 #x1 #x2 #x3) + :adj-poly (new 'static 'array uint8 3 #x0 #xff #xff) ) ) - :route - (new 'static 'inline-array vector4ub 4 + :route (new 'static 'inline-array vector4ub 4 (new 'static 'vector4ub :data (new 'static 'array uint8 4 #xcb #x0 #x0 #x0)) (new 'static 'vector4ub) (new 'static 'vector4ub) @@ -288,19 +279,13 @@ ) ;; definition for symbol *edge-vert0-table*, type (array int8) -(define *edge-vert0-table* - (the-as (array int8) (new 'static 'boxed-array :type int8 :length 3 :allocated-length 3 1 2 0)) - ) +(define *edge-vert0-table* (the-as (array int8) (new 'static 'boxed-array :type int8 1 2 0))) ;; definition for symbol *edge-vert1-table*, type (array int8) -(define *edge-vert1-table* - (the-as (array int8) (new 'static 'boxed-array :type int8 :length 3 :allocated-length 3 2 0 1)) - ) +(define *edge-vert1-table* (the-as (array int8) (new 'static 'boxed-array :type int8 2 0 1))) ;; definition for symbol *edge-mask-table*, type (array int8) -(define *edge-mask-table* - (the-as (array int8) (new 'static 'boxed-array :type int8 :length 3 :allocated-length 3 1 2 4)) - ) +(define *edge-mask-table* (the-as (array int8) (new 'static 'boxed-array :type int8 1 2 4))) ;; definition for function inc-mod3 (defun inc-mod3 ((arg0 int)) diff --git a/test/decompiler/reference/engine/physics/dynamics-h_REF.gc b/test/decompiler/reference/engine/physics/dynamics-h_REF.gc index 17c0139d81..27ab2512d9 100644 --- a/test/decompiler/reference/engine/physics/dynamics-h_REF.gc +++ b/test/decompiler/reference/engine/physics/dynamics-h_REF.gc @@ -53,8 +53,7 @@ :name 'standard :gravity-max (meters 40) :gravity-length (meters 60) - :gravity - (new 'static 'vector :y 245760.0 :w 1.0) + :gravity (new 'static 'vector :y 245760.0 :w 1.0) :gravity-normal (new 'static 'vector :y 1.0 :w 1.0) :walk-distance (meters 2) :run-distance (meters 5) diff --git a/test/decompiler/reference/engine/target/logic-target_REF.gc b/test/decompiler/reference/engine/target/logic-target_REF.gc index d147bfb914..2b804b7788 100644 --- a/test/decompiler/reference/engine/target/logic-target_REF.gc +++ b/test/decompiler/reference/engine/target/logic-target_REF.gc @@ -1147,24 +1147,14 @@ ) ) (let ((v1-146 (-> self current-level))) - (when (and (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (seconds 2)) - (and v1-146 - (< (-> self control trans y) (-> v1-146 info bottom-height)) - (not (and (= *cheat-mode* 'debug) (cpad-hold? (-> self control unknown-cpad-info00 number) r2))) - ) - ) - (let ((a1-32 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-32 from) self) - (set! (-> a1-32 num-params) 2) - (set! (-> a1-32 message) 'attack-invinc) - (set! (-> a1-32 param 0) (the-as uint #f)) - (let ((a0-102 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-102 mode) 'endlessfall) - (set! (-> a1-32 param 1) (the-as uint a0-102)) - ) - (send-event-function self a1-32) + (if (and (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (seconds 2)) + (and v1-146 + (< (-> self control trans y) (-> v1-146 info bottom-height)) + (not (and (= *cheat-mode* 'debug) (cpad-hold? (-> self control unknown-cpad-info00 number) r2))) + ) + ) + (send-event self 'attack-invinc #f (static-attack-info ((mode 'endlessfall)))) ) - ) ) 0 (none) @@ -2106,18 +2096,7 @@ (set! (-> self control unknown-vector52 quad) (-> self control trans quad)) (set! (-> self control unknown-vector52 y) (+ -819200.0 (-> self control unknown-vector52 y))) (set! (-> self align) (new 'process 'align-control self)) - (let ((s5-1 (get-process *16k-dead-pool* sidekick #x4000))) - (set! (-> self sidekick) - (the-as (pointer sidekick) (when s5-1 - (let ((t9-37 (method-of-type sidekick activate))) - (t9-37 (the-as sidekick s5-1) self 'sidekick (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 init-sidekick) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> self sidekick) (process-spawn sidekick :init init-sidekick :from *16k-dead-pool* :to self)) (set! (-> self manipy) (the-as (pointer manipy) #f)) (set! (-> self event-hook) target-generic-event-handler) (set! (-> self current-level) #f) @@ -2148,16 +2127,16 @@ (set! (-> *level* border?) #f) (set! (-> *setting-control* default border-mode) #f) (stop arg0) - (let* ((s5-0 (get-process *target-dead-pool* target #x4000)) - (v1-3 (when s5-0 - (let ((t9-2 (method-of-type target activate))) - (t9-2 (the-as target s5-0) *target-pool* 'target (&-> *dram-stack* 14336)) - ) - (run-now-in-process s5-0 init-target arg1) - (-> s5-0 ppointer) - ) - ) - ) + (let ((v1-3 (process-spawn + target + :init init-target + arg1 + :from *target-dead-pool* + :to *target-pool* + :stack *kernel-dram-stack* + ) + ) + ) (if v1-3 (set! *target* (the-as target (-> v1-3 0 self))) (set! *target* #f) diff --git a/test/decompiler/reference/engine/target/pat-h_REF.gc b/test/decompiler/reference/engine/target/pat-h_REF.gc index b1289089f7..0e3e62fad2 100644 --- a/test/decompiler/reference/engine/target/pat-h_REF.gc +++ b/test/decompiler/reference/engine/target/pat-h_REF.gc @@ -199,18 +199,14 @@ (new 'static 'pat-mode-info :name "obstacle" :wall-angle 0.82 - :color - (new 'static 'rgba :r #x7f :b #x7f :a #x40) - :hilite-color - (new 'static 'rgba :r #xff :b #xff :a #x80) + :color (new 'static 'rgba :r #x7f :b #x7f :a #x40) + :hilite-color (new 'static 'rgba :r #xff :b #xff :a #x80) ) (new 'static 'pat-mode-info :name "pole" :wall-angle 2.0 - :color - (new 'static 'rgba :r #x7f :g #x7f :a #x40) - :hilite-color - (new 'static 'rgba :r #xff :g #xff :a #x80) + :color (new 'static 'rgba :r #x7f :g #x7f :a #x40) + :hilite-color (new 'static 'rgba :r #xff :g #xff :a #x80) ) ) ) diff --git a/test/decompiler/reference/engine/target/sidekick_REF.gc b/test/decompiler/reference/engine/target/sidekick_REF.gc index be8967a442..014c25b6e3 100644 --- a/test/decompiler/reference/engine/target/sidekick_REF.gc +++ b/test/decompiler/reference/engine/target/sidekick_REF.gc @@ -61,8 +61,7 @@ ;; failed to figure out what this is: (defstate sidekick-clone (sidekick) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) (case arg2 (('matrix) @@ -118,10 +117,8 @@ ) ) ) - :code - (the-as (function none :behavior sidekick) looping-code) - :post - (behavior () + :code (the-as (function none :behavior sidekick) looping-code) + :post (behavior () (let ((v1-0 'process-drawable-art-error) (a0-0 (-> self parent-override)) ) diff --git a/test/decompiler/reference/engine/target/target-death_REF.gc b/test/decompiler/reference/engine/target/target-death_REF.gc index 3b312cc773..c824283cd8 100644 --- a/test/decompiler/reference/engine/target/target-death_REF.gc +++ b/test/decompiler/reference/engine/target/target-death_REF.gc @@ -39,10 +39,8 @@ ;; failed to figure out what this is: (defstate target-continue (target) - :event - target-generic-event-handler - :exit - (behavior () + :event target-generic-event-handler + :exit (behavior () (set! (-> *load-boundary-target* 0 quad) (-> (camera-pos) quad)) (set! (-> *load-boundary-target* 1 quad) (-> (target-pos 0) quad)) (set! (-> *load-boundary-target* 2 quad) (-> *load-boundary-target* 0 quad)) @@ -60,8 +58,7 @@ (clear-pending-settings-from-process *setting-control* self 'music) (none) ) - :code - (behavior ((arg0 continue-point)) + :code (behavior ((arg0 continue-point)) (set! (-> self state-time) (-> *display* base-frame-counter)) (if (-> *art-control* reserve-buffer) (reserve-free *art-control* (-> *art-control* reserve-buffer heap)) @@ -239,44 +236,36 @@ ) ((logtest? (-> arg0 flags) (continue-flags sage-demo-convo)) (set-blackout-frames (seconds 1)) - (let ((s5-5 (get-process *default-dead-pool* process #x4000))) - (when s5-5 - (let ((t9-60 (method-of-type process activate))) - (t9-60 s5-5 *default-pool* 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process - s5-5 - (lambda () - (local-vars (v1-10 basic)) - (let ((gp-0 (entity-by-name "sage-23"))) - (when gp-0 - (set-blackout-frames (seconds 100)) - (entity-birth-no-kill gp-0) - (suspend) - (suspend) - (send-event - (if gp-0 - (-> gp-0 extra process) - ) - 'play-anim + (process-spawn-function + process + (lambda () + (local-vars (v1-10 basic)) + (let ((gp-0 (entity-by-name "sage-23"))) + (when gp-0 + (set-blackout-frames (seconds 100)) + (entity-birth-no-kill gp-0) + (suspend) + (suspend) + (send-event + (if gp-0 + (-> gp-0 extra process) ) - ) + 'play-anim ) - (let ((gp-1 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-1) (seconds 2)) - (suspend) - ) - ) - (until (not v1-10) - (suspend) - (set! v1-10 (and *target* (logtest? (-> *target* state-flags) (state-flags sf08)))) - ) - (set! (-> *cpad-list* cpads 0 change-time) (-> *display* base-frame-counter)) - (reset-actors 'dead) - (start 'play (get-continue-by-name *game-info* "misty-start")) ) ) - (-> s5-5 ppointer) + (let ((gp-1 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-1) (seconds 2)) + (suspend) + ) + ) + (until (not v1-10) + (suspend) + (set! v1-10 (and *target* (logtest? (-> *target* state-flags) (state-flags sf08)))) + ) + (set! (-> *cpad-list* cpads 0 change-time) (-> *display* base-frame-counter)) + (reset-actors 'dead) + (start 'play (get-continue-by-name *game-info* "misty-start")) ) ) ) @@ -454,15 +443,7 @@ (when (and s5-8 (not (null? (-> s5-8 continues)))) (format 0 "~A ~A ~A~%" (-> arg0 level) (-> s5-8 name) (car (-> s5-8 continues))) (inspect global) - (let ((gp-1 (get-process *default-dead-pool* process #x4000))) - (when gp-1 - (let ((t9-104 (method-of-type process activate))) - (t9-104 gp-1 *default-pool* 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process gp-1 (lambda ((arg0 continue-point)) (start 'play arg0)) (car (-> s5-8 continues))) - (-> gp-1 ppointer) - ) - ) + (process-spawn-function process (lambda ((arg0 continue-point)) (start 'play arg0)) (car (-> s5-8 continues))) ) ) ) @@ -473,8 +454,7 @@ (go target-stance) (none) ) - :post - target-no-move-post + :post target-no-move-post ) ;; definition for symbol *smack-mods*, type surface @@ -500,8 +480,7 @@ :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 - :mult-hook - (lambda :behavior target + :mult-hook (lambda :behavior target ((arg0 surface) (arg1 surface) (arg2 surface) (arg3 int)) (when (= arg3 1) (let ((f30-0 (-> self control unknown-float40)) @@ -547,8 +526,7 @@ :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 - :mult-hook - (lambda :behavior target + :mult-hook (lambda :behavior target ((arg0 surface) (arg1 surface) (arg2 surface) (arg3 int)) (when (= arg3 1) (let ((f30-0 (-> self control unknown-float40)) @@ -587,26 +565,19 @@ ;; definition for function target-hit-effect ;; INFO: Return type mismatch int vs none. (defbehavior target-hit-effect target ((arg0 attack-info)) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker s5-0) self 'part-tracker (the-as pointer #x70004000)) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 1) + -1 + #f + #f + #f + (if (logtest? (-> arg0 mask) (attack-mask intersection)) + (-> arg0 intersection) + (-> self control root-prim prim-core) ) - (run-now-in-process - s5-0 - part-tracker-init - (-> *part-group-id-table* 1) - -1 - #f - #f - #f - (if (logtest? (-> arg0 mask) 4) - (-> arg0 intersection) - (-> self control root-prim prim-core) - ) - ) - (-> s5-0 ppointer) - ) + :to self ) (let ((v1-9 (-> arg0 mode))) (cond @@ -628,15 +599,7 @@ ) (case (-> arg0 mode) (('burn 'burnup) - (let ((gp-1 (get-process *default-dead-pool* process #x4000))) - (when gp-1 - (let ((t9-10 (method-of-type process activate))) - (t9-10 gp-1 self 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process gp-1 process-drawable-burn-effect 1200) - (-> gp-1 ppointer) - ) - ) + (process-spawn-function process process-drawable-burn-effect 1200 :to self) ) (('tar) (sound-play-by-name (static-sound-name "get-burned") (new-sound-id) 1024 0 0 1 #t) @@ -717,7 +680,7 @@ (let ((s5-0 #f)) (if (and (!= (-> arg0 angle) 'front) (!= (-> arg0 angle) 'shove) - (logtest? (-> arg0 mask) 2) + (logtest? (-> arg0 mask) (attack-mask vector)) (!= (-> arg0 shove-back) 0.0) ) (forward-up-nopitch->quaternion (-> self control dir-targ) arg1 (-> self control dynam gravity-normal)) @@ -730,7 +693,7 @@ (set! (-> self control unknown-surface00) *smack-up-mods*) ) (('front) - (if (and (logtest? (-> arg0 mask) 2) (!= (-> arg0 shove-back) 0.0)) + (if (and (logtest? (-> arg0 mask) (attack-mask vector)) (!= (-> arg0 shove-back) 0.0)) (forward-up-nopitch->quaternion (-> self control dir-targ) (vector-negate! (new 'stack-no-clear 'vector) arg1) @@ -859,10 +822,8 @@ ;; failed to figure out what this is: (defstate target-hit (target) - :event - target-standard-event-handler - :exit - (behavior () + :event target-standard-event-handler + :exit (behavior () (let ((gp-0 (new-stack-vector0)) (f30-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) ) @@ -887,8 +848,7 @@ (target-exit) (none) ) - :trans - (behavior () + :trans (behavior () (when (= *cheat-mode* 'debug) (when (and (not *pause-lock*) (cpad-hold? (-> self control unknown-cpad-info00 number) r2)) (pickup-collectable! (-> self fact-info-target) (pickup-type eco-green) (the-as float 1.0) (the-as handle #f)) @@ -897,8 +857,7 @@ ) (none) ) - :code - (behavior ((arg0 symbol) (arg1 attack-info)) + :code (behavior ((arg0 symbol) (arg1 attack-info)) (logclear! (-> self water flags) (water-flags wt16)) (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((gp-0 (-> self attack-info))) @@ -923,7 +882,7 @@ ) ) (combine! gp-0 arg1) - (when (zero? (logand (-> gp-0 mask) 2)) + (when (zero? (logand (-> gp-0 mask) (attack-mask vector))) (vector-z-quaternion! (-> gp-0 vector) (-> self control unknown-quaternion00)) (vector-xz-normalize! (-> gp-0 vector) (- (fabs (-> gp-0 shove-back)))) (set! (-> gp-0 vector y) (-> gp-0 shove-up)) @@ -1027,17 +986,13 @@ (go target-hit-ground #f) (none) ) - :post - target-post + :post target-post ) ;; definition for symbol *death-spool-array*, type (array spool-anim) (define *death-spool-array* (the-as (array spool-anim) - (new - 'static - 'boxed-array - :type spool-anim :length 11 :allocated-length 11 + (new 'static 'boxed-array :type spool-anim (new 'static 'spool-anim :name "death-0181" :index 3 :parts 1 :command-list '()) (new 'static 'spool-anim :name "death-0182" :index 4 :parts 1 :command-list '()) (new 'static 'spool-anim :name "death-0184" :index 5 :parts 1 :command-list '()) @@ -1098,8 +1053,7 @@ ;; failed to figure out what this is: (defstate target-death (target) - :exit - (behavior () + :exit (behavior () (logclear! (-> self state-flags) (state-flags sf03 sf15)) (target-exit) (clear-pending-settings-from-process *setting-control* self 'process-mask) @@ -1110,21 +1064,12 @@ (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) (none) ) - :trans - (-> target-hit trans) - :code - (behavior ((arg0 symbol)) + :trans (-> target-hit trans) + :code (behavior ((arg0 symbol)) (set! (-> self control unknown-uint20) (the-as uint #f)) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'target) - (set! (-> a1-0 param 0) (the-as uint 'die)) - (set! (-> a1-0 param 1) (the-as uint arg0)) - (set! (-> self control unknown-int21) - (the-as int (send-event-function (handle->process (-> self attack-info attacker)) a1-0)) - ) - ) + (set! (-> self control unknown-int21) + (the-as int (send-event (handle->process (-> self attack-info attacker)) 'target 'die arg0)) + ) (set! (-> self neck flex-blend) 0.0) (target-timed-invulnerable-off self) (set-setting! *setting-control* self 'process-mask 'set (the-as float 0.0) #x14a0000) @@ -1186,26 +1131,30 @@ (cond ((= arg0 'dark-eco-pool) (sound-play-by-name (static-sound-name "death-darkeco") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-6 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-6 - (let ((t9-21 (method-of-type part-tracker activate))) - (t9-21 (the-as part-tracker gp-6) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-6 part-tracker-init (-> *part-group-id-table* 31) -1 #f #f #f (-> self control trans)) - (-> gp-6 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 31) + -1 + #f + #f + #f + (-> self control trans) + :to *entity-pool* ) ) ((or (= arg0 'lava) (= arg0 'melt)) (sound-play-by-name (static-sound-name "death-melt") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-8 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-8 - (let ((t9-26 (method-of-type part-tracker activate))) - (t9-26 (the-as part-tracker gp-8) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-8 part-tracker-init (-> *part-group-id-table* 32) -1 #f #f #f (-> self control trans)) - (-> gp-8 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 32) + -1 + #f + #f + #f + (-> self control trans) + :to *entity-pool* ) ) ) @@ -1341,23 +1290,16 @@ ) ) (('burn 'burnup) - (let ((gp-15 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-15 - (let ((t9-52 (method-of-type part-tracker activate))) - (t9-52 (the-as part-tracker gp-15) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-15 - part-tracker-init - (-> *part-group-id-table* 708) - -1 - #f - #f - #f - (-> self control trans) - ) - (-> gp-15 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 708) + -1 + #f + #f + #f + (-> self control trans) + :to *entity-pool* ) (target-death-anim (the-as spool-anim #f)) ) @@ -1405,19 +1347,11 @@ (send-event (ppointer->process (-> self sidekick)) 'matrix 'play-anim) (send-event (ppointer->process (-> self sidekick)) 'shadow #f) (send-event self 'blend-shape #t) - (let* ((s5-7 (get-process *default-dead-pool* pov-camera #x4000)) - (s5-8 - (ppointer->handle - (when s5-7 - (let ((t9-68 (method-of-type pov-camera activate))) - (t9-68 (the-as pov-camera s5-7) *target-pool* 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process s5-7 pov-camera-init-by-other (-> self control trans) *deathcam-sg* gp-18 4 self '()) - (-> s5-7 ppointer) - ) - ) - ) - ) + (let ((s5-8 (ppointer->handle + (process-spawn pov-camera (-> self control trans) *deathcam-sg* gp-18 4 self '() :to *target-pool*) + ) + ) + ) (send-event (handle->process s5-8) 'music-movie-volume 0.0) (send-event (handle->process s5-8) 'sfx-movie-volume 50.0) (set! (-> self post-hook) target-no-ja-move-post) @@ -1445,6 +1379,5 @@ (anim-loop) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) diff --git a/test/decompiler/reference/engine/target/target-handler_REF.gc b/test/decompiler/reference/engine/target/target-handler_REF.gc index 1e7c7d9b7c..d75ff792f4 100644 --- a/test/decompiler/reference/engine/target/target-handler_REF.gc +++ b/test/decompiler/reference/engine/target/target-handler_REF.gc @@ -318,7 +318,7 @@ 'shove ) ) - (set! (-> s5-0 mask) (the-as uint 2248)) + (set! (-> s5-0 mask) (attack-mask attacker shove-back shove-up angle)) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.1)) (go arg3 'shove s5-0) ) @@ -341,7 +341,7 @@ (when (zero? (logand (-> self state-flags) (state-flags sf03))) (cond ((or (logtest? (-> self state-flags) (state-flags sf04 sf05 sf06)) - (and (logtest? (-> arg1 mask) 32) + (and (logtest? (-> arg1 mask) (attack-mask mode)) (= (-> arg1 mode) 'darkeco) (and (and (= (-> self fact-info-target eco-type) (pickup-type eco-red)) (>= (-> self fact-info-target eco-level) 1.0) @@ -380,18 +380,18 @@ ) (when a1-2 (get-intersect-point (-> self attack-info-rec intersection) a1-2 (-> self control) arg3) - (logior! (-> self attack-info-rec mask) 4) + (logior! (-> self attack-info-rec mask) (attack-mask intersection)) ) ) ) (set! (-> self attack-info-rec prev-state) (-> self state)) - (logior! (-> self attack-info-rec mask) 8192) - (when (zero? (logand (-> self attack-info-rec mask) 8)) + (logior! (-> self attack-info-rec mask) (attack-mask atki13)) + (when (zero? (logand (-> self attack-info-rec mask) (attack-mask attacker))) (set! (-> self attack-info-rec attacker) (process->handle arg2)) - (logior! (-> self attack-info-rec mask) 8) + (logior! (-> self attack-info-rec mask) (attack-mask attacker)) ) (cond - ((and (logtest? (-> self attack-info-rec mask) 32) + ((and (logtest? (-> self attack-info-rec mask) (attack-mask mode)) (and (= (-> self attack-info-rec mode) 'damage) (not (and (= (-> self game mode) 'play) (>= 1.0 (-> self fact-info-target health)))) ) @@ -402,29 +402,22 @@ (- (-> *FACT-bank* health-single-inc)) (the-as handle #f) ) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker gp-1) self 'part-tracker (the-as pointer #x70004000)) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 1) + -1 + #f + #f + #f + (if (logtest? (-> self attack-info-rec mask) (attack-mask intersection)) + (-> self attack-info-rec intersection) + (-> self control root-prim prim-core) ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 1) - -1 - #f - #f - #f - (if (logtest? (-> self attack-info-rec mask) 4) - (-> self attack-info-rec intersection) - (-> self control root-prim prim-core) - ) - ) - (-> gp-1 ppointer) - ) + :to self ) (target-timed-invulnerable - (if (logtest? (-> self attack-info-rec mask) 16) + (if (logtest? (-> self attack-info-rec mask) (attack-mask invinc-time)) (-> self attack-info-rec invinc-time) (-> *TARGET-bank* hit-invulnerable-timeout) ) @@ -814,9 +807,9 @@ (('shove) (when (!= (-> self next-state name) 'target-hit) (mem-copy! (the-as pointer (-> self attack-info-rec)) (the-as pointer (-> arg3 param 1)) 104) - (when (zero? (logand (-> self attack-info-rec mask) 8)) + (when (zero? (logand (-> self attack-info-rec mask) (attack-mask attacker))) (set! (-> self attack-info-rec attacker) (process->handle arg0)) - (logior! (-> self attack-info-rec mask) 8) + (logior! (-> self attack-info-rec mask) (attack-mask attacker)) ) (go target-hit 'shove (-> self attack-info-rec)) ) diff --git a/test/decompiler/reference/engine/target/target-part_REF.gc b/test/decompiler/reference/engine/target/target-part_REF.gc index 802ab89d84..55ab2b15f1 100644 --- a/test/decompiler/reference/engine/target/target-part_REF.gc +++ b/test/decompiler/reference/engine/target/target-part_REF.gc @@ -196,14 +196,12 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 56) (sp-item 57)) + :parts ((sp-item 56) (sp-item 57)) ) ;; failed to figure out what this is: (defpart 56 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -225,14 +223,12 @@ ;; failed to figure out what this is: (defpart 58 - :init-specs - ((sp-flt spt-fade-a -0.64)) + :init-specs ((sp-flt spt-fade-a -0.64)) ) ;; failed to figure out what this is: (defpart 57 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 12)) (sp-flt spt-rot-z (degrees 0.0)) @@ -254,14 +250,12 @@ :duration 10 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 59) (sp-item 60)) + :parts ((sp-item 59) (sp-item 60)) ) ;; failed to figure out what this is: (defpart 59 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 24.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -290,8 +284,7 @@ ;; failed to figure out what this is: (defpart 60 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 32.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) @@ -320,14 +313,12 @@ :duration 10 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 62) (sp-item 63) (sp-item 64)) + :parts ((sp-item 62) (sp-item 63) (sp-item 64)) ) ;; failed to figure out what this is: (defpart 62 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -354,14 +345,12 @@ ;; failed to figure out what this is: (defpart 61 - :init-specs - ((sp-flt spt-fade-r -0.7111111) (sp-flt spt-fade-g 0.7111111) (sp-flt spt-fade-b 0.35555556)) + :init-specs ((sp-flt spt-fade-r -0.7111111) (sp-flt spt-fade-g 0.7111111) (sp-flt spt-fade-b 0.35555556)) ) ;; failed to figure out what this is: (defpart 63 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.66) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -384,8 +373,7 @@ ;; failed to figure out what this is: (defpart 64 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -406,8 +394,7 @@ :duration 10 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 65) (sp-item 66)) + :parts ((sp-item 65) (sp-item 66)) ) ;; failed to figure out what this is: @@ -416,14 +403,12 @@ :duration 10 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 65) (sp-item 66)) + :parts ((sp-item 65) (sp-item 66)) ) ;; failed to figure out what this is: (defpart 65 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 0.75)) (sp-flt spt-scale-x (meters 3)) @@ -448,14 +433,12 @@ ;; failed to figure out what this is: (defpart 67 - :init-specs - ((sp-flt spt-fade-a -2.1333334)) + :init-specs ((sp-flt spt-fade-a -2.1333334)) ) ;; failed to figure out what this is: (defpart 66 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 3)) @@ -476,8 +459,7 @@ :duration 10 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 68) + :parts ((sp-item 68) (sp-item 69) (sp-item 72 :binding 71) (sp-item 71 :flags (start-dead launch-asap)) @@ -505,8 +487,7 @@ ;; failed to figure out what this is: (defpart 68 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-func spt-birth-func 'birth-func-copy-target-y-rot) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) @@ -532,8 +513,7 @@ ;; failed to figure out what this is: (defpart 69 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-func spt-birth-func 'birth-func-copy-target-y-rot) (sp-flt spt-num 8.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) @@ -559,8 +539,7 @@ ;; failed to figure out what this is: (defpart 72 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 12.0 8.0 1.0) (sp-flt spt-scale-x (meters 1)) (sp-copy-from-other spt-scale-y -4) @@ -575,8 +554,7 @@ ;; failed to figure out what this is: (defpart 71 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-rnd-flt spt-y (meters -1.3333334) (meters 2.6666667) 1.0) @@ -603,14 +581,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 73) (sp-item 74) (sp-item 75)) + :parts ((sp-item 73) (sp-item 74) (sp-item 75)) ) ;; failed to figure out what this is: (defpart 73 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -635,8 +611,7 @@ ;; failed to figure out what this is: (defpart 74 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -661,8 +636,7 @@ ;; failed to figure out what this is: (defpart 75 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -690,14 +664,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2371) (sp-item 2372) (sp-item 2370)) + :parts ((sp-item 2371) (sp-item 2372) (sp-item 2370)) ) ;; failed to figure out what this is: (defpart 2371 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -722,8 +694,7 @@ ;; failed to figure out what this is: (defpart 2372 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -748,8 +719,7 @@ ;; failed to figure out what this is: (defpart 2370 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -777,14 +747,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 76) (sp-item 77) (sp-item 78)) + :parts ((sp-item 76) (sp-item 77) (sp-item 78)) ) ;; failed to figure out what this is: (defpart 76 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -809,8 +777,7 @@ ;; failed to figure out what this is: (defpart 77 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -835,8 +802,7 @@ ;; failed to figure out what this is: (defpart 78 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -864,8 +830,7 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 76) (sp-item 77) (sp-item 78)) + :parts ((sp-item 76) (sp-item 77) (sp-item 78)) ) ;; failed to figure out what this is: @@ -874,14 +839,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 79) (sp-item 80) (sp-item 81)) + :parts ((sp-item 79) (sp-item 80) (sp-item 81)) ) ;; failed to figure out what this is: (defpart 79 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -906,8 +869,7 @@ ;; failed to figure out what this is: (defpart 80 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -932,8 +894,7 @@ ;; failed to figure out what this is: (defpart 81 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -962,14 +923,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 82) (sp-item 83)) + :parts ((sp-item 82) (sp-item 83)) ) ;; failed to figure out what this is: (defpart 82 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -994,8 +953,7 @@ ;; failed to figure out what this is: (defpart 83 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1024,8 +982,7 @@ :duration 5 :linger-duration 750 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 82) (sp-item 83) (sp-item 84) (sp-item 84)) + :parts ((sp-item 82) (sp-item 83) (sp-item 84) (sp-item 84)) ) ;; failed to figure out what this is: @@ -1034,14 +991,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 85) (sp-item 86)) + :parts ((sp-item 85) (sp-item 86)) ) ;; failed to figure out what this is: (defpart 85 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1066,8 +1021,7 @@ ;; failed to figure out what this is: (defpart 86 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1096,14 +1050,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2373) (sp-item 2374)) + :parts ((sp-item 2373) (sp-item 2374)) ) ;; failed to figure out what this is: (defpart 2373 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1126,8 +1078,7 @@ ;; failed to figure out what this is: (defpart 2374 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1156,8 +1107,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 87)) + :parts ((sp-item 87)) ) ;; failed to figure out what this is: @@ -1166,14 +1116,12 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 87)) + :parts ((sp-item 87)) ) ;; failed to figure out what this is: (defpart 87 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1197,8 +1145,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2375) (sp-item 2376 :flags (is-3d))) + :parts ((sp-item 2375) (sp-item 2376 :flags (is-3d))) ) ;; failed to figure out what this is: @@ -1207,8 +1154,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2375)) + :parts ((sp-item 2375)) ) ;; failed to figure out what this is: @@ -1217,14 +1163,12 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2376 :flags (is-3d))) + :parts ((sp-item 2376 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 2376 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) (sp-func spt-birth-func 'birth-func-target-orient) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.25)) @@ -1242,8 +1186,7 @@ ;; failed to figure out what this is: (defpart 2375 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1267,8 +1210,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2375)) + :parts ((sp-item 2375)) ) ;; failed to figure out what this is: @@ -1277,8 +1219,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2375)) + :parts ((sp-item 2375)) ) ;; failed to figure out what this is: @@ -1287,8 +1228,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 89) (sp-item 89) (sp-item 84)) + :parts ((sp-item 89) (sp-item 89) (sp-item 84)) ) ;; failed to figure out what this is: @@ -1297,14 +1237,12 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 88)) + :parts ((sp-item 88)) ) ;; failed to figure out what this is: (defpart 84 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-flt spt-y (meters -1)) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) @@ -1330,14 +1268,12 @@ ;; failed to figure out what this is: (defpart 90 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 150 149 1) (sp-launcher-by-id spt-next-launcher 91)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 150 149 1) (sp-launcher-by-id spt-next-launcher 91)) ) ;; failed to figure out what this is: (defpart 91 - :init-specs - ((sp-flt spt-fade-a -0.08)) + :init-specs ((sp-flt spt-fade-a -0.08)) ) ;; failed to figure out what this is: @@ -1346,8 +1282,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 89)) + :parts ((sp-item 89)) ) ;; failed to figure out what this is: @@ -1356,14 +1291,12 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 89)) + :parts ((sp-item 89)) ) ;; failed to figure out what this is: (defpart 89 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1387,8 +1320,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2377)) + :parts ((sp-item 2377)) ) ;; failed to figure out what this is: @@ -1397,14 +1329,12 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2377)) + :parts ((sp-item 2377)) ) ;; failed to figure out what this is: (defpart 2377 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1428,8 +1358,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 92) (sp-item 93 :flags (is-3d))) + :parts ((sp-item 92) (sp-item 93 :flags (is-3d))) ) ;; failed to figure out what this is: @@ -1438,8 +1367,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 92)) + :parts ((sp-item 92)) ) ;; failed to figure out what this is: @@ -1448,14 +1376,12 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 93 :flags (is-3d))) + :parts ((sp-item 93 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 92 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1475,8 +1401,7 @@ ;; failed to figure out what this is: (defpart 93 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) (sp-func spt-birth-func 'birth-func-target-orient) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.25)) @@ -1498,8 +1423,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 88) (sp-item 94 :flags (is-3d))) + :parts ((sp-item 88) (sp-item 94 :flags (is-3d))) ) ;; failed to figure out what this is: @@ -1508,8 +1432,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 88)) + :parts ((sp-item 88)) ) ;; failed to figure out what this is: @@ -1518,14 +1441,12 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 94 :flags (is-3d))) + :parts ((sp-item 94 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 88 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1545,8 +1466,7 @@ ;; failed to figure out what this is: (defpart 94 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) (sp-func spt-birth-func 'birth-func-target-orient) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.25)) @@ -1568,8 +1488,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2378)) + :parts ((sp-item 2378)) ) ;; failed to figure out what this is: @@ -1578,8 +1497,7 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2378)) + :parts ((sp-item 2378)) ) ;; failed to figure out what this is: @@ -1588,14 +1506,12 @@ :duration 5 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2379 :flags (is-3d))) + :parts ((sp-item 2379 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 2378 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1615,8 +1531,7 @@ ;; failed to figure out what this is: (defpart 2379 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) (sp-func spt-birth-func 'birth-func-target-orient) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.25)) @@ -1634,8 +1549,7 @@ ;; failed to figure out what this is: (defpart 95 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 6.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -1658,8 +1572,7 @@ ;; failed to figure out what this is: (defpart 2253 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 6.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -1682,8 +1595,7 @@ ;; failed to figure out what this is: (defpart 96 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -1707,8 +1619,7 @@ ;; failed to figure out what this is: (defpart 2250 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 6.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -1747,14 +1658,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 100) (sp-item 101)) + :parts ((sp-item 100) (sp-item 101)) ) ;; failed to figure out what this is: (defpart 100 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 6.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1779,8 +1688,7 @@ ;; failed to figure out what this is: (defpart 101 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -1808,14 +1716,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2380) (sp-item 2381)) + :parts ((sp-item 2380) (sp-item 2381)) ) ;; failed to figure out what this is: (defpart 2380 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 6.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1840,8 +1746,7 @@ ;; failed to figure out what this is: (defpart 2381 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -1869,14 +1774,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 102) (sp-item 103)) + :parts ((sp-item 102) (sp-item 103)) ) ;; failed to figure out what this is: (defpart 102 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 6.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1901,8 +1804,7 @@ ;; failed to figure out what this is: (defpart 103 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 0.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -1931,14 +1833,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 104)) + :parts ((sp-item 104)) ) ;; failed to figure out what this is: (defpart 104 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 6.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1967,14 +1867,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2382)) + :parts ((sp-item 2382)) ) ;; failed to figure out what this is: (defpart 2382 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 6.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2003,14 +1901,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2383)) + :parts ((sp-item 2383)) ) ;; failed to figure out what this is: (defpart 2383 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 6.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2039,8 +1935,7 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2383)) + :parts ((sp-item 2383)) ) ;; failed to figure out what this is: @@ -2049,14 +1944,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 105)) + :parts ((sp-item 105)) ) ;; failed to figure out what this is: (defpart 105 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 6.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2085,14 +1978,12 @@ :duration 5 :linger-duration 750 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 105)) + :parts ((sp-item 105)) ) ;; failed to figure out what this is: (defpart 106 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -2112,8 +2003,7 @@ ;; failed to figure out what this is: (defpart 2265 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -2133,8 +2023,7 @@ ;; failed to figure out what this is: (defpart 2262 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -2154,8 +2043,7 @@ ;; failed to figure out what this is: (defpart 107 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 0.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -2180,8 +2068,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 295 :fade-after (meters 100) :period 600 :length 5 :binding 296) + :parts ((sp-item 295 :fade-after (meters 100) :period 600 :length 5 :binding 296) (sp-item 296 :flags (start-dead launch-asap) :binding 297) (sp-item 297 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead)) (sp-item 296 :flags (start-dead launch-asap) :binding 297) @@ -2226,8 +2113,7 @@ :duration 75 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2003) (sp-item 2004) (sp-item 2005) (sp-item 2006)) + :parts ((sp-item 2003) (sp-item 2004) (sp-item 2005) (sp-item 2006)) ) ;; failed to figure out what this is: @@ -2236,14 +2122,12 @@ :duration 150 :linger-duration 600 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2003)) + :parts ((sp-item 2003)) ) ;; failed to figure out what this is: (defpart 2006 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2264,8 +2148,7 @@ ;; failed to figure out what this is: (defpart 2003 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-x (meters 0) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 3) 1.0) @@ -2292,8 +2175,7 @@ ;; failed to figure out what this is: (defpart 2004 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters 0.5) (meters 2) 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) @@ -2320,8 +2202,7 @@ ;; failed to figure out what this is: (defpart 2005 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 3) 1.0) @@ -2353,14 +2234,12 @@ ;; failed to figure out what this is: (defpart 2007 - :init-specs - ((sp-flt spt-fade-a -0.08)) + :init-specs ((sp-flt spt-fade-a -0.08)) ) ;; failed to figure out what this is: (defpart 2002 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2384,8 +2263,7 @@ ;; failed to figure out what this is: (defpart 2008 - :init-specs - ((sp-flt spt-fade-a -0.28444445)) + :init-specs ((sp-flt spt-fade-a -0.28444445)) ) ;; definition for function process-drawable-burn-effect @@ -2444,8 +2322,7 @@ ;; failed to figure out what this is: (defpart 2391 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) (sp-func spt-birth-func 'birth-func-target-orient) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.02)) @@ -2469,8 +2346,7 @@ :id 611 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2474 :flags (launch-asap))) + :parts ((sp-item 2474 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -2478,8 +2354,7 @@ :id 612 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2475 :flags (launch-asap))) + :parts ((sp-item 2475 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -2487,14 +2362,12 @@ :id 613 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2476 :flags (launch-asap))) + :parts ((sp-item 2476 :flags (launch-asap))) ) ;; failed to figure out what this is: (defpart 2474 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3.5)) (sp-flt spt-scale-y (meters 13)) @@ -2510,8 +2383,7 @@ ;; failed to figure out what this is: (defpart 2475 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3.5)) (sp-flt spt-rot-z (degrees 180.0)) @@ -2528,8 +2400,7 @@ ;; failed to figure out what this is: (defpart 2476 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-copy-from-other spt-scale-y -4) diff --git a/test/decompiler/reference/engine/target/target-util_REF.gc b/test/decompiler/reference/engine/target/target-util_REF.gc index 3b3da4a7eb..6c218a3bae 100644 --- a/test/decompiler/reference/engine/target/target-util_REF.gc +++ b/test/decompiler/reference/engine/target/target-util_REF.gc @@ -16,10 +16,8 @@ ;; definition for symbol *target-shadow-control*, type shadow-control (define *target-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #x2)) - :shadow-dir - (new 'static 'vector :x -0.4226 :y -0.9063 :w 409600.0) + :center (new 'static 'vector :w (the-as float #x2)) + :shadow-dir (new 'static 'vector :x -0.4226 :y -0.9063 :w 409600.0) :bot-plane (new 'static 'plane :y 1.0 :w 37683.2) :top-plane (new 'static 'plane :y 1.0 :w 4096.0) ) @@ -264,8 +262,7 @@ :root-offset (new 'static 'vector :y 4915.2 :w 1.0) :body-radius (meters 0.7) :edge-radius (meters 0.35) - :edge-offset - (new 'static 'vector :y 4915.2 :z 4096.0 :w 1.0) + :edge-offset (new 'static 'vector :y 4915.2 :z 4096.0 :w 1.0) :head-radius (meters 0.7) :head-height (meters 1.4) :head-offset (new 'static 'vector :y 4915.2 :w 1.0) @@ -1124,41 +1121,41 @@ (with-pp (let ((s4-0 (-> arg0 mask))) (set! (-> obj mask) (-> arg0 mask)) - (if (logtest? s4-0 8) + (if (logtest? s4-0 (attack-mask attacker)) (set! (-> obj attacker) (-> arg0 attacker)) ) - (if (logtest? s4-0 32) + (if (logtest? s4-0 (attack-mask mode)) (set! (-> obj mode) (-> arg0 mode)) ) - (if (logtest? s4-0 2048) + (if (logtest? s4-0 (attack-mask angle)) (set! (-> obj angle) (-> arg0 angle)) ) - (if (logtest? s4-0 512) + (if (logtest? s4-0 (attack-mask dist)) (set! (-> obj dist) (-> arg0 dist)) ) - (if (logtest? s4-0 1024) + (if (logtest? s4-0 (attack-mask control)) (set! (-> obj control) (-> arg0 control)) ) - (if (logtest? s4-0 256) + (if (logtest? s4-0 (attack-mask speed)) (set! (-> obj speed) (-> arg0 speed)) ) - (if (logtest? s4-0 64) + (if (logtest? s4-0 (attack-mask shove-back)) (set! (-> obj shove-back) (-> arg0 shove-back)) ) - (if (logtest? s4-0 128) + (if (logtest? s4-0 (attack-mask shove-up)) (set! (-> obj shove-up) (-> arg0 shove-up)) ) - (if (logtest? s4-0 16) + (if (logtest? s4-0 (attack-mask invinc-time)) (set! (-> obj invinc-time) (-> arg0 invinc-time)) ) - (if (logtest? s4-0 4096) + (if (logtest? s4-0 (attack-mask rotate-to)) (set! (-> obj rotate-to) (-> arg0 rotate-to)) ) - (if (logtest? s4-0 4) + (if (logtest? s4-0 (attack-mask intersection)) (set! (-> obj intersection quad) (-> arg0 intersection quad)) ) (cond - ((zero? (logand s4-0 2)) + ((zero? (logand s4-0 (attack-mask vector))) (let* ((s3-0 pp) (s2-0 (handle->process (-> obj attacker))) (v1-39 (if (and (nonzero? s2-0) (type-type? (-> s2-0 type) process-drawable)) @@ -1173,7 +1170,7 @@ (-> (the-as process-drawable s3-0) root trans) (-> (the-as process-drawable v1-39) root trans) ) - (logior! (-> obj mask) 2) + (logior! (-> obj mask) (attack-mask vector)) ) ) ) @@ -1189,18 +1186,18 @@ ) ) (set! (-> obj vector quad) (-> arg0 vector quad)) - (if (zero? (logand s4-0 64)) + (if (zero? (logand s4-0 (attack-mask shove-back))) (set! (-> obj shove-back) (vector-xz-length (-> obj vector))) ) - (if (zero? (logand s4-0 128)) + (if (zero? (logand s4-0 (attack-mask shove-up))) (set! (-> obj shove-up) (-> obj vector y)) ) ) ) - (if (zero? (logand (-> obj mask) 512)) + (if (zero? (logand (-> obj mask) (attack-mask dist))) (set! (-> obj dist) (fabs (-> obj shove-back))) ) - (if (logtest? s4-0 1) + (if (logtest? s4-0 (attack-mask trans)) (set! (-> obj trans quad) (-> arg0 trans quad)) ) ) diff --git a/test/decompiler/reference/engine/target/target2_REF.gc b/test/decompiler/reference/engine/target/target2_REF.gc index c85d6acef8..15396b2c4c 100644 --- a/test/decompiler/reference/engine/target/target2_REF.gc +++ b/test/decompiler/reference/engine/target/target2_REF.gc @@ -3,8 +3,7 @@ ;; failed to figure out what this is: (defstate target-load-wait (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('loading) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -15,10 +14,8 @@ ) ) ) - :exit - target-exit - :code - (behavior () + :exit target-exit + :code (behavior () (set! (-> self control unknown-surface00) *walk-no-turn-mods*) (set! (-> self state-time) (-> *display* base-frame-counter)) (while (< (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.05)) @@ -53,14 +50,12 @@ (go target-stance) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) ;; failed to figure out what this is: (defstate target-stance-ambient (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('movie) (go target-stance) @@ -70,8 +65,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self neck flex-blend) 0.0) ((-> target-stance enter)) (let ((v1-2 (rand-vu-int-count 4))) @@ -101,8 +95,7 @@ (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (let ((a0-0 (-> self control unknown-spoolanim00))) (when a0-0 (ja-abort-spooled-anim a0-0 (the-as art-joint-anim #f) -1) @@ -114,8 +107,7 @@ (target-exit) (none) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* (-> self control unknown-spoolanim00 name) 0 self (the-as float -99.0)) (if (or (cpad-hold? (-> self control unknown-cpad-info00 number) start l1 r1 triangle circle x square) *progress-process* @@ -124,8 +116,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (while (let ((v1-13 (file-status *art-control* (-> self control unknown-spoolanim00 name) 0))) (not (or (= v1-13 'locked) (= v1-13 'active))) ) @@ -144,8 +135,7 @@ (go target-stance) (none) ) - :post - target-post + :post target-post ) ;; definition of type first-person-hud @@ -303,21 +293,18 @@ ;; failed to figure out what this is: (defstate hud-waiting (first-person-hud) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('go-away) (go hud-going-out) ) ) ) - :enter - (behavior () + :enter (behavior () (disable-hud (the-as int (-> *hud-parts* power))) (none) ) - :code - (behavior () + :code (behavior () (loop (dotimes (gp-0 (-> self nb-of-particles)) (if (= (-> self particles gp-0 part matrix) -1) @@ -335,10 +322,8 @@ ;; failed to figure out what this is: (defstate hud-coming-in (first-person-hud) - :event - (-> hud-waiting event) - :code - (behavior () + :event (-> hud-waiting event) + :code (behavior () (loop (seekl! (-> self in-out-position) 0 (the int (* 350.0 (-> *display* time-adjust-ratio)))) (if (zero? (-> self in-out-position)) @@ -348,8 +333,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (dumb-15 self) (none) ) @@ -357,10 +341,8 @@ ;; failed to figure out what this is: (defstate hud-normal (first-person-hud) - :event - (-> hud-waiting event) - :code - (behavior () + :event (-> hud-waiting event) + :code (behavior () (loop (if (or (not *progress-process*) (= (-> *progress-process* 0 next-state name) 'progress-going-out) @@ -377,8 +359,7 @@ ;; failed to figure out what this is: (defstate hud-going-out (first-person-hud) - :code - (behavior () + :code (behavior () (loop (seekl! (-> self in-out-position) 4096 (the int (* 350.0 (-> *display* time-adjust-ratio)))) (if (= (-> self in-out-position) 4096) @@ -388,8 +369,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (dumb-15 self) (none) ) @@ -471,16 +451,11 @@ ;; failed to figure out what this is: (defstate target-stance-look-around (target) - :event - target-standard-event-handler - :enter - (-> target-stance enter) - :exit - (-> target-stance exit) - :trans - (-> target-stance trans) - :code - (behavior () + :event target-standard-event-handler + :enter (-> target-stance enter) + :exit (-> target-stance exit) + :trans (-> target-stance trans) + :code (behavior () (while (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) self) (set! (-> a1-0 num-params) 0) @@ -499,14 +474,12 @@ ((the-as (function none :behavior target) (-> target-stance code))) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-look-around (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) (-> self state name) @@ -524,8 +497,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self cam-user-mode) 'look-around) (set! (-> self control unknown-surface00) *duck-mods*) (logior! (-> self state-flags) (state-flags sf09)) @@ -537,23 +509,12 @@ (deactivate a0-5) ) ) - (let ((gp-0 (get-process *default-dead-pool* first-person-hud #x4000))) - (set! (-> self fp-hud) - (ppointer->handle - (when gp-0 - (let ((t9-5 (method-of-type first-person-hud activate))) - (t9-5 (the-as first-person-hud gp-0) *dproc* 'first-person-hud (&+ *fp-hud-stack* #x3800)) - ) - (run-now-in-process gp-0 first-person-hud-init-by-other) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! (-> self fp-hud) + (ppointer->handle (process-spawn first-person-hud :to *dproc* :stack (&+ *fp-hud-stack* #x3800))) + ) (none) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self fp-hud)))) (if a0-1 (send-event a0-1 'go-away) @@ -561,22 +522,15 @@ ) (set! (-> self cam-user-mode) 'normal) (target-exit) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'query-state) - (set! (-> a1-2 param 0) (the-as uint cam-eye)) - (when (send-event-function *camera* a1-2) - (send-event *camera* 'no-intro) - (send-event *camera* 'force-blend 60) - (send-event *camera* 'clear-entity) - (camera-change-to (the-as string 'base) 60 #f) - ) + (when (send-event *camera* 'query-state cam-eye) + (send-event *camera* 'no-intro) + (send-event *camera* 'force-blend (seconds 0.2)) + (send-event *camera* 'clear-entity) + (camera-change-to (the-as string 'base) 60 #f) ) (none) ) - :trans - (behavior () + :trans (behavior () (local-vars (sv-48 vector)) (rlet ((vf0 :class vf) (vf4 :class vf) @@ -662,15 +616,9 @@ (none) ) ) - :code - (behavior () - (while (let ((f30-0 8192.0) - (a1-0 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 0) - (set! (-> a1-0 message) 'dist-from-interp-dest) - (< f30-0 (send-event-function *camera* a1-0)) + :code (behavior () + (while (let ((f30-0 8192.0)) + (< f30-0 (send-event *camera* 'dist-from-interp-dest)) ) (if (!= (-> self cam-user-mode) 'look-around) (go target-stance) @@ -687,14 +635,12 @@ ) (none) ) - :post - target-no-move-post + :post target-no-move-post ) ;; failed to figure out what this is: (defstate target-billy-game (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) (-> self state name) @@ -709,8 +655,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self neck flex-blend) 0.0) (set! (-> self control unknown-surface00) *duck-mods*) (logior! (-> self state-flags) (state-flags sf09)) @@ -723,44 +668,26 @@ (deactivate a0-6) ) ) - (let ((gp-0 (get-process *default-dead-pool* first-person-hud #x4000))) - (set! (-> self fp-hud) - (ppointer->handle - (when gp-0 - (let ((t9-6 (method-of-type first-person-hud activate))) - (t9-6 (the-as first-person-hud gp-0) *dproc* 'first-person-hud (&+ *fp-hud-stack* #x3800)) - ) - (run-now-in-process gp-0 first-person-hud-init-by-other) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! (-> self fp-hud) + (ppointer->handle (process-spawn first-person-hud :to *dproc* :stack (&+ *fp-hud-stack* #x3800))) + ) (none) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self fp-hud)))) (if a0-1 (send-event a0-1 'go-away) ) ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'query-state) - (set! (-> a1-2 param 0) (the-as uint cam-billy)) - (when (send-event-function *camera* a1-2) - (send-event *camera* 'no-intro) - (send-event *camera* 'force-blend 0) - (camera-change-to (the-as string 'base) 0 #f) - ) + (when (send-event *camera* 'query-state cam-billy) + (send-event *camera* 'no-intro) + (send-event *camera* 'force-blend 0) + (camera-change-to (the-as string 'base) 0 #f) ) (target-exit) (none) ) - :trans - (behavior () + :trans (behavior () (local-vars (sv-48 vector)) (rlet ((vf0 :class vf) (vf4 :class vf) @@ -835,21 +762,18 @@ (none) ) ) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (set! (-> self control transv quad) (the-as uint128 0)) (anim-loop) (none) ) - :post - target-no-move-post + :post target-no-move-post ) ;; failed to figure out what this is: (defstate target-grab (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) (-> self state name) @@ -886,22 +810,19 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self control unknown-surface00) *grab-mods*) (set! (-> self neck flex-blend) 0.0) (logior! (-> self state-flags) (state-flags sf04 sf08)) (set! (-> self control unknown-uint20) (the-as uint 'stance)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self state-flags) (state-flags sf04)) (target-exit) (none) ) - :code - (behavior () + :code (behavior () (set-forward-vel (the-as float (-> (new 'static 'array int32 1 0) 0))) (let ((gp-0 0)) (while (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) @@ -1011,8 +932,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (if (logtest? (-> self control status) (cshape-moving-flags onsurf)) (set! (-> self control transv quad) (the-as uint128 0)) ) @@ -1023,15 +943,13 @@ ;; failed to figure out what this is: (defstate target-pole-cycle (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (= arg2 'query) (= (-> arg3 param 0) 'mode)) (-> self state name) (target-standard-event-handler arg0 arg1 arg2 arg3) ) ) - :enter - (behavior ((arg0 handle)) + :enter (behavior ((arg0 handle)) (set! (-> self control unknown-handle10) arg0) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *pole-mods*) @@ -1043,15 +961,13 @@ (set! (-> self control unknown-int21) (the-as int #f)) (none) ) - :exit - (behavior () + :exit (behavior () (target-collide-set! 'normal (the-as float (-> (new 'static 'array int32 1 0) 0))) (logclear! (-> self control root-prim prim-core action) (collide-action ca-8)) (set! (-> self control unknown-handle10) (the-as handle #f)) (none) ) - :trans - (behavior () + :trans (behavior () (when (and (logtest? (logior (logior (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) ) @@ -1097,8 +1013,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (target-compute-pole) (set! (-> self control unknown-uint20) (the-as uint (vector-dot @@ -1143,22 +1058,17 @@ ) (none) ) - :post - target-no-move-post + :post target-no-move-post ) ;; failed to figure out what this is: (defstate target-pole-flip-up (target) - :event - target-standard-event-handler - :exit - (-> target-pole-cycle exit) - :code - (behavior ((arg0 object) (arg1 object) (arg2 float)) + :event target-standard-event-handler + :exit (-> target-pole-cycle exit) + :code (behavior ((arg0 object) (arg1 object) (arg2 float)) (ja-no-eval :group! (-> self draw art-group data 81) :num! (seek!) - :frame-num - (ja-aframe (+ 1.0 (fmin 17.0 (ja-aframe-num 0))) 0) + :frame-num (ja-aframe (+ 1.0 (fmin 17.0 (ja-aframe-num 0))) 0) ) (until (ja-done? 0) (suspend) @@ -1168,26 +1078,20 @@ (go target-pole-flip-up-jump (the-as float arg0) (the-as float arg1)) (none) ) - :post - target-no-move-post + :post target-no-move-post ) ;; failed to figure out what this is: (defstate target-pole-flip-up-jump (target) - :event - target-standard-event-handler - :enter - (-> target-jump-forward enter) - :exit - target-exit - :trans - (behavior () + :event target-standard-event-handler + :enter (-> target-jump-forward enter) + :exit target-exit + :trans (behavior () ((-> target-jump-forward trans)) (vector-flatten! (-> self control transv) (-> self control transv) (-> self control unknown-vector100)) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (sound-play-by-name (static-sound-name "jump") (new-sound-id) 1024 0 0 1 #t) (send-event *camera* 'damp-up) (ja :group! (-> self draw art-group data 83) :num! min) @@ -1209,18 +1113,14 @@ ) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-pole-flip-forward (target) - :event - target-standard-event-handler - :exit - (-> target-pole-cycle exit) - :code - (behavior ((arg0 float) (arg1 float) (arg2 float)) + :event target-standard-event-handler + :exit (-> target-pole-cycle exit) + :code (behavior ((arg0 float) (arg1 float) (arg2 float)) (ja-no-eval :group! (-> self draw art-group data 82) :num! (seek! (ja-aframe (the-as float 16.0) 0)) :frame-num (ja-aframe (+ 1.0 (ja-aframe-num 0)) 0) @@ -1233,30 +1133,24 @@ (go target-pole-flip-forward-jump arg0 arg1) (none) ) - :post - target-no-move-post + :post target-no-move-post ) ;; failed to figure out what this is: (defstate target-pole-flip-forward-jump (target) - :event - target-standard-event-handler - :enter - (behavior ((arg0 float) (arg1 float)) + :event target-standard-event-handler + :enter (behavior ((arg0 float) (arg1 float)) ((-> target-jump enter) arg0 arg1 (the-as surface #f)) (set! (-> self control unknown-surface00) *forward-pole-jump-mods*) (none) ) - :exit - target-exit - :trans - (behavior () + :exit target-exit + :trans (behavior () ((-> target-jump-forward trans)) (vector-flatten! (-> self control transv) (-> self control transv) (-> self control unknown-vector100)) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (sound-play-by-name (static-sound-name "jump") (new-sound-id) 1024 0 0 1 #t) (until (ja-done? 0) (suspend) @@ -1265,14 +1159,12 @@ ((the-as (function none :behavior target) (-> target-pole-flip-up-jump code))) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-edge-grab (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('end-mode) (go target-falling 'target-edge-grab) @@ -1282,8 +1174,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *edge-grab-mods*) (set! (-> self control unknown-dword41) (-> *display* base-frame-counter)) @@ -1293,16 +1184,14 @@ (send-event *camera* 'ease-in) (none) ) - :exit - (behavior () + :exit (behavior () (when (logtest? (-> self control root-prim prim-core action) (collide-action ca-7)) (logclear! (-> self control root-prim prim-core action) (collide-action ca-3 ca-7)) (send-event *camera* 'damp-up) ) (none) ) - :trans - (behavior () + :trans (behavior () (when (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.2)) (logtest? (logior (logior (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) @@ -1342,8 +1231,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (target-compute-edge) (set! (-> self control unknown-uint20) (the-as uint (vector-dot @@ -1391,14 +1279,12 @@ ) (none) ) - :post - target-no-move-post + :post target-no-move-post ) ;; failed to figure out what this is: (defstate target-edge-grab-jump (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('end-mode) (go target-falling 'target-edge-grab) @@ -1408,10 +1294,8 @@ ) ) ) - :exit - (-> target-edge-grab exit) - :code - (behavior ((arg0 float) (arg1 float)) + :exit (-> target-edge-grab exit) + :code (behavior ((arg0 float) (arg1 float)) (ja-channel-set! 1) (set-quaternion! (-> self control) (-> self control dir-targ)) (logclear! (-> self control root-prim prim-core action) (collide-action ca-3 ca-7)) @@ -1436,18 +1320,14 @@ (go target-jump-forward arg0 arg1) (none) ) - :post - target-no-move-post + :post target-no-move-post ) ;; failed to figure out what this is: (defstate target-edge-grab-off (target) - :event - target-standard-event-handler - :exit - (-> target-edge-grab exit) - :code - (behavior () + :event target-standard-event-handler + :exit (-> target-edge-grab exit) + :code (behavior () (ja-channel-set! 1) (set-quaternion! (-> self control) (-> self control dir-targ)) (send-event *camera* 'damp-up) @@ -1477,16 +1357,13 @@ (go target-falling 'target-edge-grab) (none) ) - :post - target-no-move-post + :post target-no-move-post ) ;; failed to figure out what this is: (defstate target-yellow-blast (target) - :event - (-> target-running-attack event) - :enter - (behavior () + :event (-> target-running-attack event) + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *run-attack-mods*) (set! (-> *run-attack-mods* turnv) 655360.0) @@ -1516,16 +1393,14 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> *run-attack-mods* turnv) 0.0) (set! (-> *run-attack-mods* turnvv) 0.0) (set! (-> self control unknown-dword31) (-> *display* base-frame-counter)) (target-exit) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (the-as handle #f))) (ja-channel-push! 1 (seconds 0.075)) (level-hint-spawn @@ -1608,8 +1483,7 @@ ) (none) ) - :post - target-post + :post target-post ) ;; definition for symbol *yellow-jump-mods*, type surface @@ -1639,10 +1513,8 @@ ;; failed to figure out what this is: (defstate target-yellow-jump-blast (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (set! (-> self control unknown-surface00) *yellow-jump-mods*) (let ((gp-0 (new-stack-vector0))) (let ((f0-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) @@ -1662,15 +1534,13 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (rot->dir-targ! (-> self control)) (set! (-> self control unknown-dword31) (-> *display* base-frame-counter)) (target-exit) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! eichar-yellow-jumping-blast-ja :num! (seek! (ja-aframe (the-as float 15.0) 0)) @@ -1698,29 +1568,22 @@ ) ) (ja :num! (seek!)) - (let ((gp-3 (get-process *default-dead-pool* projectile-yellow #x4000))) - (when gp-3 - (let ((t9-9 (method-of-type projectile-yellow activate))) - (t9-9 (the-as projectile-yellow gp-3) self 'projectile-yellow (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-3 - projectile-init-by-other - (-> self entity) - (-> self control unknown-vector90) - (vector-float*! - (new 'stack-no-clear 'vector) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self control quat)) - (the-as float (-> *TARGET-bank* yellow-projectile-speed)) - ) - (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) - 16 - 0 - ) - #f - ) - (-> gp-3 ppointer) + (process-spawn + projectile-yellow + :init projectile-init-by-other + (-> self entity) + (-> self control unknown-vector90) + (vector-float*! + (new 'stack-no-clear 'vector) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self control quat)) + (the-as float (-> *TARGET-bank* yellow-projectile-speed)) ) + (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) + 16 + 0 + ) + #f + :to self ) (set! (-> self control unknown-dword82) (-> *display* base-frame-counter)) (let ((gp-4 (-> *display* base-frame-counter))) @@ -1739,23 +1602,18 @@ ) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) ;; failed to figure out what this is: (defstate target-eco-powerup (target) - :event - target-standard-event-handler - :exit - target-exit - :trans - (behavior () + :event target-standard-event-handler + :exit target-exit + :trans (behavior () (slide-down-test) (none) ) - :code - (behavior ((arg0 object) (arg1 float)) + :code (behavior ((arg0 object) (arg1 float)) (set! (-> self neck flex-blend) 0.0) (set! (-> self state-time) (-> *display* base-frame-counter)) (if (= arg1 (-> *FACT-bank* eco-full-inc)) @@ -1764,15 +1622,13 @@ ) (ja-channel-push! 1 (seconds 0.05)) (ja-no-eval :group! eichar-powerup-ja - :num! - (seek! max (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) + :num! (seek! max (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) 2.0 3.0 ) ) ) - :frame-num - (ja-aframe + :frame-num (ja-aframe (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) (-> (new 'static 'array int32 1 0) 0) 6.0 @@ -1829,23 +1685,19 @@ (go target-falling 'target-eco-powerup) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-wade-stance (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *wade-mods*) (set-zero! (-> self water bob)) (none) ) - :exit - (behavior () + :exit (behavior () (target-state-hook-exit) (target-exit) (let ((v1-1 (-> self skel effect))) @@ -1854,8 +1706,7 @@ 0 (none) ) - :trans - (behavior () + :trans (behavior () ((-> self state-hook)) (when (and (zero? (logand (-> self water flags) (water-flags wt10))) (>= (- (-> *display* base-frame-counter) (-> self water wade-time)) (seconds 0.05)) @@ -1892,22 +1743,16 @@ ) (none) ) - :code - (-> target-stance code) - :post - target-post + :code (-> target-stance code) + :post target-post ) ;; failed to figure out what this is: (defstate target-wade-walk (target) - :event - target-standard-event-handler - :enter - (-> target-wade-stance enter) - :exit - (-> target-wade-stance exit) - :trans - (behavior () + :event target-standard-event-handler + :enter (-> target-wade-stance enter) + :exit (-> target-wade-stance exit) + :trans (behavior () ((-> self state-hook)) (when (and (zero? (logand (-> self water flags) (water-flags wt10))) (>= (- (-> *display* base-frame-counter) (-> self water wade-time)) (seconds 0.1)) @@ -1944,8 +1789,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 105) (f30-0 0.0) ) @@ -2119,8 +1963,7 @@ ) (none) ) - :post - target-post + :post target-post ) ;; definition for function target-swim-tilt @@ -2167,17 +2010,14 @@ ;; failed to figure out what this is: (defstate target-swim-stance (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *swim-mods*) (logior! (-> self water flags) (water-flags wt04)) (none) ) - :exit - (behavior () + :exit (behavior () (target-state-hook-exit) (set! (-> self control unknown-surface00 target-speed) 28672.0) (target-exit) @@ -2192,8 +2032,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () ((-> self state-hook)) (if (and (logtest? (-> self control status) (cshape-moving-flags onsurf)) (zero? (logand (-> self control status) (cshape-moving-flags on-water))) @@ -2250,15 +2089,13 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((v1-2 (ja-group))) (cond ((or (= v1-2 eichar-swim-up-ja) (= v1-2 eichar-swim-down-to-up-ja)) (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! eichar-swim-up-to-stance-ja - :num! - (seek! + :num! (seek! max (the-as float (if (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) 1.0 @@ -2303,25 +2140,20 @@ ) (none) ) - :post - target-swim-post + :post target-swim-post ) ;; failed to figure out what this is: (defstate target-swim-walk (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () ((-> target-swim-stance enter)) (die-on-next-update! (-> self water bob)) (set! (-> self control unknown-uint20) (the-as uint (-> *display* base-frame-counter))) (none) ) - :exit - (-> target-swim-stance exit) - :trans - (behavior () + :exit (-> target-swim-stance exit) + :trans (behavior () ((-> self state-hook)) (if (and (logtest? (-> self control status) (cshape-moving-flags onsurf)) (zero? (logand (-> self control status) (cshape-moving-flags on-water))) @@ -2379,8 +2211,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((v1-2 (ja-group))) (cond ((or (= v1-2 eichar-swim-up-ja) (= v1-2 eichar-swim-down-to-up-ja) (= v1-2 eichar-swim-up-to-stance-ja)) @@ -2420,23 +2251,21 @@ ) (none) ) - :post - target-swim-post + :post target-swim-post ) ;; failed to figure out what this is: (defstate target-swim-down (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack 'attack-invinc) (let ((v1-2 (the-as attack-info (-> arg3 param 1)))) - (when (or (zero? (logand (-> v1-2 mask) 32)) (= (-> v1-2 mode) 'generic) (= (-> v1-2 mode) 'drown)) + (when (or (zero? (logand (-> v1-2 mask) (attack-mask mode))) (= (-> v1-2 mode) 'generic) (= (-> v1-2 mode) 'drown)) (set! (-> v1-2 mode) 'damage) (if (and (= (-> self game mode) 'play) (>= 1.0 (-> self fact-info-target health))) (set! (-> v1-2 mode) 'drown-death) ) - (logior! (-> v1-2 mask) 32) + (logior! (-> v1-2 mask) (attack-mask mode)) (set! (-> self control unknown-uint20) (the-as uint #t)) ) ) @@ -2444,8 +2273,7 @@ ) (target-standard-event-handler arg0 arg1 arg2 arg3) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self water flags) (water-flags wt04)) (set! (-> self control unknown-surface00) *dive-mods*) @@ -2458,8 +2286,7 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) (target-exit) @@ -2474,8 +2301,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self water swim-time)) (seconds 0.5)) (go target-stance) ) @@ -2505,8 +2331,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 60) (s5-0 3000) (f30-0 0.0) @@ -2605,20 +2430,15 @@ ) (none) ) - :post - target-swim-post + :post target-swim-post ) ;; failed to figure out what this is: (defstate target-swim-up (target) - :event - (-> target-swim-down event) - :enter - (-> target-swim-down enter) - :exit - (-> target-swim-down exit) - :trans - (behavior () + :event (-> target-swim-down event) + :enter (-> target-swim-down enter) + :exit (-> target-swim-down exit) + :trans (behavior () (if (and (cpad-pressed? (-> self control unknown-cpad-info00 number) x) (zero? (logand (-> self state-flags) (state-flags sf11))) (zero? (logand (-> self water flags) (water-flags wt13 wt14))) @@ -2630,26 +2450,15 @@ (the-as surface #f) ) ) - (when (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 10)) - (< (target-move-dist (-> *TARGET-bank* stuck-time)) (-> *TARGET-bank* stuck-distance)) - ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'attack) - (set! (-> a1-1 param 0) (the-as uint #f)) - (let ((a0-8 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-8 mode) 'drown-death) - (set! (-> a1-1 param 1) (the-as uint a0-8)) - ) - (send-event-function self a1-1) + (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 10)) + (< (target-move-dist (-> *TARGET-bank* stuck-time)) (-> *TARGET-bank* stuck-distance)) + ) + (send-event self 'attack #f (static-attack-info ((mode 'drown-death)))) ) - ) ((-> target-swim-down trans)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (let ((f30-0 1.0)) (let ((gp-0 #t)) @@ -2722,20 +2531,15 @@ (go target-swim-stance) (none) ) - :post - target-swim-post + :post target-swim-post ) ;; failed to figure out what this is: (defstate target-swim-jump-jump (target) - :event - (-> target-jump event) - :enter - (-> target-jump enter) - :exit - target-exit - :trans - (behavior () + :event (-> target-jump event) + :enter (-> target-jump enter) + :exit target-exit + :trans (behavior () (cond ((< (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) (set! (-> self water flags) (logior (water-flags wt16) (-> self water flags))) @@ -2748,28 +2552,22 @@ ((-> target-jump trans)) (none) ) - :code - (-> target-jump code) - :post - target-post + :code (-> target-jump code) + :post target-post ) ;; failed to figure out what this is: (defstate target-swim-jump (target) - :event - target-standard-event-handler - :enter - (-> target-swim-stance enter) - :exit - (behavior () + :event target-standard-event-handler + :enter (-> target-swim-stance enter) + :exit (behavior () ((-> target-swim-stance exit)) (die-on-next-update! (-> self water bob)) (set! (-> self water align-offset) 0.0) (set! (-> self water flags) (logior (water-flags wt16) (-> self water flags))) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (die-on-next-update! (-> self water bob)) (ja-channel-push! 1 (seconds 0.05)) (ja :group! eichar-swim-jump-ja :num! min) @@ -2804,24 +2602,20 @@ ) (none) ) - :post - target-swim-post + :post target-swim-post ) ;; failed to figure out what this is: (defstate target-hit-ground-hard (target) - :event - target-standard-event-handler - :enter - (behavior ((arg0 float)) + :event target-standard-event-handler + :enter (behavior ((arg0 float)) (set! (-> self control unknown-dword31) 0) (set! (-> self control unknown-dword33) 0) (set-forward-vel (the-as float (-> (new 'static 'array int32 1 0) 0))) (set! (-> self control unknown-surface00) *walk-mods*) (none) ) - :code - (behavior ((arg0 float)) + :code (behavior ((arg0 float)) (when (!= arg0 0.0) (let ((f0-5 (the float (the int (+ 1.0 (/ (- arg0 (-> *TARGET-bank* fall-far)) (-> *TARGET-bank* fall-far-inc)))))) ) @@ -2863,21 +2657,18 @@ ) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) ;; failed to figure out what this is: (defstate target-launch (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (= arg2 'query) (= (-> arg3 param 0) 'mode)) 'target-launch (target-standard-event-handler arg0 arg1 arg2 arg3) ) ) - :code - (behavior ((arg0 float) (arg1 symbol) (arg2 vector) (arg3 int)) + :code (behavior ((arg0 float) (arg1 symbol) (arg2 vector) (arg3 int)) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *turn-around-mods*) (ja-channel-push! 1 (seconds 0.15)) @@ -2888,99 +2679,90 @@ (ja :num! (seek! (ja-aframe (the-as float 15.0) 0) 3.0)) ) (if arg1 - (send-event *camera* 'change-state arg1 180) + (send-event *camera* 'change-state arg1 (seconds 0.6)) ) - (when (nonzero? arg3) - (let ((s3-1 (get-process *default-dead-pool* process #x4000))) - (when s3-1 - (let ((t9-9 (method-of-type process activate))) - (t9-9 s3-1 self 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process - s3-1 - (lambda :behavior target - ((arg0 vector) (arg1 time-frame) (arg2 float)) - (local-vars (sv-32 time-frame) (sv-40 vector) (sv-44 symbol)) - (set! sv-32 (-> *display* base-frame-counter)) - (let ((v1-2 (new-stack-vector0))) - (set! (-> v1-2 quad) (-> arg0 quad)) - (set! sv-40 v1-2) - ) - (set! sv-44 #t) - (until (>= (- (-> *display* base-frame-counter) sv-32) arg1) - (let ((s4-0 (ppointer->process (-> self parent)))) - (cond - ((and sv-44 - (< (- (-> (the-as target s4-0) control trans y) (-> (the-as target s4-0) control unknown-vector52 y)) arg2) - ) - (vector-xz-normalize! - (-> (the-as target s4-0) control transv) - (the-as float (-> (new 'static 'array int32 1 0) 0)) - ) - (case (-> (the-as target s4-0) current-level name) - (('jungleb) - (let ((v1-16 (vector-! (new-stack-vector0) (-> (the-as target s4-0) control trans) sv-40))) - (set! (-> (the-as target s4-0) control trans x) (+ (-> sv-40 x) (fmax -4096.0 (fmin 4096.0 (-> v1-16 x))))) - (set! (-> (the-as target s4-0) control trans z) (+ (-> sv-40 z) (fmax -4096.0 (fmin 4096.0 (-> v1-16 z))))) - ) + (if (nonzero? arg3) + (process-spawn-function + process + (lambda :behavior target + ((arg0 vector) (arg1 time-frame) (arg2 float)) + (local-vars (sv-32 time-frame) (sv-40 vector) (sv-44 symbol)) + (set! sv-32 (-> *display* base-frame-counter)) + (let ((v1-2 (new-stack-vector0))) + (set! (-> v1-2 quad) (-> arg0 quad)) + (set! sv-40 v1-2) + ) + (set! sv-44 #t) + (until (>= (- (-> *display* base-frame-counter) sv-32) arg1) + (let ((s4-0 (ppointer->process (-> self parent)))) + (cond + ((and sv-44 + (< (- (-> (the-as target s4-0) control trans y) (-> (the-as target s4-0) control unknown-vector52 y)) arg2) ) - ) + (vector-xz-normalize! + (-> (the-as target s4-0) control transv) + (the-as float (-> (new 'static 'array int32 1 0) 0)) ) - (else - (if sv-44 - (set! sv-32 (-> *display* base-frame-counter)) - ) - (set! sv-44 (the-as symbol #f)) - (when (or (= (-> (the-as target s4-0) next-state name) 'target-duck-high-jump-jump) - (= (-> (the-as target s4-0) next-state name) 'target-falling) - ) - (let ((v1-30 (-> (the-as target s4-0) control trans)) - (s3-0 (-> (the-as target s4-0) control transv)) + (case (-> (the-as target s4-0) current-level name) + (('jungleb) + (let ((v1-16 (vector-! (new-stack-vector0) (-> (the-as target s4-0) control trans) sv-40))) + (set! (-> (the-as target s4-0) control trans x) (+ (-> sv-40 x) (fmax -4096.0 (fmin 4096.0 (-> v1-16 x))))) + (set! (-> (the-as target s4-0) control trans z) (+ (-> sv-40 z) (fmax -4096.0 (fmin 4096.0 (-> v1-16 z))))) + ) + ) + ) + ) + (else + (if sv-44 + (set! sv-32 (-> *display* base-frame-counter)) + ) + (set! sv-44 (the-as symbol #f)) + (when (or (= (-> (the-as target s4-0) next-state name) 'target-duck-high-jump-jump) + (= (-> (the-as target s4-0) next-state name) 'target-falling) ) - (set! (-> s3-0 x) (- (-> sv-40 x) (-> v1-30 x))) - (set! (-> s3-0 z) (- (-> sv-40 z) (-> v1-30 z))) - (let ((f30-0 (vector-xz-length s3-0))) - (if (< 122880.0 f30-0) - (vector-xz-normalize! s3-0 (the-as float 122880.0)) - ) - (if (< 4096.0 f30-0) - (forward-up-nopitch->quaternion - (-> (the-as target s4-0) control dir-targ) - (vector-normalize-copy! (new 'stack-no-clear 'vector) s3-0 (the-as float 1.0)) - (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> (the-as target s4-0) control quat)) - ) - ) + (let ((v1-30 (-> (the-as target s4-0) control trans)) + (s3-0 (-> (the-as target s4-0) control transv)) ) + (set! (-> s3-0 x) (- (-> sv-40 x) (-> v1-30 x))) + (set! (-> s3-0 z) (- (-> sv-40 z) (-> v1-30 z))) + (let ((f30-0 (vector-xz-length s3-0))) + (if (< 122880.0 f30-0) + (vector-xz-normalize! s3-0 (the-as float 122880.0)) + ) + (if (< 4096.0 f30-0) + (forward-up-nopitch->quaternion + (-> (the-as target s4-0) control dir-targ) + (vector-normalize-copy! (new 'stack-no-clear 'vector) s3-0 (the-as float 1.0)) + (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> (the-as target s4-0) control quat)) + ) + ) ) ) ) ) ) - (suspend) - 0 ) - #f + (suspend) + 0 ) - arg2 - arg3 - 143360.0 + #f ) - (-> s3-1 ppointer) + arg2 + arg3 + 143360.0 + :to self ) ) - ) (sound-play-by-name (static-sound-name "launch-fire") (new-sound-id) 1024 0 0 1 #t) (go target-high-jump arg0 arg0 'launch) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) ;; failed to figure out what this is: (defstate target-periscope (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('change-mode) #f @@ -2996,16 +2778,14 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (target-exit) (set! (-> self cam-user-mode) 'normal) (logior! (-> self state-flags) (state-flags sf08)) (logclear! (-> self state-flags) (state-flags sf04)) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (set! (-> self neck flex-blend) 0.0) (target-exit) (logior! (-> self state-flags) (state-flags sf04 sf07)) @@ -3038,16 +2818,13 @@ (go target-stance) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) ;; failed to figure out what this is: (defstate target-play-anim (target) - :event - target-generic-event-handler - :enter - (behavior ((arg0 string) (arg1 handle)) + :event target-generic-event-handler + :enter (behavior ((arg0 string) (arg1 handle)) (set! (-> self control unknown-handle10) arg1) (move-to-ground (-> self control) @@ -3060,14 +2837,12 @@ (set! (-> self neck flex-blend) 0.0) (none) ) - :exit - (behavior () + :exit (behavior () (send-event (handle->process (-> self control unknown-handle10)) 'end-mode) (target-exit) (none) ) - :code - (behavior ((arg0 string) (arg1 handle)) + :code (behavior ((arg0 string) (arg1 handle)) (let ((gp-0 (the-as art-joint-anim (lookup-art (-> self draw art-group) arg0 art-joint-anim)))) (when gp-0 (send-event (ppointer->process (-> self sidekick)) 'matrix 'play-anim) @@ -3083,21 +2858,18 @@ (go target-stance) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) ;; failed to figure out what this is: (defstate target-clone-anim (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (= arg2 'trans) (= (-> arg3 param 0) 'restore)) (set! (-> self control unknown-uint20) (the-as uint #f)) ) ((-> target-grab event) arg0 arg1 arg2 arg3) ) - :enter - (behavior ((arg0 handle)) + :enter (behavior ((arg0 handle)) (set! (-> self control unknown-handle10) arg0) (set! (-> self control unknown-vector102 quad) (-> self control trans quad)) (set! (-> self control unknown-uint20) (the-as uint #t)) @@ -3108,8 +2880,7 @@ (send-event (ppointer->process (-> self sidekick)) 'shadow #t) (none) ) - :exit - (behavior () + :exit (behavior () (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) (send-event (ppointer->process (-> self sidekick)) 'shadow #t) (let ((gp-0 (-> self node-list data 3)) @@ -3154,12 +2925,10 @@ (target-exit) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (clone-anim arg0 (the-as int (-> self draw origin-joint-index)) #t "") (go target-stance) (none) ) - :post - target-no-ja-move-post + :post target-no-ja-move-post ) diff --git a/test/decompiler/reference/engine/target/target_REF.gc b/test/decompiler/reference/engine/target/target_REF.gc index 7abdec8c0f..8451f11a76 100644 --- a/test/decompiler/reference/engine/target/target_REF.gc +++ b/test/decompiler/reference/engine/target/target_REF.gc @@ -321,37 +321,30 @@ ;; failed to figure out what this is: (defstate target-startup (target) - :event - target-standard-event-handler - :code - (behavior () + :event target-standard-event-handler + :code (behavior () (suspend) (suspend) (go target-stance) (none) ) - :post - target-no-move-post + :post target-no-move-post ) ;; failed to figure out what this is: (defstate target-stance (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (set! (-> self control unknown-surface00) *walk-mods*) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control unknown-float81) 0.0) (target-state-hook-exit) (none) ) - :trans - (behavior () + :trans (behavior () ((-> self state-hook)) (if (logtest? (-> self water flags) (water-flags wt10)) (go target-wade-stance) @@ -400,8 +393,7 @@ (fall-test) (none) ) - :code - (behavior () + :code (behavior () (let ((s5-0 22) (gp-0 (new 'stack 'ground-tween-info)) ) @@ -453,11 +445,10 @@ ((ja-group? eichar-attack-punch-ja) (set! (-> self control unknown-float81) (-> self control unknown-float80)) (set! (-> self control unknown-surface00) *walk-no-turn-mods*) - (ja-no-eval :group! - (if (rand-vu-percent? (the-as float 0.3)) - eichar-attack-punch-alt-end-ja - eichar-attack-punch-end-ja - ) + (ja-no-eval :group! (if (rand-vu-percent? (the-as float 0.3)) + eichar-attack-punch-alt-end-ja + eichar-attack-punch-end-ja + ) :num! (seek!) :frame-num 0.0 ) @@ -575,28 +566,23 @@ ) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-walk (target) - :event - target-walk-event-handler - :enter - (behavior () + :event target-walk-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *walk-mods*) (none) ) - :exit - (behavior () + :exit (behavior () (target-effect-exit) (target-state-hook-exit) (none) ) - :trans - (behavior () + :trans (behavior () ((-> self state-hook)) (when (= (-> self control ground-pat material) (pat-material ice)) (target-effect-exit) @@ -662,8 +648,7 @@ (fall-test) (none) ) - :code - (behavior () + :code (behavior () (let ((f28-0 0.0) (f30-0 (fmax 0.0 (fmin 1.0 (* 0.000048828126 (+ -16384.0 (-> self control unknown-float01)))))) (gp-0 #f) @@ -813,11 +798,10 @@ ) (until (ja-done? 0) (suspend) - (ja :num! - (seek! max (/ (* (fmax 20480.0 (-> self control unknown-float01)) (-> *display* seconds-per-frame)) - (/ (-> *TARGET-bank* run-up-cycle-dist) (-> *TARGET-bank* run-cycle-length)) - ) - ) + (ja :num! (seek! max (/ (* (fmax 20480.0 (-> self control unknown-float01)) (-> *display* seconds-per-frame)) + (/ (-> *TARGET-bank* run-up-cycle-dist) (-> *TARGET-bank* run-cycle-length)) + ) + ) ) ) (set! f28-0 30.0) @@ -966,23 +950,19 @@ ) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-turn-around (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (vector-turn-to (-> self control transv)) (set! (-> self control unknown-surface00) *turn-around-mods*) (set! (-> self control unknown-float81) 1.0) (none) ) - :exit - (behavior () + :exit (behavior () (target-state-hook-exit) (set-forward-vel (the-as float 0.0)) (set! (-> self control unknown-float01) 0.0) @@ -990,8 +970,7 @@ (set! (-> self control unknown-float81) 0.0) (none) ) - :trans - (behavior () + :trans (behavior () ((-> self state-hook)) (if (and (logtest? (logior (logior (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) @@ -1018,8 +997,7 @@ (slide-down-test) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.04)) (ja :group! eichar-turn-around-ja :num! min) (quaternion-rotate-y! (-> self control dir-targ) (-> self control dir-targ) (the-as float 32768.0)) @@ -1038,26 +1016,21 @@ (go target-walk) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) ;; failed to figure out what this is: (defstate target-slide-down (target) - :event - target-walk-event-handler - :enter - (behavior () + :event target-walk-event-handler + :enter (behavior () (set! (-> self control unknown-surface00) *jump-mods*) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control unknown-dword35) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (when (or (logtest? (-> self control status) (cshape-moving-flags onsurf)) (if (< (target-move-dist (-> *TARGET-bank* stuck-time)) (-> *TARGET-bank* stuck-distance)) #t @@ -1068,8 +1041,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (if (not (ja-group? eichar-duck-stance-ja)) (ja-channel-push! 1 (seconds 0.1)) ) @@ -1082,8 +1054,7 @@ ) (none) ) - :post - target-post + :post target-post ) ;; definition for function init-var-jump @@ -1223,17 +1194,14 @@ ;; failed to figure out what this is: (defstate target-duck-stance (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (set! (-> self control unknown-float81) 1.0) (set! (-> self control unknown-surface00) *duck-mods*) (target-collide-set! 'duck (the-as float 1.0)) (none) ) - :exit - (behavior () + :exit (behavior () (if (not (or (= (-> self next-state name) 'target-duck-walk) (= (-> self next-state name) 'target-duck-stance) (= (-> self next-state name) 'target-walk) @@ -1247,8 +1215,7 @@ (target-collide-set! 'normal (the-as float 0.0)) (none) ) - :trans - (behavior () + :trans (behavior () ((-> self state-hook)) (if (and (or (zero? (logand (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons l1 r1)) ) @@ -1288,8 +1255,7 @@ (slide-down-test) (none) ) - :code - (behavior () + :code (behavior () (cond ((ja-group? eichar-duck-roll-ja) (ja-no-eval :group! eichar-duck-roll-end-ja :num! (seek!) :frame-num 0.0) @@ -1321,16 +1287,13 @@ ) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-duck-walk (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (set! (-> self control unknown-float81) 1.0) (target-collide-set! 'duck (the-as float 1.0)) (if (not (ja-group? eichar-duck-roll-ja)) @@ -1338,10 +1301,8 @@ ) (none) ) - :exit - (-> target-duck-stance exit) - :trans - (behavior () + :exit (-> target-duck-stance exit) + :trans (behavior () ((-> self state-hook)) (if (and (or (zero? (logand (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons l1 r1)) ) @@ -1382,8 +1343,7 @@ (slide-down-test) (none) ) - :code - (behavior () + :code (behavior () (cond ((and (ja-group? eichar-duck-walk-ja) (= (-> self skel root-channel 0) (-> self skel channel))) ) @@ -1400,27 +1360,23 @@ (if (= (-> self skel root-channel 0) (-> self skel channel)) (set! (-> self control unknown-surface00) *duck-mods*) ) - (ja :num! - (loop! (fmin 1.0 (/ (-> self control unknown-float01) - (* 60.0 (/ (-> *TARGET-bank* duck-walk-cycle-dist) (-> *TARGET-bank* run-cycle-length))) - ) - ) - ) + (ja :num! (loop! (fmin 1.0 (/ (-> self control unknown-float01) + (* 60.0 (/ (-> *TARGET-bank* duck-walk-cycle-dist) (-> *TARGET-bank* run-cycle-length))) + ) + ) + ) ) (suspend) ) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-jump (target) - :event - target-jump-event-handler - :enter - (behavior ((arg0 float) (arg1 float) (arg2 surface)) + :event target-jump-event-handler + :enter (behavior ((arg0 float) (arg1 float) (arg2 surface)) (when (= (-> self control unknown-symbol40) 'launch) (level-hint-spawn (game-text-id daxter-screaming-jump) @@ -1486,10 +1442,8 @@ ) (none) ) - :exit - target-exit - :trans - (behavior () + :exit target-exit + :trans (behavior () (set! (-> self control unknown-float123) (fmax (-> self control unknown-float123) @@ -1541,8 +1495,7 @@ ) (none) ) - :code - (behavior ((arg0 float) (arg1 float) (arg2 surface)) + :code (behavior ((arg0 float) (arg1 float) (arg2 surface)) (ja-channel-push! 2 (seconds 0.05)) (ja :group! eichar-jump-ja :num! min) (ja :chan 1 :group! eichar-jump-forward-ja :num! (chan 0) :frame-interp (-> self control unknown-float122)) @@ -1575,26 +1528,20 @@ (target-falling-anim -1 (seconds 0.2)) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-jump-forward (target) - :event - target-jump-event-handler - :enter - (behavior ((arg0 float) (arg1 float)) + :event target-jump-event-handler + :enter (behavior ((arg0 float) (arg1 float)) ((-> target-jump enter) arg0 arg1 (the-as surface #f)) (set! (-> self control unknown-surface00) *forward-jump-mods*) (none) ) - :exit - target-exit - :trans - (-> target-jump trans) - :code - (behavior ((arg0 float) (arg1 float)) + :exit target-exit + :trans (-> target-jump trans) + :code (behavior ((arg0 float) (arg1 float)) (ja-channel-set! 1) (ja-no-eval :group! eichar-jump-ja :num! (seek!) :frame-num (ja-aframe (the-as float 3.0) 0)) (until (ja-done? 0) @@ -1609,16 +1556,13 @@ ) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-double-jump (target) - :event - target-jump-event-handler - :enter - (behavior ((arg0 float) (arg1 float)) + :event target-jump-event-handler + :enter (behavior ((arg0 float) (arg1 float)) (when (= (-> self control unknown-symbol40) 'launch) enter-state (let ((a0-3 (-> self control unknown-dword60)) @@ -1635,10 +1579,8 @@ (set! (-> self control unknown-surface00) *double-jump-mods*) (none) ) - :exit - target-exit - :trans - (behavior () + :exit target-exit + :trans (behavior () (target-falling-trans #f (the-as time-frame (if (ja-group? eichar-jump-loop-ja) 15 -1 @@ -1676,8 +1618,7 @@ ) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (ja-channel-push! 2 (seconds 0.05)) (dummy-10 (-> self skel effect) 'jump-double (the-as float -1.0) -1) (ja-no-eval :group! eichar-jump-ja :num! (seek!) :frame-num (ja-aframe (the-as float 5.0) 0)) @@ -1690,16 +1631,13 @@ (target-falling-anim -1 (seconds 0.2)) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-high-jump (target) - :event - target-jump-event-handler - :enter - (behavior ((arg0 float) (arg1 float) (arg2 basic)) + :event target-jump-event-handler + :enter (behavior ((arg0 float) (arg1 float) (arg2 basic)) (when (and (= (-> self control unknown-symbol40) 'launch) (!= arg2 'launch)) enter-state (let ((a0-3 (-> self control unknown-dword60)) @@ -1735,10 +1673,8 @@ ) (none) ) - :exit - target-exit - :trans - (behavior () + :exit target-exit + :trans (behavior () (target-falling-trans #f (the-as time-frame (if (ja-group? eichar-jump-loop-ja) 15 -1 @@ -1780,27 +1716,21 @@ ) (none) ) - :code - (-> target-jump code) - :post - target-post + :code (-> target-jump code) + :post target-post ) ;; failed to figure out what this is: (defstate target-duck-high-jump (target) - :event - target-standard-event-handler - :enter - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + :event target-standard-event-handler + :enter (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self control status) (cshape-moving-flags onsurf onground tsurf)) (set! (-> self control unknown-surface00) *turn-around-mods*) (none) ) - :exit - target-exit - :code - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + :exit target-exit + :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (if (not (and (ja-group? eichar-duck-stance-ja) (= (-> self skel root-channel 0) (-> self skel channel)))) (ja-channel-push! 1 (seconds 0.04)) ) @@ -1823,16 +1753,13 @@ (go target-duck-high-jump-jump arg0 arg1 arg2) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-duck-high-jump-jump (target) - :event - target-jump-event-handler - :enter - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + :event target-jump-event-handler + :enter (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (sound-play-by-name (static-sound-name "jump") (new-sound-id) 819 -609 0 1 #t) (init-var-jump arg0 arg1 (the-as vector #t) (the-as vector #f) (-> self control transv)) @@ -1848,12 +1775,9 @@ ) (none) ) - :exit - target-exit - :trans - (-> target-high-jump trans) - :code - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + :exit target-exit + :trans (-> target-high-jump trans) + :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (let ((f30-0 (the-as float (if (= arg2 'launch) 110.0 35.0 @@ -1908,23 +1832,19 @@ (the-as none 0) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-falling (target) - :event - target-jump-event-handler - :enter - (behavior ((arg0 symbol)) + :event target-jump-event-handler + :enter (behavior ((arg0 symbol)) (set! (-> self control unknown-surface00) *jump-mods*) (set! (-> self control unknown-uint20) (the-as uint arg0)) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (target-falling-trans (-> self control unknown-spoolanim00) (the-as time-frame (if (= (-> self control unknown-spoolanim00) #f) @@ -1935,21 +1855,17 @@ ) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (target-falling-anim -1 (seconds 0.33)) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-hit-ground (target) - :event - target-walk-event-handler - :enter - (behavior ((arg0 symbol)) + :event target-walk-event-handler + :enter (behavior ((arg0 symbol)) (cond ((= arg0 'stuck) ) @@ -2004,8 +1920,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (logtest? (logior (logior (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) ) @@ -2039,22 +1954,18 @@ (slide-down-test) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (target-hit-ground-anim #f) (go target-stance) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-attack (target) - :event - target-dangerous-event-handler - :enter - (behavior () + :event target-dangerous-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (target-start-attack) (target-danger-set! 'spin #f) @@ -2063,18 +1974,15 @@ (set! (-> self neck flex-blend) 0.0) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control unknown-dword33) (-> *display* base-frame-counter)) (target-exit) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.05)) (ja-no-eval :group! eichar-attack-from-stance-ja - :num! - (seek! max (-> self control unknown-surface01 align-speed)) + :num! (seek! max (-> self control unknown-surface01 align-speed)) :frame-num 0.0 ) (until (ja-done? 0) @@ -2108,14 +2016,12 @@ (go target-stance) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-running-attack (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touched) (cond @@ -2175,8 +2081,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (if (or (and (= (-> self fact-info-target eco-type) (pickup-type eco-yellow)) (>= (-> self fact-info-target eco-level) 1.0) ) @@ -2198,8 +2103,7 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) (set! (-> *run-attack-mods* turnv) 0.0) @@ -2208,8 +2112,7 @@ (target-exit) (none) ) - :trans - (behavior () + :trans (behavior () (when (!= (-> self state-time) (-> *display* base-frame-counter)) (if (and (or (smack-surface? #t) (and (>= (-> self control unknown-float63) 0.7) @@ -2296,8 +2199,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (if (logtest? (-> self water flags) (water-flags wt09)) (sound-play-by-name (static-sound-name "swim-stroke") (new-sound-id) 1024 0 0 1 #t) ) @@ -2397,14 +2299,12 @@ (go target-stance) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-attack-air (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v0-0 (target-bonk-event-handler arg0 arg1 arg2 arg3))) (cond (v0-0 @@ -2417,8 +2317,7 @@ ) ) ) - :enter - (behavior ((arg0 symbol)) + :enter (behavior ((arg0 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self control status) (cshape-moving-flags onsurf onground tsurf)) (target-start-attack) @@ -2485,15 +2384,13 @@ (set! (-> self control unknown-vector52 quad) (-> self control trans quad)) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) ((-> target-attack exit)) (none) ) - :trans - (behavior () + :trans (behavior () (when (logtest? (-> self control status) (cshape-moving-flags onsurf)) (set-quaternion! (-> self control) (-> self control dir-targ)) (go target-hit-ground #f) @@ -2528,8 +2425,7 @@ ) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! eichar-attack-from-jump-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -2591,31 +2487,25 @@ (go target-falling #f) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-attack-uppercut (target) - :event - target-dangerous-event-handler - :enter - (behavior ((arg0 float) (arg1 float)) + :event target-dangerous-event-handler + :enter (behavior ((arg0 float) (arg1 float)) (set! (-> self state-time) (-> *display* base-frame-counter)) (target-start-attack) (target-danger-set! 'uppercut #f) (set! (-> self control unknown-surface00) *turn-around-mods*) (none) ) - :exit - target-exit - :code - (behavior ((arg0 float) (arg1 float)) + :exit target-exit + :code (behavior ((arg0 float) (arg1 float)) (let ((s3-0 (ja-group? eichar-duck-stance-ja))) (ja-no-eval :group! eichar-attack-uppercut-ja :num! (seek! (ja-aframe (the-as float 7.0) 0)) - :frame-num - (the-as float (if s3-0 + :frame-num (the-as float (if s3-0 (ja-aframe (the-as float 5.0) 0) 0.0 ) @@ -2629,16 +2519,13 @@ (go target-attack-uppercut-jump arg0 arg1) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-attack-uppercut-jump (target) - :event - target-dangerous-event-handler - :enter - (behavior ((arg0 float) (arg1 float)) + :event target-dangerous-event-handler + :enter (behavior ((arg0 float) (arg1 float)) (if (and (= (-> self control ground-pat material) (pat-material ice)) (< 32768.0 (-> self control unknown-float01)) ) @@ -2652,10 +2539,8 @@ (target-danger-set! 'uppercut #f) (none) ) - :exit - target-exit - :trans - (behavior () + :exit target-exit + :trans (behavior () (if (logtest? (-> self control status) (cshape-moving-flags onsurf)) (go target-hit-ground #f) ) @@ -2704,8 +2589,7 @@ (slide-down-test) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (TODO-RENAME-9 (-> self align)) (until (ja-done? 0) (suspend) @@ -2733,14 +2617,12 @@ (go target-falling #f) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-flop (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v0-0 (target-bonk-event-handler arg0 arg1 arg2 arg3))) (cond (v0-0 @@ -2774,8 +2656,7 @@ ) ) ) - :enter - (behavior ((arg0 float) (arg1 float) (arg2 float)) + :enter (behavior ((arg0 float) (arg1 float) (arg2 float)) (if (and (= (-> self fact-info-target eco-type) (pickup-type eco-yellow)) (>= (-> self fact-info-target eco-level) 1.0) ) @@ -2809,16 +2690,14 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (target-danger-set! 'harmless #f) (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) (set! (-> self control dynam gravity quad) (-> self control unknown-dynamics00 gravity quad)) (none) ) - :trans - (behavior () + :trans (behavior () (delete-back-vel) (let ((gp-1 (logtest? (-> self control status) (cshape-moving-flags onsurf)))) (when (and (not gp-1) (let ((v1-6 (ja-group))) @@ -2842,16 +2721,7 @@ ) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.5)) (dummy-10 (-> self skel effect) 'group-red-eco-strike-ground (ja-frame-num 0) 0) - (let* ((s4-1 (get-process *default-dead-pool* touch-tracker #x4000)) - (s5-1 (when s4-1 - (let ((t9-6 (method-of-type touch-tracker activate))) - (t9-6 (the-as touch-tracker s4-1) self 'touch-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 touch-tracker-init (-> self control trans) 4096.0 30) - (-> s4-1 ppointer) - ) - ) - ) + (let ((s5-1 (process-spawn touch-tracker :init touch-tracker-init (-> self control trans) 4096.0 30 :to self))) (send-event (ppointer->process s5-1) 'event 'attack 'flop) (send-event (ppointer->process s5-1) @@ -2893,8 +2763,7 @@ ) (none) ) - :code - (behavior ((arg0 float) (arg1 float) (arg2 float)) + :code (behavior ((arg0 float) (arg1 float) (arg2 float)) (ja-channel-set! 2) (ja-no-eval :group! eichar-flop-down-ja :num! (seek!) :frame-num 0.0) (ja :chan 1 :group! eichar-moving-flop-down-ja :num! (chan 0) :frame-num 0.0) @@ -2994,14 +2863,12 @@ ) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-flop-hit-ground (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('swim) #f @@ -3011,8 +2878,7 @@ ) ) ) - :enter - (behavior ((arg0 symbol)) + :enter (behavior ((arg0 symbol)) (let ((f0-1 (vector-dot (-> self control dynam gravity-normal) (vector-! (new 'stack-no-clear 'vector) (-> self control unknown-vector111) (-> self control trans)) @@ -3033,10 +2899,8 @@ (set! (-> self state-flags) (logior (state-flags sf20) (-> self state-flags))) (none) ) - :exit - target-exit - :trans - (behavior () + :exit target-exit + :trans (behavior () (when (!= (-> self control unknown-spoolanim00) 'stuck) (if (and (cpad-pressed? (-> self control unknown-cpad-info00 number) circle) (can-feet?)) (go target-attack-air 'flop) @@ -3068,27 +2932,23 @@ (slide-down-test) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (target-hit-ground-anim arg0) (go target-falling #f) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-wheel (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (= arg2 'touched) (send-event arg0 'roll) ) (target-standard-event-handler arg0 arg1 arg2 arg3) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *wheel-mods*) (+! (-> self control unknown-int50) 1) @@ -3105,8 +2965,7 @@ 0 (none) ) - :exit - (behavior () + :exit (behavior () (when (!= (-> self next-state name) 'target-wheel) (set! (-> self control unknown-int50) 0) (set! (-> self control unknown-dword30) (-> *display* base-frame-counter)) @@ -3114,8 +2973,7 @@ (target-exit) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 0)) 0 (let ((s5-0 0) @@ -3202,23 +3060,18 @@ (go target-duck-stance) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-wheel-flip (target) - :event - target-standard-event-handler - :enter - (behavior ((arg0 float) (arg1 float)) + :event target-standard-event-handler + :enter (behavior ((arg0 float) (arg1 float)) (set! (-> self control unknown-surface00) *wheel-flip-mods*) (none) ) - :exit - target-exit - :trans - (behavior () + :exit target-exit + :trans (behavior () (if (and (or (smack-surface? #f) (< (target-move-dist (-> *TARGET-bank* stuck-time)) (-> *TARGET-bank* stuck-distance)) ) @@ -3239,8 +3092,7 @@ ) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (ja-channel-push! 1 (seconds 0.04)) (ja :group! eichar-wheel-flip-ja :num! min) (let ((f30-0 1.0)) @@ -3341,6 +3193,5 @@ ) (none) ) - :post - target-post + :post target-post ) diff --git a/test/decompiler/reference/engine/ui/credits_REF.gc b/test/decompiler/reference/engine/ui/credits_REF.gc index f7d1c3c9cb..97c8e4eda9 100644 --- a/test/decompiler/reference/engine/ui/credits_REF.gc +++ b/test/decompiler/reference/engine/ui/credits_REF.gc @@ -30,14 +30,10 @@ ) ;; definition for symbol *title-credits-scale*, type (array float) -(define *title-credits-scale* - (new 'static 'boxed-array :type float :length 8 :allocated-length 8 0.9 0.9 0.6 0.6 1.0 0.9 1.1 0.9) - ) +(define *title-credits-scale* (new 'static 'boxed-array :type float 0.9 0.9 0.6 0.6 1.0 0.9 1.1 0.9)) ;; definition for symbol *title-credits-spacing*, type (array int32) -(define *title-credits-spacing* - (new 'static 'boxed-array :type int32 :length 8 :allocated-length 8 15 20 15 15 20 15 20 15) - ) +(define *title-credits-spacing* (new 'static 'boxed-array :type int32 15 20 15 15 20 15 20 15)) ;; definition for function draw-title-credits ;; INFO: Return type mismatch int vs none. diff --git a/test/decompiler/reference/engine/ui/hud-classes_REF.gc b/test/decompiler/reference/engine/ui/hud-classes_REF.gc index 89d995dd03..83be9a452f 100644 --- a/test/decompiler/reference/engine/ui/hud-classes_REF.gc +++ b/test/decompiler/reference/engine/ui/hud-classes_REF.gc @@ -8,8 +8,7 @@ :id 75 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 303 :flags (launch-asap) :binding 304) + :parts ((sp-item 303 :flags (launch-asap) :binding 304) (sp-item 304 :flags (start-dead launch-asap) :binding 305) (sp-item 305 :flags (start-dead launch-asap) :binding 306) (sp-item 306 :flags (start-dead launch-asap) :binding 307) @@ -25,8 +24,7 @@ ;; failed to figure out what this is: (defpart 303 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-copy-from-other spt-scale-y -4) @@ -40,8 +38,7 @@ ;; failed to figure out what this is: (defpart 304 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 0.03)) @@ -63,8 +60,7 @@ ;; failed to figure out what this is: (defpart 305 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 0.065)) @@ -86,8 +82,7 @@ ;; failed to figure out what this is: (defpart 306 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 0.12)) @@ -107,8 +102,7 @@ ;; failed to figure out what this is: (defpart 307 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-scale-x (meters 0.35)) (sp-copy-from-other spt-scale-y -4) @@ -129,8 +123,7 @@ ;; failed to figure out what this is: (defpart 308 - :init-specs - ((sp-flt spt-fade-r 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0)) ) ;; definition of type hud-pickups @@ -236,8 +229,7 @@ :id 76 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 309 :flags (launch-asap))) + :parts ((sp-item 309 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -245,8 +237,7 @@ :id 77 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 310 :flags (launch-asap))) + :parts ((sp-item 310 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -254,14 +245,12 @@ :id 78 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 311 :flags (launch-asap))) + :parts ((sp-item 311 :flags (launch-asap))) ) ;; failed to figure out what this is: (defpart 309 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2d :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.7)) (sp-copy-from-other spt-scale-y -4) @@ -277,8 +266,7 @@ ;; failed to figure out what this is: (defpart 310 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.7)) (sp-copy-from-other spt-scale-y -4) @@ -294,8 +282,7 @@ ;; failed to figure out what this is: (defpart 311 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2f :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.7)) (sp-copy-from-other spt-scale-y -4) @@ -494,14 +481,12 @@ :id 705 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 2964 :flags (launch-asap))) + :parts ((sp-item 2964 :flags (launch-asap))) ) ;; failed to figure out what this is: (defpart 2964 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2.4)) (sp-copy-from-other spt-scale-y -4) @@ -665,16 +650,7 @@ (when (< (-> obj nb-of-icons) 6) (let ((s4-0 (-> obj nb-of-icons))) (set! (-> obj icons s4-0) (new 'static 'hud-icon)) - (let* ((s2-0 (get-process *default-dead-pool* manipy #x4000)) - (s3-0 (when s2-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 (the-as manipy s2-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s2-0 manipy-init (new 'static 'vector :w 1.0) #f *money-sg* #f) - (-> s2-0 ppointer) - ) - ) - ) + (let ((s3-0 (manipy-spawn (new 'static 'vector :w 1.0) #f *money-sg* #f :to obj))) (when s3-0 (set! (-> (the-as process-drawable (-> s3-0 0)) draw dma-add-func) dma-add-process-drawable-hud) (set-vector! (-> (the-as process-drawable (-> s3-0 0)) root trans) 0.0 0.0 0.0 1.0) @@ -790,14 +766,12 @@ :id 79 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 312 :flags (launch-asap))) + :parts ((sp-item 312 :flags (launch-asap))) ) ;; failed to figure out what this is: (defpart 312 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.6)) (sp-copy-from-other spt-scale-y -4) @@ -905,16 +879,7 @@ (when (< (-> obj nb-of-icons) 6) (let ((s5-0 (-> obj nb-of-icons))) (set! (-> obj icons s5-0) (new 'static 'hud-icon)) - (let* ((s3-0 (get-process *default-dead-pool* manipy #x4000)) - (s4-0 (when s3-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 (the-as manipy s3-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 manipy-init (new 'static 'vector :w 1.0) #f *money-sg* #f) - (-> s3-0 ppointer) - ) - ) - ) + (let ((s4-0 (manipy-spawn (new 'static 'vector :w 1.0) #f *money-sg* #f :to obj))) (when s4-0 (set! (-> (the-as process-drawable (-> s4-0 0)) draw dma-add-func) dma-add-process-drawable-hud) (set-vector! (-> (the-as process-drawable (-> s4-0 0)) root trans) 0.0 0.0 0.0 1.0) @@ -1023,8 +988,7 @@ ;; failed to figure out what this is: (defpart 313 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.4)) (sp-copy-from-other spt-scale-y -4) @@ -1041,8 +1005,7 @@ ;; failed to figure out what this is: (defpart 314 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.4)) (sp-copy-from-other spt-scale-y -4) @@ -1059,8 +1022,7 @@ ;; failed to figure out what this is: (defpart 315 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.4)) (sp-copy-from-other spt-scale-y -4) @@ -1077,8 +1039,7 @@ ;; failed to figure out what this is: (defpart 316 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.4)) (sp-copy-from-other spt-scale-y -4) @@ -1095,8 +1056,7 @@ ;; failed to figure out what this is: (defpart 317 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.2)) (sp-copy-from-other spt-scale-y -4) @@ -1113,8 +1073,7 @@ ;; failed to figure out what this is: (defpart 318 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x30 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x30 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.8)) (sp-copy-from-other spt-scale-y -4) @@ -1133,8 +1092,7 @@ :id 80 :flags (use-local-clock screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 318 :flags (launch-asap)) + :parts ((sp-item 318 :flags (launch-asap)) (sp-item 319 :fade-after (meters 35)) (sp-item 320 :fade-after (meters 20)) (sp-item 321 :flags (launch-asap) :period 3600 :length 5) @@ -1149,14 +1107,12 @@ ;; failed to figure out what this is: (defpart 323 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) ;; failed to figure out what this is: (defpart 319 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-z (meters 22.5)) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.5) 1.0) @@ -1180,8 +1136,7 @@ ;; failed to figure out what this is: (defpart 320 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.06) (sp-flt spt-z (meters 22.5)) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) @@ -1204,8 +1159,7 @@ ;; failed to figure out what this is: (defpart 321 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters 22.5)) (sp-flt spt-scale-x (meters 3.3)) @@ -1224,8 +1178,7 @@ ;; failed to figure out what this is: (defpart 322 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters 22.5)) (sp-flt spt-scale-x (meters 3.8)) @@ -1415,16 +1368,7 @@ (when (< (-> obj nb-of-icons) 6) (let ((s5-2 (-> obj nb-of-icons))) (set! (-> obj icons s5-2) (new 'static 'hud-icon)) - (let* ((s3-0 (get-process *default-dead-pool* manipy #x4000)) - (s4-0 (when s3-0 - (let ((t9-3 (method-of-type manipy activate))) - (t9-3 (the-as manipy s3-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 manipy-init (new 'static 'vector :w 1.0) #f *fuelcell-naked-sg* #f) - (-> s3-0 ppointer) - ) - ) - ) + (let ((s4-0 (manipy-spawn (new 'static 'vector :w 1.0) #f *fuelcell-naked-sg* #f :to obj))) (when s4-0 (set! (-> (the-as process-drawable (-> s4-0 0)) draw dma-add-func) dma-add-process-drawable-hud) (set-vector! (-> (the-as process-drawable (-> s4-0 0)) root trans) 0.0 0.0 0.0 1.0) @@ -1504,14 +1448,12 @@ :id 81 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 324 :flags (launch-asap) :binding 325) (sp-item 325 :flags (start-dead launch-asap))) + :parts ((sp-item 324 :flags (launch-asap) :binding 325) (sp-item 325 :flags (start-dead launch-asap))) ) ;; failed to figure out what this is: (defpart 324 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2.2)) (sp-copy-from-other spt-scale-y -4) @@ -1526,8 +1468,7 @@ ;; failed to figure out what this is: (defpart 325 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 1.3333334)) @@ -1716,8 +1657,7 @@ :id 82 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 327 :flags (launch-asap))) + :parts ((sp-item 327 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -1725,14 +1665,12 @@ :id 83 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 328 :flags (launch-asap))) + :parts ((sp-item 328 :flags (launch-asap))) ) ;; failed to figure out what this is: (defpart 327 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3.2)) (sp-copy-from-other spt-scale-y -4) @@ -1748,8 +1686,7 @@ ;; failed to figure out what this is: (defpart 328 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2.5)) (sp-copy-from-other spt-scale-y -4) @@ -1768,14 +1705,12 @@ :id 84 :flags (use-local-clock screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 329 :flags (launch-asap)) (sp-item 330 :flags (launch-asap)) (sp-item 331 :flags (launch-asap))) + :parts ((sp-item 329 :flags (launch-asap)) (sp-item 330 :flags (launch-asap)) (sp-item 331 :flags (launch-asap))) ) ;; failed to figure out what this is: (defpart 329 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2)) (sp-copy-from-other spt-scale-y -4) @@ -1791,8 +1726,7 @@ ;; failed to figure out what this is: (defpart 330 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2)) (sp-copy-from-other spt-scale-y -4) @@ -1808,8 +1742,7 @@ ;; failed to figure out what this is: (defpart 331 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2)) (sp-copy-from-other spt-scale-y -4) @@ -2143,86 +2076,12 @@ ;; definition for function activate-hud ;; INFO: Return type mismatch int vs none. (defun activate-hud ((arg0 process)) - (let ((s5-0 (get-process *default-dead-pool* hud-pickups #x4000))) - (set! (-> *hud-parts* pickups) - (the-as - (pointer hud-pickups) - (when s5-0 - (let ((t9-1 (method-of-type hud-pickups activate))) - (t9-1 (the-as hud-pickups s5-0) arg0 'hud-pickups (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 hud-init-by-other 0) - (-> s5-0 ppointer) - ) - ) - ) - ) - (let ((s5-1 (get-process *default-dead-pool* hud-money #x4000))) - (set! (-> *hud-parts* money) - (the-as (pointer hud-money) (when s5-1 - (let ((t9-4 (method-of-type hud-money activate))) - (t9-4 (the-as hud-money s5-1) arg0 'hud-money (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 hud-init-by-other 0) - (-> s5-1 ppointer) - ) - ) - ) - ) - (let ((s5-2 (get-process *default-dead-pool* hud-fuel-cell #x4000))) - (set! (-> *hud-parts* fuel-cell) - (the-as - (pointer hud-fuel-cell) - (when s5-2 - (let ((t9-7 (method-of-type hud-fuel-cell activate))) - (t9-7 (the-as hud-fuel-cell s5-2) arg0 'hud-fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 hud-init-by-other 0) - (-> s5-2 ppointer) - ) - ) - ) - ) - (let ((s5-3 (get-process *default-dead-pool* hud-health #x4000))) - (set! (-> *hud-parts* health) - (the-as - (pointer hud-health) - (when s5-3 - (let ((t9-10 (method-of-type hud-health activate))) - (t9-10 (the-as hud-health s5-3) arg0 'hud-health (the-as pointer #x70004000)) - ) - (run-now-in-process s5-3 hud-init-by-other 0) - (-> s5-3 ppointer) - ) - ) - ) - ) - (let ((s5-4 (get-process *default-dead-pool* hud-buzzers #x4000))) - (set! (-> *hud-parts* buzzers) - (the-as - (pointer hud-buzzers) - (when s5-4 - (let ((t9-13 (method-of-type hud-buzzers activate))) - (t9-13 (the-as hud-buzzers s5-4) arg0 'hud-buzzers (the-as pointer #x70004000)) - ) - (run-now-in-process s5-4 hud-init-by-other 0) - (-> s5-4 ppointer) - ) - ) - ) - ) - (let ((s5-5 (get-process *default-dead-pool* hud-power #x4000))) - (set! (-> *hud-parts* power) - (the-as (pointer hud-power) (when s5-5 - (let ((t9-16 (method-of-type hud-power activate))) - (t9-16 (the-as hud-power s5-5) arg0 'hud-power (the-as pointer #x70004000)) - ) - (run-now-in-process s5-5 hud-init-by-other 0) - (-> s5-5 ppointer) - ) - ) - ) - ) + (set! (-> *hud-parts* pickups) (process-spawn hud-pickups :init hud-init-by-other 0 :to arg0)) + (set! (-> *hud-parts* money) (process-spawn hud-money :init hud-init-by-other 0 :to arg0)) + (set! (-> *hud-parts* fuel-cell) (process-spawn hud-fuel-cell :init hud-init-by-other 0 :to arg0)) + (set! (-> *hud-parts* health) (process-spawn hud-health :init hud-init-by-other 0 :to arg0)) + (set! (-> *hud-parts* buzzers) (process-spawn hud-buzzers :init hud-init-by-other 0 :to arg0)) + (set! (-> *hud-parts* power) (process-spawn hud-power :init hud-init-by-other 0 :to arg0)) (set! (-> *hud-parts* bike-speed) (the-as (pointer hud-bike-speed) #f)) (set! (-> *hud-parts* bike-heat) (the-as (pointer hud-bike-heat) #f)) (set! (-> *hud-parts* money-all) (the-as (pointer hud-money-all) #f)) @@ -2383,22 +2242,9 @@ ;; definition for function activate-orb-all (defun activate-orb-all ((arg0 int)) - (when (not (-> *hud-parts* money-all)) - (let ((s5-0 (get-process *default-dead-pool* hud-money-all #x4000))) - (set! (-> *hud-parts* money-all) - (the-as - (pointer hud-money-all) - (when s5-0 - (let ((t9-1 (method-of-type hud-money-all activate))) - (t9-1 (the-as hud-money-all s5-0) *target* 'hud-money-all (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 hud-init-by-other arg0) - (-> s5-0 ppointer) - ) - ) - ) + (if (not (-> *hud-parts* money-all)) + (set! (-> *hud-parts* money-all) (process-spawn hud-money-all :init hud-init-by-other arg0 :to *target*)) ) - ) 0 ) diff --git a/test/decompiler/reference/engine/ui/hud_REF.gc b/test/decompiler/reference/engine/ui/hud_REF.gc index 7abf092f67..6f84cb0dba 100644 --- a/test/decompiler/reference/engine/ui/hud_REF.gc +++ b/test/decompiler/reference/engine/ui/hud_REF.gc @@ -219,8 +219,7 @@ ;; failed to figure out what this is: (defstate hud-hidden (hud) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) (case arg2 (('show) @@ -259,8 +258,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self offset) 128) (draw-icons self) (draw-particles self) @@ -276,21 +274,18 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self y-offset) (-> self next-y-offset)) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (loop (suspend) ) (none) ) - :post - (behavior () + :post (behavior () (if (-> self deactivate-when-hidden) (deactivate self) ) @@ -301,8 +296,7 @@ ;; failed to figure out what this is: (defstate hud-arriving (hud) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-3 object)) (case arg2 (('hide-quick) @@ -345,8 +339,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (let ((gp-0 (-> self child))) (while gp-0 (send-event (ppointer->process gp-0) 'draw #t) @@ -360,8 +353,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (if (not (paused?)) (seekl! (-> self offset) 0 (the int (* 15.0 (-> *display* time-adjust-ratio)))) @@ -383,8 +375,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (hud-update self) (draw-particles self) (draw-hud self) @@ -394,10 +385,8 @@ ;; failed to figure out what this is: (defstate hud-in (hud) - :event - (-> hud-arriving event) - :code - (behavior () + :event (-> hud-arriving event) + :code (behavior () (set! (-> self trigger-time) (-> *display* base-frame-counter)) (while (and (< (- (-> *display* base-frame-counter) (-> self trigger-time)) (seconds 2)) (not (movie?))) (set! (-> self offset) 0) @@ -416,16 +405,13 @@ (go hud-leaving 5) (none) ) - :post - (-> hud-arriving post) + :post (-> hud-arriving post) ) ;; failed to figure out what this is: (defstate hud-leaving (hud) - :event - (-> hud-arriving event) - :code - (behavior ((arg0 int)) + :event (-> hud-arriving event) + :code (behavior ((arg0 int)) (loop (if (not (paused?)) (seekl! (-> self offset) 128 (the int (* (the float arg0) (-> *display* time-adjust-ratio)))) @@ -447,8 +433,7 @@ ) (none) ) - :post - (-> hud-arriving post) + :post (-> hud-arriving post) ) ;; definition for function hud-init-by-other @@ -487,8 +472,7 @@ ;; failed to figure out what this is: (defstate hud-collecting (process-drawable) - :trans - (behavior () + :trans (behavior () (case (-> self type) ((fuel-cell) (fuel-cell-animate) @@ -496,8 +480,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (let ((s5-0 (new 'stack-no-clear 'vector))) (let ((s4-0 (handle->process arg0))) (set! (-> s5-0 x) (- (the float (+ (get-icon-pos-x (the-as hud s4-0)) -256)) (-> self root trans x))) @@ -546,6 +529,5 @@ ) (none) ) - :post - ja-post + :post ja-post ) diff --git a/test/decompiler/reference/engine/ui/progress/progress-part_REF.gc b/test/decompiler/reference/engine/ui/progress/progress-part_REF.gc index 3870baf976..fafe46b3a7 100644 --- a/test/decompiler/reference/engine/ui/progress/progress-part_REF.gc +++ b/test/decompiler/reference/engine/ui/progress/progress-part_REF.gc @@ -188,8 +188,7 @@ :id 85 :flags (use-local-clock screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 332 :flags (launch-asap))) + :parts ((sp-item 332 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -197,8 +196,7 @@ :id 86 :flags (use-local-clock screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 333 :flags (launch-asap))) + :parts ((sp-item 333 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -206,8 +204,7 @@ :id 87 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 334 :flags (launch-asap))) + :parts ((sp-item 334 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -215,8 +212,7 @@ :id 88 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 335 :flags (launch-asap))) + :parts ((sp-item 335 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -224,8 +220,7 @@ :id 89 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 336 :flags (launch-asap))) + :parts ((sp-item 336 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -233,8 +228,7 @@ :id 90 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 337 :flags (launch-asap))) + :parts ((sp-item 337 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -242,8 +236,7 @@ :id 91 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2190 :flags (launch-asap)) (sp-item 2191 :flags (launch-asap)) (sp-item 2192 :flags (launch-asap))) + :parts ((sp-item 2190 :flags (launch-asap)) (sp-item 2191 :flags (launch-asap)) (sp-item 2192 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -251,8 +244,7 @@ :id 570 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2336 :flags (launch-asap))) + :parts ((sp-item 2336 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -260,8 +252,7 @@ :id 571 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2337 :flags (launch-asap))) + :parts ((sp-item 2337 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -269,8 +260,7 @@ :id 572 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2338 :flags (launch-asap))) + :parts ((sp-item 2338 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -278,8 +268,7 @@ :id 573 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2339 :flags (launch-asap))) + :parts ((sp-item 2339 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -287,8 +276,7 @@ :id 92 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2142 :flags (launch-asap))) + :parts ((sp-item 2142 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -296,8 +284,7 @@ :id 93 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2143 :flags (launch-asap))) + :parts ((sp-item 2143 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -305,8 +292,7 @@ :id 94 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2144 :flags (launch-asap))) + :parts ((sp-item 2144 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -314,8 +300,7 @@ :id 95 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2145 :flags (launch-asap))) + :parts ((sp-item 2145 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -323,14 +308,12 @@ :id 96 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 338 :flags (launch-asap))) + :parts ((sp-item 338 :flags (launch-asap))) ) ;; failed to figure out what this is: (defpart 337 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 15)) (sp-flt spt-scale-y (meters 11.5)) @@ -346,8 +329,7 @@ ;; failed to figure out what this is: (defpart 2190 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6e :page #x1cf)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6e :page #x1cf)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.8)) (sp-copy-from-other spt-scale-y -4) @@ -363,8 +345,7 @@ ;; failed to figure out what this is: (defpart 2191 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6d :page #x1cf)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6d :page #x1cf)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 1.05)) (sp-flt spt-scale-x (meters 0.8)) @@ -381,8 +362,7 @@ ;; failed to figure out what this is: (defpart 2192 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6c :page #x1cf)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6c :page #x1cf)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2.3)) (sp-flt spt-scale-x (meters 0.8)) @@ -399,8 +379,7 @@ ;; failed to figure out what this is: (defpart 2336 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.6)) (sp-copy-from-other spt-scale-y -4) @@ -416,8 +395,7 @@ ;; failed to figure out what this is: (defpart 2337 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.6)) (sp-copy-from-other spt-scale-y -4) @@ -433,8 +411,7 @@ ;; failed to figure out what this is: (defpart 2338 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.6)) (sp-copy-from-other spt-scale-y -4) @@ -450,8 +427,7 @@ ;; failed to figure out what this is: (defpart 2339 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.6)) (sp-copy-from-other spt-scale-y -4) @@ -467,8 +443,7 @@ ;; failed to figure out what this is: (defpart 2142 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 9.2)) (sp-flt spt-scale-y (meters 2)) @@ -484,8 +459,7 @@ ;; failed to figure out what this is: (defpart 2143 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 9.2)) (sp-flt spt-scale-y (meters 2)) @@ -501,8 +475,7 @@ ;; failed to figure out what this is: (defpart 2144 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 9.2)) (sp-flt spt-scale-y (meters 2)) @@ -518,8 +491,7 @@ ;; failed to figure out what this is: (defpart 2145 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 9.2)) (sp-flt spt-scale-y (meters 2)) @@ -535,8 +507,7 @@ ;; failed to figure out what this is: (defpart 332 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.2)) (sp-copy-from-other spt-scale-y -4) @@ -551,8 +522,7 @@ ;; failed to figure out what this is: (defpart 333 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.2)) (sp-copy-from-other spt-scale-y -4) @@ -567,8 +537,7 @@ ;; failed to figure out what this is: (defpart 334 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.8)) (sp-copy-from-other spt-scale-y -4) @@ -583,8 +552,7 @@ ;; failed to figure out what this is: (defpart 335 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3.5)) (sp-flt spt-scale-y (meters 13)) @@ -600,8 +568,7 @@ ;; failed to figure out what this is: (defpart 336 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x408)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x408)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 6)) (sp-flt spt-scale-y (meters 13)) @@ -617,8 +584,7 @@ ;; failed to figure out what this is: (defpart 339 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.3)) (sp-copy-from-other spt-scale-y -4) @@ -635,8 +601,7 @@ ;; failed to figure out what this is: (defpart 340 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.3)) (sp-copy-from-other spt-scale-y -4) @@ -653,8 +618,7 @@ ;; failed to figure out what this is: (defpart 341 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.3)) (sp-copy-from-other spt-scale-y -4) @@ -671,8 +635,7 @@ ;; failed to figure out what this is: (defpart 342 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.3)) (sp-copy-from-other spt-scale-y -4) @@ -689,8 +652,7 @@ ;; failed to figure out what this is: (defpart 343 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.2)) (sp-copy-from-other spt-scale-y -4) @@ -707,8 +669,7 @@ ;; failed to figure out what this is: (defpart 338 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x30 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x30 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.2)) (sp-copy-from-other spt-scale-y -4) @@ -725,14 +686,12 @@ ;; failed to figure out what this is: (defpart 344 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) ;; failed to figure out what this is: (defpart 345 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-z (meters 0.52734375)) (sp-flt spt-scale-x (meters 0.25)) @@ -758,8 +717,7 @@ ;; failed to figure out what this is: (defpart 346 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.06) (sp-flt spt-z (meters 0.52734375)) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.25) 1.0) @@ -784,8 +742,7 @@ ;; failed to figure out what this is: (defpart 347 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters 0.52734375)) (sp-flt spt-scale-x (meters 2)) @@ -805,8 +762,7 @@ ;; failed to figure out what this is: (defpart 348 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters 0.52734375)) (sp-flt spt-scale-x (meters 2.4)) @@ -829,8 +785,7 @@ :id 97 :flags (use-local-clock screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 338 :flags (launch-asap)) + :parts ((sp-item 338 :flags (launch-asap)) (sp-item 347 :flags (launch-asap) :period 3600 :length 5) (sp-item 348 :flags (launch-asap) :period 3600 :length 5) (sp-item 343 :flags (launch-asap)) @@ -846,14 +801,12 @@ :id 98 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 1982 :flags (launch-asap) :binding 1981) (sp-item 1981 :flags (start-dead launch-asap))) + :parts ((sp-item 1982 :flags (launch-asap) :binding 1981) (sp-item 1981 :flags (start-dead launch-asap))) ) ;; failed to figure out what this is: (defpart 1982 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2.2)) (sp-copy-from-other spt-scale-y -4) @@ -868,8 +821,7 @@ ;; failed to figure out what this is: (defpart 1981 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 1.3333334)) @@ -893,14 +845,12 @@ :id 99 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 1983 :flags (launch-asap))) + :parts ((sp-item 1983 :flags (launch-asap))) ) ;; failed to figure out what this is: (defpart 1983 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2.2)) (sp-copy-from-other spt-scale-y -4) @@ -918,14 +868,12 @@ :id 100 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 1985 :flags (launch-asap) :binding 1984) (sp-item 1984 :flags (start-dead launch-asap))) + :parts ((sp-item 1985 :flags (launch-asap) :binding 1984) (sp-item 1984 :flags (start-dead launch-asap))) ) ;; failed to figure out what this is: (defpart 1985 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-copy-from-other spt-scale-y -4) @@ -940,8 +888,7 @@ ;; failed to figure out what this is: (defpart 1984 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 1.3333334)) @@ -966,14 +913,12 @@ :id 101 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 1986 :flags (launch-asap))) + :parts ((sp-item 1986 :flags (launch-asap))) ) ;; failed to figure out what this is: (defpart 1986 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.3)) (sp-copy-from-other spt-scale-y -4) @@ -992,14 +937,12 @@ :id 615 :flags (screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 2478 :flags (launch-asap))) + :parts ((sp-item 2478 :flags (launch-asap))) ) ;; failed to figure out what this is: (defpart 2478 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6b :page #x1cf)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6b :page #x1cf)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1.8)) (sp-copy-from-other spt-scale-y -4) diff --git a/test/decompiler/reference/engine/ui/progress/progress-static_REF.gc b/test/decompiler/reference/engine/ui/progress/progress-static_REF.gc index 0d1fd2c2b9..15312828f3 100644 --- a/test/decompiler/reference/engine/ui/progress/progress-static_REF.gc +++ b/test/decompiler/reference/engine/ui/progress/progress-static_REF.gc @@ -3,10 +3,7 @@ ;; definition for symbol *main-options*, type (array game-option) (define *main-options* - (new - 'static - 'boxed-array - :type game-option :length 7 :allocated-length 7 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id game-options) @@ -49,10 +46,7 @@ ;; definition for symbol *title*, type (array game-option) (define *title* - (new - 'static - 'boxed-array - :type game-option :length 4 :allocated-length 4 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id new-game) @@ -77,10 +71,7 @@ ;; definition for symbol *options*, type (array game-option) (define *options* - (new - 'static - 'boxed-array - :type game-option :length 4 :allocated-length 4 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id game-options) @@ -105,10 +96,7 @@ ;; definition for symbol *main-options-demo*, type (array game-option) (define *main-options-demo* - (new - 'static - 'boxed-array - :type game-option :length 4 :allocated-length 4 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id game-options) @@ -133,10 +121,7 @@ ;; definition for symbol *main-options-demo-shared*, type (array game-option) (define *main-options-demo-shared* - (new - 'static - 'boxed-array - :type game-option :length 5 :allocated-length 5 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id game-options) @@ -162,10 +147,7 @@ ;; definition for symbol *game-options*, type (array game-option) (define *game-options* - (new - 'static - 'boxed-array - :type game-option :length 4 :allocated-length 4 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id vibrations) :scale #t) (new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id play-hints) :scale #t) (new 'static 'game-option :option-type (game-option-type language) :name (game-text-id language) :scale #t) @@ -175,10 +157,7 @@ ;; definition for symbol *game-options-japan*, type (array game-option) (define *game-options-japan* - (new - 'static - 'boxed-array - :type game-option :length 3 :allocated-length 3 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id vibrations) :scale #t) (new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id play-hints) :scale #t) (new 'static 'game-option :option-type (game-option-type button) :name (game-text-id back) :scale #t) @@ -187,10 +166,7 @@ ;; definition for symbol *game-options-demo*, type (array game-option) (define *game-options-demo* - (new - 'static - 'boxed-array - :type game-option :length 3 :allocated-length 3 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id vibrations) :scale #t) (new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id play-hints) :scale #t) (new 'static 'game-option :option-type (game-option-type button) :name (game-text-id back) :scale #t) @@ -199,10 +175,7 @@ ;; definition for symbol *graphic-options*, type (array game-option) (define *graphic-options* - (new - 'static - 'boxed-array - :type game-option :length 3 :allocated-length 3 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type center-screen) :name (game-text-id center-screen) @@ -219,10 +192,7 @@ ;; definition for symbol *graphic-title-options-pal*, type (array game-option) (define *graphic-title-options-pal* - (new - 'static - 'boxed-array - :type game-option :length 4 :allocated-length 4 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type center-screen) :name (game-text-id center-screen) @@ -244,10 +214,7 @@ ;; definition for symbol *sound-options*, type (array game-option) (define *sound-options* - (new - 'static - 'boxed-array - :type game-option :length 4 :allocated-length 4 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :name (game-text-id sfx-volume) :scale #t :param2 100.0) (new 'static 'game-option :name (game-text-id music-volume) :scale #t :param2 100.0) (new 'static 'game-option :name (game-text-id speech-volume) :scale #t :param2 100.0) @@ -256,30 +223,21 @@ ) ;; definition for symbol *yes-no-options*, type (array game-option) -(define *yes-no-options* (new - 'static - 'boxed-array - :type game-option :length 1 :allocated-length 1 +(define *yes-no-options* (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type yes-no) :scale #f) ) ) ;; definition for symbol *ok-options*, type (array game-option) (define *ok-options* - (new - 'static - 'boxed-array - :type game-option :length 1 :allocated-length 1 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type button) :name (game-text-id ok) :scale #f) ) ) ;; definition for symbol *load-options*, type (array game-option) (define *load-options* - (new - 'static - 'boxed-array - :type game-option :length 5 :allocated-length 5 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type button) :scale #f) (new 'static 'game-option :option-type (game-option-type button) :scale #f) (new 'static 'game-option :option-type (game-option-type button) :scale #f) @@ -290,10 +248,7 @@ ;; definition for symbol *save-options*, type (array game-option) (define *save-options* - (new - 'static - 'boxed-array - :type game-option :length 5 :allocated-length 5 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type button) :scale #f) (new 'static 'game-option :option-type (game-option-type button) :scale #f) (new 'static 'game-option :option-type (game-option-type button) :scale #f) @@ -304,10 +259,7 @@ ;; definition for symbol *save-options-title*, type (array game-option) (define *save-options-title* - (new - 'static - 'boxed-array - :type game-option :length 6 :allocated-length 6 + (new 'static 'boxed-array :type game-option (new 'static 'game-option :option-type (game-option-type button) :scale #f) (new 'static 'game-option :option-type (game-option-type button) :scale #f) (new 'static 'game-option :option-type (game-option-type button) :scale #f) @@ -325,41 +277,12 @@ (define *options-remap* (new 'static 'boxed-array :type (array game-option) :length 0 :allocated-length 35)) ;; definition for symbol *level-task-data-remap*, type (array int32) -(define *level-task-data-remap* (new - 'static - 'boxed-array - :type int32 :length 23 :allocated-length 23 - 0 - 1 - 2 - 3 - 3 - 4 - 5 - 6 - 7 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 13 - 13 - 14 - 15 - 15 - 4 - 4 - ) - ) +(define *level-task-data-remap* + (new 'static 'boxed-array :type int32 0 1 2 3 3 4 5 6 7 7 8 9 10 11 12 13 13 13 14 15 15 4 4) + ) ;; definition for symbol *language-name-remap*, type (array game-text-id) -(define *language-name-remap* (new - 'static - 'boxed-array - :type game-text-id :length 6 :allocated-length 6 +(define *language-name-remap* (new 'static 'boxed-array :type game-text-id (game-text-id english) (game-text-id french) (game-text-id german) @@ -370,21 +293,16 @@ ) ;; definition for symbol *level-task-data*, type (array level-tasks-info) -(define *level-task-data* (new - 'static - 'boxed-array - :type level-tasks-info :length 16 :allocated-length 16 +(define *level-task-data* (new 'static 'boxed-array :type level-tasks-info (new 'static 'level-tasks-info :level-name-id (game-text-id training-level-name) :text-group-index 1 :nb-of-tasks 4 :buzzer-task-index 3 - :task-info - (new 'static 'array task-info-data 8 + :task-info (new 'static 'array task-info-data 8 (new 'static 'task-info-data :task-id (game-task training-gimmie) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id training-gimmie-task-name) (game-text-id training-gimmie-task-name) (game-text-id training-gimmie-task-name) @@ -393,8 +311,7 @@ ) (new 'static 'task-info-data :task-id (game-task training-door) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id training-door-task-name) (game-text-id training-door-task-name) (game-text-id training-door-task-name) @@ -403,8 +320,7 @@ ) (new 'static 'task-info-data :task-id (game-task training-climb) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id training-climb-task-name) (game-text-id training-climb-task-name) (game-text-id training-climb-task-name) @@ -413,8 +329,7 @@ ) (new 'static 'task-info-data :task-id (game-task training-buzzer) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id training-buzzer-task-name) (game-text-id training-buzzer-task-name) (game-text-id training-buzzer-task-name) @@ -428,12 +343,10 @@ :text-group-index 1 :nb-of-tasks 6 :buzzer-task-index 5 - :task-info - (new 'static 'array task-info-data 8 + :task-info (new 'static 'array task-info-data 8 (new 'static 'task-info-data :task-id (game-task village1-mayor-money) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village1-mayor-money) (game-text-id village1-mayor-money) (game-text-id village1-mayor-money) @@ -442,8 +355,7 @@ ) (new 'static 'task-info-data :task-id (game-task village1-uncle-money) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id vollage1-uncle-money) (game-text-id vollage1-uncle-money) (game-text-id vollage1-uncle-money) @@ -452,8 +364,7 @@ ) (new 'static 'task-info-data :task-id (game-task village1-yakow) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village1-yakow-herd) (game-text-id village1-yakow-herd) (game-text-id village1-yakow-return) @@ -462,8 +373,7 @@ ) (new 'static 'task-info-data :task-id (game-task village1-oracle-money1) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village1-oracle) (game-text-id village1-oracle) (game-text-id village1-oracle) @@ -472,8 +382,7 @@ ) (new 'static 'task-info-data :task-id (game-task village1-oracle-money2) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village1-oracle) (game-text-id village1-oracle) (game-text-id village1-oracle) @@ -482,8 +391,7 @@ ) (new 'static 'task-info-data :task-id (game-task village1-buzzer) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id beach-buzzer) (game-text-id beach-buzzer) (game-text-id beach-buzzer) @@ -497,12 +405,10 @@ :text-group-index 1 :nb-of-tasks 8 :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 + :task-info (new 'static 'array task-info-data 8 (new 'static 'task-info-data :task-id (game-task beach-ecorocks) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id beach-ecorocks) (game-text-id beach-ecorocks) (game-text-id beach-ecorocks) @@ -511,8 +417,7 @@ ) (new 'static 'task-info-data :task-id (game-task beach-flutflut) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id beach-flutflut-push) (game-text-id beach-flutflut-push) (game-text-id beach-flutflut-meet) @@ -521,8 +426,7 @@ ) (new 'static 'task-info-data :task-id (game-task beach-pelican) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id beach-pelican) (game-text-id beach-pelican) (game-text-id beach-pelican) @@ -531,8 +435,7 @@ ) (new 'static 'task-info-data :task-id (game-task beach-seagull) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id beach-seagull) (game-text-id beach-seagull) (game-text-id beach-seagull-get) @@ -541,8 +444,7 @@ ) (new 'static 'task-info-data :task-id (game-task beach-cannon) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id beach-cannon) (game-text-id beach-cannon) (game-text-id beach-cannon) @@ -551,8 +453,7 @@ ) (new 'static 'task-info-data :task-id (game-task beach-gimmie) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id beach-gimmie) (game-text-id beach-gimmie) (game-text-id beach-gimmie) @@ -561,8 +462,7 @@ ) (new 'static 'task-info-data :task-id (game-task beach-sentinel) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id beach-sentinel) (game-text-id beach-sentinel) (game-text-id beach-sentinel) @@ -571,8 +471,7 @@ ) (new 'static 'task-info-data :task-id (game-task beach-buzzer) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id beach-buzzer) (game-text-id beach-buzzer) (game-text-id beach-buzzer) @@ -586,12 +485,10 @@ :text-group-index 1 :nb-of-tasks 8 :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 + :task-info (new 'static 'array task-info-data 8 (new 'static 'task-info-data :task-id (game-task jungle-lurkerm) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id jungle-lurkerm-unblock) (game-text-id jungle-lurkerm-connect) (game-text-id jungle-lurkerm-return) @@ -601,8 +498,7 @@ ) (new 'static 'task-info-data :task-id (game-task jungle-tower) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id jungle-tower) (game-text-id jungle-tower) (game-text-id jungle-tower) @@ -611,8 +507,7 @@ ) (new 'static 'task-info-data :task-id (game-task jungle-eggtop) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id jungle-eggtop) (game-text-id jungle-eggtop) (game-text-id jungle-eggtop) @@ -621,8 +516,7 @@ ) (new 'static 'task-info-data :task-id (game-task jungle-plant) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id jungle-plant) (game-text-id jungle-plant) (game-text-id jungle-plant) @@ -631,8 +525,7 @@ ) (new 'static 'task-info-data :task-id (game-task jungle-fishgame) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id jungle-fishgame) (game-text-id jungle-fishgame) (game-text-id jungle-fishgame) @@ -641,8 +534,7 @@ ) (new 'static 'task-info-data :task-id (game-task jungle-canyon-end) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id jungle-canyon-end) (game-text-id jungle-canyon-end) (game-text-id jungle-canyon-end) @@ -651,8 +543,7 @@ ) (new 'static 'task-info-data :task-id (game-task jungle-temple-door) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id jungle-temple-door) (game-text-id jungle-temple-door) (game-text-id jungle-temple-door) @@ -661,8 +552,7 @@ ) (new 'static 'task-info-data :task-id (game-task jungle-buzzer) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id beach-buzzer) (game-text-id beach-buzzer) (game-text-id beach-buzzer) @@ -676,12 +566,10 @@ :text-group-index 1 :nb-of-tasks 8 :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 + :task-info (new 'static 'array task-info-data 8 (new 'static 'task-info-data :task-id (game-task misty-muse) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id misty-muse-catch) (game-text-id misty-muse-catch) (game-text-id misty-muse-return) @@ -690,8 +578,7 @@ ) (new 'static 'task-info-data :task-id (game-task misty-boat) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id misty-boat) (game-text-id misty-boat) (game-text-id misty-boat) @@ -700,8 +587,7 @@ ) (new 'static 'task-info-data :task-id (game-task misty-cannon) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id misty-cannon) (game-text-id misty-cannon) (game-text-id misty-cannon) @@ -710,8 +596,7 @@ ) (new 'static 'task-info-data :task-id (game-task misty-warehouse) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id misty-return-to-pool) (game-text-id misty-return-to-pool) (game-text-id misty-return-to-pool) @@ -720,8 +605,7 @@ ) (new 'static 'task-info-data :task-id (game-task misty-bike) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id misty-find-transpad) (game-text-id misty-balloon-lurkers) (game-text-id misty-find-transpad) @@ -731,8 +615,7 @@ ) (new 'static 'task-info-data :task-id (game-task misty-bike-jump) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id misty-bike-jump) (game-text-id misty-bike-jump) (game-text-id misty-bike-jump) @@ -741,8 +624,7 @@ ) (new 'static 'task-info-data :task-id (game-task misty-eco-challenge) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id misty-eco-challenge) (game-text-id misty-eco-challenge) (game-text-id misty-eco-challenge) @@ -751,8 +633,7 @@ ) (new 'static 'task-info-data :task-id (game-task misty-buzzer) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id beach-buzzer) (game-text-id beach-buzzer) (game-text-id beach-buzzer) @@ -766,12 +647,10 @@ :text-group-index 5 :nb-of-tasks 2 :buzzer-task-index 1 - :task-info - (new 'static 'array task-info-data 8 + :task-info (new 'static 'array task-info-data 8 (new 'static 'task-info-data :task-id (game-task firecanyon-end) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id fire-canyon-end) (game-text-id fire-canyon-end) (game-text-id fire-canyon-end) @@ -780,8 +659,7 @@ ) (new 'static 'task-info-data :task-id (game-task firecanyon-buzzer) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id fire-canyon-buzzer) (game-text-id fire-canyon-buzzer) (game-text-id fire-canyon-buzzer) @@ -795,12 +673,10 @@ :text-group-index 2 :nb-of-tasks 6 :buzzer-task-index 5 - :task-info - (new 'static 'array task-info-data 8 + :task-info (new 'static 'array task-info-data 8 (new 'static 'task-info-data :task-id (game-task village2-gambler-money) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village2-gambler-money) (game-text-id village2-gambler-money) (game-text-id village2-gambler-money) @@ -809,8 +685,7 @@ ) (new 'static 'task-info-data :task-id (game-task village2-geologist-money) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village2-geologist-money) (game-text-id village2-geologist-money) (game-text-id village2-geologist-money) @@ -819,8 +694,7 @@ ) (new 'static 'task-info-data :task-id (game-task village2-warrior-money) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village2-warrior-money) (game-text-id village2-warrior-money) (game-text-id village2-warrior-money) @@ -829,8 +703,7 @@ ) (new 'static 'task-info-data :task-id (game-task village2-oracle-money1) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village2-oracle-money) (game-text-id village2-oracle-money) (game-text-id village2-oracle-money) @@ -839,8 +712,7 @@ ) (new 'static 'task-info-data :task-id (game-task village2-oracle-money2) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village2-oracle-money) (game-text-id village2-oracle-money) (game-text-id village2-oracle-money) @@ -849,8 +721,7 @@ ) (new 'static 'task-info-data :task-id (game-task village2-buzzer) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id unknown-buzzers) (game-text-id unknown-buzzers) (game-text-id unknown-buzzers) @@ -864,12 +735,10 @@ :text-group-index 2 :nb-of-tasks 8 :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 + :task-info (new 'static 'array task-info-data 8 (new 'static 'task-info-data :task-id (game-task sunken-room) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id sunken-elevator-raise) (game-text-id sunken-elevator-raise) (game-text-id sunken-elevator-get-to-roof) @@ -878,8 +747,7 @@ ) (new 'static 'task-info-data :task-id (game-task sunken-pipe) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id sunken-pipe) (game-text-id sunken-pipe) (game-text-id sunken-pipe) @@ -888,8 +756,7 @@ ) (new 'static 'task-info-data :task-id (game-task sunken-slide) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id sunken-bottom) (game-text-id sunken-bottom) (game-text-id sunken-bottom) @@ -898,8 +765,7 @@ ) (new 'static 'task-info-data :task-id (game-task sunken-sharks) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id sunken-pool) (game-text-id sunken-pool) (game-text-id sunken-pool) @@ -908,8 +774,7 @@ ) (new 'static 'task-info-data :task-id (game-task sunken-platforms) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id sunken-platforms) (game-text-id sunken-platforms) (game-text-id sunken-platforms) @@ -918,8 +783,7 @@ ) (new 'static 'task-info-data :task-id (game-task sunken-top-of-helix) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id sunken-climb-tube) (game-text-id sunken-climb-tube) (game-text-id sunken-climb-tube) @@ -928,8 +792,7 @@ ) (new 'static 'task-info-data :task-id (game-task sunken-spinning-room) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id reach-center) (game-text-id reach-center) (game-text-id reach-center) @@ -938,8 +801,7 @@ ) (new 'static 'task-info-data :task-id (game-task sunken-buzzer) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id unknown-buzzers) (game-text-id unknown-buzzers) (game-text-id unknown-buzzers) @@ -953,12 +815,10 @@ :text-group-index 2 :nb-of-tasks 8 :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 + :task-info (new 'static 'array task-info-data 8 (new 'static 'task-info-data :task-id (game-task swamp-flutflut) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id swamp-flutflut) (game-text-id swamp-flutflut) (game-text-id swamp-flutflut) @@ -967,8 +827,7 @@ ) (new 'static 'task-info-data :task-id (game-task swamp-billy) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id swamp-billy) (game-text-id swamp-billy) (game-text-id swamp-billy) @@ -977,8 +836,7 @@ ) (new 'static 'task-info-data :task-id (game-task swamp-battle) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id swamp-battle) (game-text-id swamp-battle) (game-text-id swamp-battle) @@ -987,8 +845,7 @@ ) (new 'static 'task-info-data :task-id (game-task swamp-tether-4) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id swamp-tether) (game-text-id swamp-tether) (game-text-id swamp-tether) @@ -997,8 +854,7 @@ ) (new 'static 'task-info-data :task-id (game-task swamp-tether-1) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id swamp-tether) (game-text-id swamp-tether) (game-text-id swamp-tether) @@ -1007,8 +863,7 @@ ) (new 'static 'task-info-data :task-id (game-task swamp-tether-2) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id swamp-tether) (game-text-id swamp-tether) (game-text-id swamp-tether) @@ -1017,8 +872,7 @@ ) (new 'static 'task-info-data :task-id (game-task swamp-tether-3) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id swamp-tether) (game-text-id swamp-tether) (game-text-id swamp-tether) @@ -1027,8 +881,7 @@ ) (new 'static 'task-info-data :task-id (game-task swamp-buzzer) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id unknown-buzzers) (game-text-id unknown-buzzers) (game-text-id unknown-buzzers) @@ -1042,12 +895,10 @@ :text-group-index 2 :nb-of-tasks 8 :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 + :task-info (new 'static 'array task-info-data 8 (new 'static 'task-info-data :task-id (game-task rolling-moles) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id rolling-moles) (game-text-id rolling-moles) (game-text-id rolling-moles-return) @@ -1056,8 +907,7 @@ ) (new 'static 'task-info-data :task-id (game-task rolling-robbers) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id rolling-robbers) (game-text-id rolling-robbers) (game-text-id rolling-robbers) @@ -1066,8 +916,7 @@ ) (new 'static 'task-info-data :task-id (game-task rolling-race) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id rolling-race) (game-text-id rolling-race) (game-text-id rolling-race-return) @@ -1076,8 +925,7 @@ ) (new 'static 'task-info-data :task-id (game-task rolling-lake) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id rolling-lake) (game-text-id rolling-lake) (game-text-id rolling-lake) @@ -1086,8 +934,7 @@ ) (new 'static 'task-info-data :task-id (game-task rolling-plants) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id rolling-plants) (game-text-id rolling-plants) (game-text-id rolling-plants) @@ -1096,8 +943,7 @@ ) (new 'static 'task-info-data :task-id (game-task rolling-ring-chase-1) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id rolling-ring-chase-1) (game-text-id rolling-ring-chase-1) (game-text-id rolling-ring-chase-1) @@ -1106,8 +952,7 @@ ) (new 'static 'task-info-data :task-id (game-task rolling-ring-chase-2) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id rolling-ring-chase-2) (game-text-id rolling-ring-chase-2) (game-text-id rolling-ring-chase-2) @@ -1116,8 +961,7 @@ ) (new 'static 'task-info-data :task-id (game-task rolling-buzzer) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id unknown-buzzers) (game-text-id unknown-buzzers) (game-text-id unknown-buzzers) @@ -1131,12 +975,10 @@ :text-group-index 6 :nb-of-tasks 4 :buzzer-task-index 3 - :task-info - (new 'static 'array task-info-data 8 + :task-info (new 'static 'array task-info-data 8 (new 'static 'task-info-data :task-id (game-task ogre-boss) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id ogre-boss) (game-text-id ogre-boss) (game-text-id ogre-boss) @@ -1145,8 +987,7 @@ ) (new 'static 'task-info-data :task-id (game-task ogre-end) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id ogre-end) (game-text-id ogre-end) (game-text-id ogre-end) @@ -1155,8 +996,7 @@ ) (new 'static 'task-info-data :task-id (game-task ogre-secret) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id hidden-power-cell) (game-text-id hidden-power-cell) (game-text-id hidden-power-cell) @@ -1165,8 +1005,7 @@ ) (new 'static 'task-info-data :task-id (game-task ogre-buzzer) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id ogre-buzzer) (game-text-id ogre-buzzer) (game-text-id ogre-buzzer) @@ -1180,12 +1019,10 @@ :text-group-index 3 :nb-of-tasks 8 :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 + :task-info (new 'static 'array task-info-data 8 (new 'static 'task-info-data :task-id (game-task village3-miner-money1) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village3-miner-money) (game-text-id village3-miner-money) (game-text-id village3-miner-money) @@ -1194,8 +1031,7 @@ ) (new 'static 'task-info-data :task-id (game-task village3-miner-money2) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village3-miner-money) (game-text-id village3-miner-money) (game-text-id village3-miner-money) @@ -1204,8 +1040,7 @@ ) (new 'static 'task-info-data :task-id (game-task village3-miner-money3) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village3-miner-money) (game-text-id village3-miner-money) (game-text-id village3-miner-money) @@ -1214,8 +1049,7 @@ ) (new 'static 'task-info-data :task-id (game-task village3-miner-money4) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village3-miner-money) (game-text-id village3-miner-money) (game-text-id village3-miner-money) @@ -1224,8 +1058,7 @@ ) (new 'static 'task-info-data :task-id (game-task village3-oracle-money1) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village3-oracle-money) (game-text-id village3-oracle-money) (game-text-id village3-oracle-money) @@ -1234,8 +1067,7 @@ ) (new 'static 'task-info-data :task-id (game-task village3-oracle-money2) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village3-oracle-money) (game-text-id village3-oracle-money) (game-text-id village3-oracle-money) @@ -1244,8 +1076,7 @@ ) (new 'static 'task-info-data :task-id (game-task village3-extra1) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id hidden-power-cell) (game-text-id hidden-power-cell) (game-text-id hidden-power-cell) @@ -1254,8 +1085,7 @@ ) (new 'static 'task-info-data :task-id (game-task village3-buzzer) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village3-buzzer) (game-text-id village3-buzzer) (game-text-id village3-buzzer) @@ -1269,12 +1099,10 @@ :text-group-index 3 :nb-of-tasks 8 :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 + :task-info (new 'static 'array task-info-data 8 (new 'static 'task-info-data :task-id (game-task snow-eggtop) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id snow-eggtop) (game-text-id snow-eggtop) (game-text-id snow-eggtop) @@ -1283,8 +1111,7 @@ ) (new 'static 'task-info-data :task-id (game-task snow-ram) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id snow-ram-3-left) (game-text-id snow-ram-2-left) (game-text-id snow-ram-1-left) @@ -1293,8 +1120,7 @@ ) (new 'static 'task-info-data :task-id (game-task snow-bumpers) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id snow-bumpers) (game-text-id snow-bumpers) (game-text-id snow-bumpers) @@ -1303,8 +1129,7 @@ ) (new 'static 'task-info-data :task-id (game-task snow-cage) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id snow-frozen-crate) (game-text-id snow-frozen-crate) (game-text-id snow-frozen-crate) @@ -1313,8 +1138,7 @@ ) (new 'static 'task-info-data :task-id (game-task snow-fort) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id snow-fort) (game-text-id snow-fort) (game-text-id snow-fort) @@ -1323,8 +1147,7 @@ ) (new 'static 'task-info-data :task-id (game-task snow-ball) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id snow-open-door) (game-text-id snow-open-door) (game-text-id snow-open-door) @@ -1333,8 +1156,7 @@ ) (new 'static 'task-info-data :task-id (game-task snow-bunnies) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id snow-bunnies) (game-text-id snow-bunnies) (game-text-id snow-bunnies) @@ -1343,8 +1165,7 @@ ) (new 'static 'task-info-data :task-id (game-task snow-buzzer) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village3-buzzer) (game-text-id village3-buzzer) (game-text-id village3-buzzer) @@ -1358,12 +1179,10 @@ :text-group-index 3 :nb-of-tasks 8 :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 + :task-info (new 'static 'array task-info-data 8 (new 'static 'task-info-data :task-id (game-task cave-gnawers) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id cave-gnawers) (game-text-id cave-gnawers) (game-text-id cave-gnawers) @@ -1372,8 +1191,7 @@ ) (new 'static 'task-info-data :task-id (game-task cave-dark-crystals) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id cave-dark-crystals) (game-text-id cave-dark-crystals) (game-text-id cave-dark-crystals) @@ -1382,8 +1200,7 @@ ) (new 'static 'task-info-data :task-id (game-task cave-dark-climb) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id cave-dark-climb) (game-text-id cave-dark-climb) (game-text-id cave-dark-climb) @@ -1392,8 +1209,7 @@ ) (new 'static 'task-info-data :task-id (game-task cave-robot-climb) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id cave-robot-climb) (game-text-id cave-robot-climb) (game-text-id cave-robot-climb) @@ -1402,8 +1218,7 @@ ) (new 'static 'task-info-data :task-id (game-task cave-swing-poles) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id cave-swing-poles) (game-text-id cave-swing-poles) (game-text-id cave-swing-poles) @@ -1412,8 +1227,7 @@ ) (new 'static 'task-info-data :task-id (game-task cave-spider-tunnel) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id cave-spider-tunnel) (game-text-id cave-spider-tunnel) (game-text-id cave-spider-tunnel) @@ -1422,8 +1236,7 @@ ) (new 'static 'task-info-data :task-id (game-task cave-platforms) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id cave-platforms) (game-text-id cave-platforms) (game-text-id cave-platforms) @@ -1432,8 +1245,7 @@ ) (new 'static 'task-info-data :task-id (game-task cave-buzzer) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id village3-buzzer) (game-text-id village3-buzzer) (game-text-id village3-buzzer) @@ -1447,12 +1259,10 @@ :text-group-index 3 :nb-of-tasks 2 :buzzer-task-index 1 - :task-info - (new 'static 'array task-info-data 8 + :task-info (new 'static 'array task-info-data 8 (new 'static 'task-info-data :task-id (game-task lavatube-end) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id lavatube-end) (game-text-id lavatube-end) (game-text-id lavatube-end) @@ -1461,8 +1271,7 @@ ) (new 'static 'task-info-data :task-id (game-task lavatube-buzzer) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id lavatube-buzzer) (game-text-id lavatube-buzzer) (game-text-id lavatube-buzzer) @@ -1476,12 +1285,10 @@ :text-group-index 4 :nb-of-tasks 5 :buzzer-task-index 4 - :task-info - (new 'static 'array task-info-data 8 + :task-info (new 'static 'array task-info-data 8 (new 'static 'task-info-data :task-id (game-task citadel-sage-blue) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id citadel-sage-blue) (game-text-id citadel-sage-blue) (game-text-id citadel-sage-blue) @@ -1490,8 +1297,7 @@ ) (new 'static 'task-info-data :task-id (game-task citadel-sage-red) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id citadel-sage-red) (game-text-id citadel-sage-red) (game-text-id citadel-sage-red) @@ -1500,8 +1306,7 @@ ) (new 'static 'task-info-data :task-id (game-task citadel-sage-yellow) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id citadel-sage-yellow) (game-text-id citadel-sage-yellow) (game-text-id citadel-sage-yellow) @@ -1510,8 +1315,7 @@ ) (new 'static 'task-info-data :task-id (game-task citadel-sage-green) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id citadel-sage-green) (game-text-id citadel-sage-green) (game-text-id citadel-sage-green) @@ -1520,8 +1324,7 @@ ) (new 'static 'task-info-data :task-id (game-task citadel-buzzer) - :task-name - (new 'static 'array game-text-id 4 + :task-name (new 'static 'array game-text-id 4 (game-text-id citadel-buzzer) (game-text-id citadel-buzzer) (game-text-id citadel-buzzer) @@ -1534,9 +1337,7 @@ ) ;; definition for symbol *task-egg-starting-x*, type (array int32) -(define *task-egg-starting-x* - (new 'static 'boxed-array :type int32 :length 9 :allocated-length 9 #xda #xc2 #xab #x93 #x7c 100 77 53 30) - ) +(define *task-egg-starting-x* (new 'static 'boxed-array :type int32 #xda #xc2 #xab #x93 #x7c 100 77 53 30)) ;; definition for symbol *game-counts*, type game-count-info (define *game-counts* (the-as game-count-info #f)) diff --git a/test/decompiler/reference/engine/ui/progress/progress_REF.gc b/test/decompiler/reference/engine/ui/progress/progress_REF.gc index 04e013605d..8ccea39449 100644 --- a/test/decompiler/reference/engine/ui/progress/progress_REF.gc +++ b/test/decompiler/reference/engine/ui/progress/progress_REF.gc @@ -51,30 +51,23 @@ ;; definition for function progress-allowed? (defun progress-allowed? () - (with-pp - (not (or (-> *setting-control* current talking) - (-> *setting-control* current movie) - (movie?) - (handle->process (-> *game-info* pov-camera-handle)) - (handle->process (-> *game-info* other-camera-handle)) - (< (-> *display* base-frame-counter) (-> *game-info* letterbox-time)) - (< (-> *display* base-frame-counter) (-> *game-info* blackout-time)) - (!= (-> *setting-control* current bg-a) 0.0) - (!= (-> *setting-control* current bg-a-force) 0.0) - (not (-> *setting-control* current allow-progress)) - (or (and (handle->process (-> *game-info* auto-save-proc)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 0) - (set! (-> a1-3 message) 'progress-allowed?) - (not (send-event-function (handle->process (-> *game-info* auto-save-proc)) a1-3)) - ) - ) - (not *target*) - ) - ) - ) - ) + (not (or (-> *setting-control* current talking) + (-> *setting-control* current movie) + (movie?) + (handle->process (-> *game-info* pov-camera-handle)) + (handle->process (-> *game-info* other-camera-handle)) + (< (-> *display* base-frame-counter) (-> *game-info* letterbox-time)) + (< (-> *display* base-frame-counter) (-> *game-info* blackout-time)) + (!= (-> *setting-control* current bg-a) 0.0) + (!= (-> *setting-control* current bg-a-force) 0.0) + (not (-> *setting-control* current allow-progress)) + (or (and (handle->process (-> *game-info* auto-save-proc)) + (not (send-event (handle->process (-> *game-info* auto-save-proc)) 'progress-allowed?)) + ) + (not *target*) + ) + ) + ) ) ;; definition for function pause-allowed? @@ -820,18 +813,7 @@ (make-levels-with-tasks-available-to-progress) (disable-level-text-file-loading) (set! (-> *progress-state* starting-state) screen) - (let ((s4-0 (get-process *default-dead-pool* progress #x4000))) - (set! *progress-process* - (the-as (pointer progress) (when s4-0 - (let ((t9-5 (method-of-type progress activate))) - (t9-5 (the-as progress s4-0) creator 'progress (&-> *progress-stack* 14336)) - ) - (run-now-in-process s4-0 progress-init-by-other) - (-> s4-0 ppointer) - ) - ) - ) - ) + (set! *progress-process* (process-spawn progress :to creator :stack (&-> *progress-stack* 14336))) (let ((s5-1 *progress-process*)) (set! (-> s5-1 0 completion-percentage) (calculate-completion (-> s5-1 0))) (set! *master-mode* 'progress) @@ -1106,16 +1088,14 @@ ;; failed to figure out what this is: (defstate progress-waiting (progress) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('go-away) (go progress-gone) ) ) ) - :code - (behavior () + :code (behavior () (loop (when (hud-hidden?) (dotimes (gp-0 (-> self nb-of-particles)) @@ -1135,8 +1115,7 @@ ;; failed to figure out what this is: (defstate progress-gone (progress) - :code - (behavior () + :code (behavior () (clear-pending-settings-from-process *setting-control* self 'process-mask) (copy-settings-from-target! *setting-control*) (logior! (-> self mask) (process-mask sleep)) @@ -1960,8 +1939,7 @@ ;; failed to figure out what this is: (defstate progress-normal (progress) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 none)) (let ((v1-0 arg2)) (the-as object (cond @@ -2120,8 +2098,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (when (and (cpad-hold? 0 l1) (cpad-hold? 0 r1) *cheat-mode*) (when (and (< (-> self task-index) (-> *level-task-data* (-> self display-level-index) nb-of-tasks)) @@ -2264,8 +2241,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (let* ((a1-0 (-> self display-level-index)) (gp-0 (-> *level-task-data* a1-0)) ) @@ -2437,10 +2413,8 @@ ;; failed to figure out what this is: (defstate progress-coming-in (progress) - :event - (-> progress-waiting event) - :enter - (behavior () + :event (-> progress-waiting event) + :enter (behavior () (sound-group-pause (the-as uint 255)) (logclear! (-> *setting-control* default process-mask) (process-mask pause menu)) (push-setting! *setting-control* self 'process-mask 'set 0.0 16) @@ -2450,8 +2424,7 @@ (set! *pause-lock* #f) (none) ) - :code - (behavior () + :code (behavior () (loop (seekl! (-> self in-out-position) 0 (the int (* 170.0 (-> *display* time-adjust-ratio)))) (when (< (-> self in-out-position) 2867) @@ -2469,14 +2442,12 @@ ) (none) ) - :post - (-> progress-normal post) + :post (-> progress-normal post) ) ;; failed to figure out what this is: (defstate progress-going-out (progress) - :enter - (behavior () + :enter (behavior () (sound-play-by-name (static-sound-name "menu-close") (new-sound-id) 1024 0 0 1 #t) (hide-progress-icons) (set! (-> self particles 3 init-pos x) -320.0) @@ -2488,8 +2459,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (seekl! (-> self transition-offset) @@ -2507,22 +2477,19 @@ ) (none) ) - :post - (-> progress-normal post) + :post (-> progress-normal post) ) ;; failed to figure out what this is: (defstate progress-debug (progress) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('go-away) (go progress-going-out) ) ) ) - :code - (behavior () + :code (behavior () (loop (cond ((cpad-pressed? 0 left) @@ -2570,8 +2537,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (let* ((s5-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) (gp-0 (-> s5-0 base)) ) diff --git a/test/decompiler/reference/engine/ui/text-h_REF.gc b/test/decompiler/reference/engine/ui/text-h_REF.gc index 5376b030ca..079e18108b 100644 --- a/test/decompiler/reference/engine/ui/text-h_REF.gc +++ b/test/decompiler/reference/engine/ui/text-h_REF.gc @@ -47,9 +47,7 @@ ) ;; definition for symbol *text-group-names*, type (array string) -(define *text-group-names* - (the-as (array string) (new 'static 'boxed-array :type string :length 1 :allocated-length 1 "common")) - ) +(define *text-group-names* (the-as (array string) (new 'static 'boxed-array :type string "common"))) ;; definition for symbol *common-text-heap*, type kheap (define *common-text-heap* (new 'global 'kheap)) diff --git a/test/decompiler/reference/engine/ui/text_REF.gc b/test/decompiler/reference/engine/ui/text_REF.gc index 53c27f079e..763553336b 100644 --- a/test/decompiler/reference/engine/ui/text_REF.gc +++ b/test/decompiler/reference/engine/ui/text_REF.gc @@ -136,8 +136,7 @@ ) ) cfg-13 - :delay - (nop!) + :delay (nop!) ) ) (label cfg-16) diff --git a/test/decompiler/reference/kernel/gkernel_REF.gc b/test/decompiler/reference/kernel/gkernel_REF.gc index 3d51920b96..32b4e8ba51 100644 --- a/test/decompiler/reference/kernel/gkernel_REF.gc +++ b/test/decompiler/reference/kernel/gkernel_REF.gc @@ -1361,8 +1361,7 @@ ;; failed to figure out what this is: (defstate dead-state (process) - :code - (the-as (function none :behavior process) nothing) + :code (the-as (function none :behavior process) nothing) ) ;; definition for symbol entity-deactivate-handler, type (function process entity none) diff --git a/test/decompiler/reference/levels/beach/beach-obs_REF.gc b/test/decompiler/reference/levels/beach/beach-obs_REF.gc index 5bf27ecb29..26f34a94f9 100644 --- a/test/decompiler/reference/levels/beach/beach-obs_REF.gc +++ b/test/decompiler/reference/levels/beach/beach-obs_REF.gc @@ -49,13 +49,11 @@ ;; failed to figure out what this is: (defstate windmill-one-idle (windmill-one) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self sound-id)) (none) ) - :trans - (behavior () + :trans (behavior () (rider-trans) (let ((t2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)))) (if (!= (+ (-> t2-0 x) (-> t2-0 y) (-> t2-0 z)) 0.0) @@ -64,8 +62,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.5) :frame-num 0.0) (until (ja-done? 0) @@ -75,8 +72,7 @@ ) (none) ) - :post - (the-as (function none :behavior windmill-one) rider-post) + :post (the-as (function none :behavior windmill-one) rider-post) ) ;; definition for method 11 of type windmill-one @@ -135,8 +131,7 @@ :id 155 :flags (use-local-clock) :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 539 :period 1500 :length 15) + :parts ((sp-item 539 :period 1500 :length 15) (sp-item 539 :period 1500 :length 30) (sp-item 539 :period 1500 :length 45) (sp-item 539 :period 1500 :length 75) @@ -148,8 +143,7 @@ ;; failed to figure out what this is: (defpart 539 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -9) (meters 18) 1.0) (sp-flt spt-y (meters -6)) @@ -173,8 +167,7 @@ ;; failed to figure out what this is: (defpart 540 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-flt spt-y (meters -7)) (sp-rnd-flt spt-scale-x (meters 3) (meters 4.5) 1.0) @@ -200,14 +193,12 @@ ;; failed to figure out what this is: (defpart 541 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 450 239 1) (sp-launcher-by-id spt-next-launcher 542)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 450 239 1) (sp-launcher-by-id spt-next-launcher 542)) ) ;; failed to figure out what this is: (defpart 542 - :init-specs - ((sp-flt spt-fade-a -0.14222223)) + :init-specs ((sp-flt spt-fade-a -0.14222223)) ) ;; definition of type grottopole @@ -251,8 +242,7 @@ ;; failed to figure out what this is: (defstate grottopole-idle (grottopole) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (when (= (-> arg0 type) target) (case arg2 (('attack) @@ -296,8 +286,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (ja :group! (-> self draw art-group data 3) :num! min) (transform-post) @@ -355,8 +344,7 @@ ;; failed to figure out what this is: (defstate grottopole-moving-up (grottopole) - :code - (behavior () + :code (behavior () (+! (-> self position) 1) (let ((v1-4 (-> self entity extra perm))) (logior! (-> v1-4 status) (entity-perm-status user-set-from-cstage)) @@ -366,14 +354,12 @@ (go grottopole-idle) (none) ) - :post - (the-as (function none :behavior grottopole) transform-post) + :post (the-as (function none :behavior grottopole) transform-post) ) ;; failed to figure out what this is: (defstate grottopole-moving-down (grottopole) - :code - (behavior () + :code (behavior () (+! (-> self position) -1) (let ((v1-4 (-> self entity extra perm))) (logior! (-> v1-4 status) (entity-perm-status user-set-from-cstage)) @@ -383,8 +369,7 @@ (go grottopole-idle) (none) ) - :post - (the-as (function none :behavior grottopole) transform-post) + :post (the-as (function none :behavior grottopole) transform-post) ) ;; definition for method 11 of type grottopole @@ -476,8 +461,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 543 :period 1500 :length 5) + :parts ((sp-item 543 :period 1500 :length 5) (sp-item 544 :period 1500 :length 5) (sp-item 545 :period 1500 :length 5) (sp-item 546 :period 1500 :length 5) @@ -488,8 +472,7 @@ ;; failed to figure out what this is: (defpart 547 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 15)) (sp-copy-from-other spt-scale-y -4) @@ -505,8 +488,7 @@ ;; failed to figure out what this is: (defpart 543 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 4.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -530,8 +512,7 @@ ;; failed to figure out what this is: (defpart 544 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 4.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -555,8 +536,7 @@ ;; failed to figure out what this is: (defpart 545 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 4.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -580,8 +560,7 @@ ;; failed to figure out what this is: (defpart 549 - :init-specs - ((sp-flt spt-vel-y (meters 0.026666667)) + :init-specs ((sp-flt spt-vel-y (meters 0.026666667)) (sp-rnd-int-flt spt-rotvel-z (degrees -1.2) 1 436.90668) (sp-flt spt-fade-a -1.0666667) ) @@ -589,8 +568,7 @@ ;; failed to figure out what this is: (defpart 548 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) @@ -615,14 +593,12 @@ ;; failed to figure out what this is: (defpart 550 - :init-specs - ((sp-flt spt-fade-a -0.2)) + :init-specs ((sp-flt spt-fade-a -0.2)) ) ;; failed to figure out what this is: (defstate ecoventrock-idle (ecoventrock) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (sound-play-by-name (static-sound-name "cannon-shot") (new-sound-id) 1024 0 0 1 #t) @@ -631,8 +607,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (transform-post) (loop (logior! (-> self mask) (process-mask sleep)) @@ -644,18 +619,15 @@ ;; failed to figure out what this is: (defstate ecoventrock-break (ecoventrock) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior ecoventrock) process-drawable-fuel-cell-handler ) - :enter - (behavior ((arg0 symbol)) + :enter (behavior ((arg0 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (local-vars (sv-128 symbol)) (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) @@ -670,23 +642,16 @@ ) ) (when (not arg0) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - part-tracker-init - (-> *part-group-id-table* 156) - -1 - #f - #f - #f - (-> self root-override root-prim prim-core) - ) - (-> s5-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 156) + -1 + #f + #f + #f + (-> self root-override root-prim prim-core) + :to *entity-pool* ) (let* ((s5-1 (-> self root-override trans)) (v1-14 (target-pos 0)) @@ -746,24 +711,8 @@ ) (else (ambient-hint-spawn "gamcam10" (the-as vector #f) *entity-pool* 'camera) - (let ((gp-2 (get-process *default-dead-pool* pov-camera #x4000))) - (ppointer->handle (when gp-2 - (let ((t9-23 (method-of-type pov-camera activate))) - (t9-23 (the-as pov-camera gp-2) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-2 - pov-camera-init-by-other - (-> self root-override trans) - *beachcam-sg* - (-> self name) - 0 - #f - '() - ) - (-> gp-2 ppointer) - ) - ) + (ppointer->handle + (process-spawn pov-camera (-> self root-override trans) *beachcam-sg* (-> self name) 0 #f '() :to self) ) ) ) @@ -847,13 +796,11 @@ ;; failed to figure out what this is: (defstate flying-rock-rolling (flying-rock) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 #f) (f30-0 0.99) (s5-0 0) @@ -927,8 +874,7 @@ (go flying-rock-idle) (none) ) - :post - (behavior () + :post (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) (go flying-rock-idle) ) @@ -939,8 +885,7 @@ ;; failed to figure out what this is: (defstate flying-rock-idle (flying-rock) - :code - (behavior () + :code (behavior () (clear-collide-with-as (-> self root-override)) (while (or (logtest? (-> self draw status) (draw-status was-drawn)) (and *target* @@ -952,8 +897,7 @@ (deactivate self) (none) ) - :post - (the-as (function none :behavior flying-rock) ja-post) + :post (the-as (function none :behavior flying-rock) ja-post) ) ;; definition for function flying-rock-init-by-other @@ -1003,15 +947,7 @@ ;; definition for function spawn-flying-rock ;; INFO: Return type mismatch int vs none. (defun spawn-flying-rock ((arg0 vector) (arg1 vector) (arg2 float) (arg3 entity)) - (let ((s2-0 (get-process *default-dead-pool* flying-rock #x4000))) - (when s2-0 - (let ((t9-1 (method-of-type flying-rock activate))) - (t9-1 (the-as flying-rock s2-0) *entity-pool* 'flying-rock (the-as pointer #x70004000)) - ) - (run-now-in-process s2-0 flying-rock-init-by-other arg0 arg1 arg2 arg3) - (-> s2-0 ppointer) - ) - ) + (process-spawn flying-rock arg0 arg1 arg2 arg3 :to *entity-pool*) 0 (none) ) @@ -1048,8 +984,7 @@ ;; failed to figure out what this is: (defstate bladeassm-idle (bladeassm) - :code - (behavior () + :code (behavior () (loop (+! (-> self angle) (* 3640.889 (-> *display* seconds-per-frame))) (set! (-> self angle) (the float (sar (shl (the int (-> self angle)) 48) 48))) @@ -1210,8 +1145,7 @@ ;; failed to figure out what this is: (defstate flutflutegg-idle (flutflutegg) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (when (and (= arg2 'attack) (or (= (-> arg3 param 1) 'punch) (= (-> arg3 param 1) 'spin) (= (-> arg3 param 1) 'spin-air)) (!= (-> self incomming-attack-id) (-> arg3 param 2)) @@ -1236,8 +1170,7 @@ (go flutflutegg-physics) ) ) - :trans - (behavior () + :trans (behavior () (let* ((gp-0 (TODO-RENAME-10 (-> self ambient) (new 'stack-no-clear 'vector) (seconds 3) 368640.0 self)) (v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-3 (the-as number (logior #x3f800000 v1-2))) @@ -1295,8 +1228,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-post) (loop (suspend) @@ -1307,8 +1239,7 @@ ;; failed to figure out what this is: (defstate flutflutegg-physics (flutflutegg) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (the-as object (when (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) @@ -1336,8 +1267,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (loop (+! (-> self pos) (* (-> self vel) (-> *display* seconds-per-frame))) @@ -1364,46 +1294,37 @@ ) (none) ) - :post - (the-as (function none :behavior flutflutegg) ja-post) + :post (the-as (function none :behavior flutflutegg) ja-post) ) ;; failed to figure out what this is: (defstate flutflutegg-physics-fall (flutflutegg) - :code - (behavior () + :code (behavior () (local-vars (v1-25 symbol)) - (let ((gp-0 (get-process *default-dead-pool* camera-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type camera-tracker activate))) - (t9-1 (the-as camera-tracker gp-0) self 'camera-tracker (the-as pointer #x70004000)) + (process-spawn + camera-tracker + :init camera-tracker-init + (lambda :behavior camera-tracker + () + (while (not (process-grab? *target*)) + (suspend) ) - (run-now-in-process - gp-0 - camera-tracker-init - (lambda :behavior camera-tracker - () - (while (not (process-grab? *target*)) - (suspend) - ) - (camera-change-to "camera-135" 0 #f) - (camera-look-at (the-as pair (ppointer->process (-> self parent))) (the-as uint 9)) - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 4)) - (suspend) - ) - ) - (while (not (process-release? (handle->process (-> self grab-target)))) - (suspend) - ) - (camera-look-at (the-as pair *target*) (the-as uint 0)) - (send-event *camera* 'blend-from-as-fixed) - (camera-change-to (the-as string 'base) 75 #f) - (none) + (camera-change-to "camera-135" 0 #f) + (camera-look-at (the-as pair (ppointer->process (-> self parent))) (the-as uint 9)) + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 4)) + (suspend) ) ) - (-> gp-0 ppointer) + (while (not (process-release? (handle->process (-> self grab-target)))) + (suspend) + ) + (camera-look-at (the-as pair *target*) (the-as uint 0)) + (send-event *camera* 'blend-from-as-fixed) + (camera-change-to (the-as string 'base) 75 #f) + (none) ) + :to self ) (close-specific-task! (game-task beach-flutflut) (task-status need-reminder)) (loop @@ -1439,14 +1360,12 @@ ) (none) ) - :post - (the-as (function none :behavior flutflutegg) ja-post) + :post (the-as (function none :behavior flutflutegg) ja-post) ) ;; failed to figure out what this is: (defstate flutflutegg-break (flutflutegg) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (when arg0 (set-vector! (-> self root-override trans) -231190.94 64559.105 -1164727.5 1.0) (quaternion-axis-angle! (-> self root-override quat) 0.0 1.0 0.0 -18204.445) @@ -1497,8 +1416,7 @@ ) (none) ) - :post - (the-as (function none :behavior flutflutegg) ja-post) + :post (the-as (function none :behavior flutflutegg) ja-post) ) ;; definition for method 11 of type flutflutegg @@ -1590,8 +1508,7 @@ ;; failed to figure out what this is: (defstate harvester-idle (harvester) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('update) (if (and (-> self alt-actor) (logtest? (-> self alt-actor extra perm status) (entity-perm-status complete))) @@ -1600,8 +1517,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (if (and (-> self alt-actor) (logtest? (-> self alt-actor extra perm status) (entity-perm-status complete))) (go harvester-inflate #t) ) @@ -1617,8 +1533,7 @@ ;; failed to figure out what this is: (defstate harvester-inflate (harvester) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (when (not arg0) (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1635,8 +1550,7 @@ ) (none) ) - :post - (the-as (function none :behavior harvester) ja-post) + :post (the-as (function none :behavior harvester) ja-post) ) ;; definition for method 11 of type harvester @@ -1754,38 +1668,23 @@ (with-pp (let ((gp-0 (entity-actor-lookup (-> pp entity) 'alt-actor 0))) (when gp-0 - (let* ((s5-0 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-1 - (ppointer->handle - (when s5-0 - (let ((t9-2 (method-of-type pov-camera activate))) - (t9-2 (the-as pov-camera s5-0) pp 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> gp-0 extra trans) - *beachcam-sg* - (new 'static 'spool-anim :name "beachcam-cannon" :index 3 :parts 1 :command-list '()) - 0 - #f - '() - ) - (-> s5-0 ppointer) - ) - ) - ) - (s5-1 (get-process *default-dead-pool* fuel-cell #x4000)) - (s5-2 - (ppointer->handle (when s5-1 - (let ((t9-5 (method-of-type fuel-cell activate))) - (t9-5 (the-as fuel-cell s5-1) pp 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 fuel-cell-init-as-clone gp-1 (-> pp entity extra perm task)) - (-> s5-1 ppointer) + (let* ((gp-1 + (ppointer->handle (process-spawn + pov-camera + (-> gp-0 extra trans) + *beachcam-sg* + (new 'static 'spool-anim :name "beachcam-cannon" :index 3 :parts 1 :command-list '()) + 0 + #f + '() + :to pp ) ) ) + (s5-2 (ppointer->handle + (process-spawn fuel-cell :init fuel-cell-init-as-clone gp-1 (-> pp entity extra perm task) :to pp) + ) + ) ) (let ((v1-13 (handle->process gp-1))) (if v1-13 diff --git a/test/decompiler/reference/levels/beach/beach-part_REF.gc b/test/decompiler/reference/levels/beach/beach-part_REF.gc index 4f487785d1..d67d3679c8 100644 --- a/test/decompiler/reference/levels/beach/beach-part_REF.gc +++ b/test/decompiler/reference/levels/beach/beach-part_REF.gc @@ -23,8 +23,7 @@ ;; failed to figure out what this is: (defpart 666 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.01) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 15) (meters 5) 1.0) @@ -52,14 +51,12 @@ ;; failed to figure out what this is: (defpart 667 - :init-specs - ((sp-flt spt-fade-a -0.02)) + :init-specs ((sp-flt spt-fade-a -0.02)) ) ;; failed to figure out what this is: (defpart 668 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-flt spt-num 0.03 0.2 1.0) (sp-flt spt-y (meters -4)) (sp-flt spt-scale-x (meters 0.18)) @@ -82,8 +79,7 @@ ;; failed to figure out what this is: (defpart 669 - :init-specs - ((sp-flt spt-scalevel-y (meters 0.0024414062)) + :init-specs ((sp-flt spt-scalevel-y (meters 0.0024414062)) (sp-flt spt-fade-a 0.0) (sp-flt spt-accel-y -8.192) (sp-int spt-next-time 210) @@ -93,14 +89,12 @@ ;; failed to figure out what this is: (defpart 670 - :init-specs - ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150) (sp-func spt-func 'check-water-level-drop)) + :init-specs ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150) (sp-func spt-func 'check-water-level-drop)) ) ;; failed to figure out what this is: (defstate beach-part-grotto-1 (beach-part) - :code - (behavior () + :code (behavior () (loop (when (is-visible? self) (let* ((gp-0 (camera-pos)) @@ -134,8 +128,7 @@ ;; failed to figure out what this is: (defpart 671 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-flt spt-num 0.3 0.4 1.0) (sp-rnd-flt spt-x (meters -23) (meters 55) 1.0) (sp-flt spt-z (meters 0.5)) @@ -161,14 +154,12 @@ (defpartgroup group-beach-grotto-2 :id 161 :bounds (static-bspherem 0 -5 0 15) - :parts - ((sp-item 671 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 671 :fade-after (meters 80) :falloff-to (meters 80))) ) ;; failed to figure out what this is: (defpart 672 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-x (meters -10) (meters 4) 1.0) (sp-flt spt-y (meters 103)) @@ -195,8 +186,7 @@ ;; failed to figure out what this is: (defpart 673 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.8 0.8 1.0) (sp-rnd-flt spt-x (meters -9) (meters 3.5) 1.0) (sp-flt spt-y (meters 103)) @@ -224,8 +214,7 @@ ;; failed to figure out what this is: (defpart 674 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.9) (sp-rnd-flt spt-x (meters -10) (meters 4) 1.0) (sp-flt spt-y (meters 103)) @@ -252,8 +241,7 @@ ;; failed to figure out what this is: (defpart 675 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.04) (sp-rnd-flt spt-x (meters 6) (meters 6) 1.0) (sp-flt spt-y (meters 6.5)) @@ -284,14 +272,12 @@ ;; failed to figure out what this is: (defpart 676 - :init-specs - ((sp-flt spt-fade-a -0.14222223)) + :init-specs ((sp-flt spt-fade-a -0.14222223)) ) ;; failed to figure out what this is: (defpart 677 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters 2) (meters 10) 1.0) (sp-flt spt-y (meters 8)) @@ -323,8 +309,7 @@ :id 162 :flags (always-draw unknown-bit-01) :bounds (static-bspherem 0 55 0 55) - :parts - ((sp-item 677 :fade-after (meters 200) :falloff-to (meters 200)) + :parts ((sp-item 677 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 675) (sp-item 675 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 672) @@ -339,70 +324,61 @@ (defpartgroup group-beach-24 :id 163 :bounds (static-bspherem 0 3 0 50) - :parts - ((sp-item 678 :fade-after (meters 50) :period 2400 :length 1500 :offset 1200)) + :parts ((sp-item 678 :fade-after (meters 50) :period 2400 :length 1500 :offset 1200)) ) ;; failed to figure out what this is: (defpartgroup group-beach-23 :id 164 :bounds (static-bspherem 0 3 0 50) - :parts - ((sp-item 679 :fade-after (meters 50) :period 2400 :length 1500 :offset 600)) + :parts ((sp-item 679 :fade-after (meters 50) :period 2400 :length 1500 :offset 600)) ) ;; failed to figure out what this is: (defpartgroup group-beach-22 :id 165 :bounds (static-bspherem 0 3 0 50) - :parts - ((sp-item 680 :fade-after (meters 80) :period 2400 :length 1500)) + :parts ((sp-item 680 :fade-after (meters 80) :period 2400 :length 1500)) ) ;; failed to figure out what this is: (defpartgroup group-beach-18 :id 166 :bounds (static-bspherem 0 3 0 50) - :parts - ((sp-item 681 :fade-after (meters 100) :period 2400 :length 1500 :offset 1200)) + :parts ((sp-item 681 :fade-after (meters 100) :period 2400 :length 1500 :offset 1200)) ) ;; failed to figure out what this is: (defpartgroup group-beach-17 :id 167 :bounds (static-bspherem 0 3 0 50) - :parts - ((sp-item 682 :fade-after (meters 50) :period 2400 :length 1500 :offset 600)) + :parts ((sp-item 682 :fade-after (meters 50) :period 2400 :length 1500 :offset 600)) ) ;; failed to figure out what this is: (defpartgroup group-beach-16 :id 168 :bounds (static-bspherem 0 3 0 50) - :parts - ((sp-item 683 :fade-after (meters 50) :period 2400 :length 1500)) + :parts ((sp-item 683 :fade-after (meters 50) :period 2400 :length 1500)) ) ;; failed to figure out what this is: (defpartgroup group-beach-15 :id 169 :bounds (static-bspherem 0 3 0 50) - :parts - ((sp-item 684 :fade-after (meters 50) :period 2400 :length 1500 :offset 64936)) + :parts ((sp-item 684 :fade-after (meters 50) :period 2400 :length 1500 :offset 64936)) ) ;; failed to figure out what this is: (defpartgroup group-beach-14 :id 170 :bounds (static-bspherem 0 3 0 50) - :parts - ((sp-item 685 :fade-after (meters 50) :period 2400 :length 1500 :offset 64336)) + :parts ((sp-item 685 :fade-after (meters 50) :period 2400 :length 1500 :offset 64336)) ) ;; failed to figure out what this is: (defpart 678 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.01 0.01 1.0) (sp-rnd-flt spt-x (meters -85) (meters 60) 1.0) (sp-flt spt-y (meters 13)) @@ -427,14 +403,12 @@ ;; failed to figure out what this is: (defpart 686 - :init-specs - ((sp-flt spt-fade-a -0.07111111)) + :init-specs ((sp-flt spt-fade-a -0.07111111)) ) ;; failed to figure out what this is: (defpart 679 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.01 0.01 1.0) (sp-rnd-flt spt-x (meters -65) (meters 60) 1.0) (sp-flt spt-y (meters 8)) @@ -459,14 +433,12 @@ ;; failed to figure out what this is: (defpart 687 - :init-specs - ((sp-flt spt-fade-a -0.07111111)) + :init-specs ((sp-flt spt-fade-a -0.07111111)) ) ;; failed to figure out what this is: (defpart 680 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.01 0.01 1.0) (sp-rnd-flt spt-x (meters -50) (meters 20) 1.0) (sp-flt spt-y (meters 0)) @@ -492,14 +464,12 @@ ;; failed to figure out what this is: (defpart 688 - :init-specs - ((sp-flt spt-fade-a -0.08533333)) + :init-specs ((sp-flt spt-fade-a -0.08533333)) ) ;; failed to figure out what this is: (defpart 681 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.03 0.04 1.0) (sp-rnd-flt spt-x (meters -40) (meters 20) 1.0) (sp-flt spt-y (meters 1)) @@ -525,14 +495,12 @@ ;; failed to figure out what this is: (defpart 689 - :init-specs - ((sp-flt spt-fade-a -0.07111111)) + :init-specs ((sp-flt spt-fade-a -0.07111111)) ) ;; failed to figure out what this is: (defpart 682 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.015 0.02 1.0) (sp-flt spt-x (meters -10)) (sp-flt spt-y (meters 1)) @@ -557,14 +525,12 @@ ;; failed to figure out what this is: (defpart 690 - :init-specs - ((sp-flt spt-fade-a -0.017777778)) + :init-specs ((sp-flt spt-fade-a -0.017777778)) ) ;; failed to figure out what this is: (defpart 683 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.015 0.02 1.0) (sp-flt spt-x (meters -25)) (sp-flt spt-y (meters 1)) @@ -589,14 +555,12 @@ ;; failed to figure out what this is: (defpart 691 - :init-specs - ((sp-flt spt-fade-a -0.013333334)) + :init-specs ((sp-flt spt-fade-a -0.013333334)) ) ;; failed to figure out what this is: (defpart 684 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.015 0.015 1.0) (sp-flt spt-x (meters -35)) (sp-flt spt-y (meters 1)) @@ -621,14 +585,12 @@ ;; failed to figure out what this is: (defpart 692 - :init-specs - ((sp-flt spt-fade-a -0.016410256)) + :init-specs ((sp-flt spt-fade-a -0.016410256)) ) ;; failed to figure out what this is: (defpart 685 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.015 0.015 1.0) (sp-flt spt-x (meters -25)) (sp-flt spt-y (meters 14)) @@ -653,8 +615,7 @@ ;; failed to figure out what this is: (defpart 693 - :init-specs - ((sp-flt spt-fade-a -0.014222222)) + :init-specs ((sp-flt spt-fade-a -0.014222222)) ) ;; definition for symbol sound-beach-waterfall, type sound-spec @@ -664,8 +625,7 @@ (defpartgroup group-beach-butterflies :id 171 :bounds (static-bspherem 0 0 0 30) - :parts - ((sp-item 696 :fade-after (meters 120) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 694) + :parts ((sp-item 696 :fade-after (meters 120) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 694) (sp-item 696 :fade-after (meters 120) :period 6637 :length 5 :hour-mask #b111111100000000000111111 :binding 694) (sp-item 696 :fade-after (meters 120) :period 9846 :length 5 :hour-mask #b111111100000000000111111 :binding 694) (sp-item 694 :flags (start-dead launch-asap) :binding 695) @@ -683,8 +643,7 @@ ;; failed to figure out what this is: (defpart 696 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 7.5) 1.0) (sp-rnd-flt spt-y (meters 14) (meters 3) 1.0) @@ -704,8 +663,7 @@ ;; failed to figure out what this is: (defpart 697 - :init-specs - ((sp-flt spt-accel-y 0.0) + :init-specs ((sp-flt spt-accel-y 0.0) (sp-int-plain-rnd spt-next-time 2700 1499 1) (sp-launcher-by-id spt-next-launcher 698) ) @@ -713,14 +671,12 @@ ;; failed to figure out what this is: (defpart 698 - :init-specs - ((sp-flt spt-accel-y 1.3653333)) + :init-specs ((sp-flt spt-accel-y 1.3653333)) ) ;; failed to figure out what this is: (defpart 694 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -744,8 +700,7 @@ ;; failed to figure out what this is: (defpart 699 - :init-specs - ((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) + :init-specs ((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) (sp-int-plain-rnd spt-next-time 150 449 1) @@ -755,8 +710,7 @@ ;; failed to figure out what this is: (defpart 695 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 0.9)) @@ -776,8 +730,7 @@ (defpartgroup group-beach-moth :id 172 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 702 :fade-after (meters 120) :flags (bit1) :period 18030 :length 5 :hour-mask #b1111111110000000 :binding 700) + :parts ((sp-item 702 :fade-after (meters 120) :flags (bit1) :period 18030 :length 5 :hour-mask #b1111111110000000 :binding 700) (sp-item 700 :flags (start-dead launch-asap) :binding 701) (sp-item 701 :flags (is-3d start-dead)) ) @@ -785,8 +738,7 @@ ;; failed to figure out what this is: (defpart 702 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.1)) (sp-copy-from-other spt-scale-y -4) @@ -800,8 +752,7 @@ ;; failed to figure out what this is: (defpart 700 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 1.5)) @@ -825,8 +776,7 @@ ;; failed to figure out what this is: (defpart 703 - :init-specs - ((sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) + :init-specs ((sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) (sp-rnd-flt spt-vel-y (meters -0.0148148155) (meters 0.029629631) 1.0) (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) (sp-int-plain-rnd spt-next-time 150 449 1) @@ -836,8 +786,7 @@ ;; failed to figure out what this is: (defpart 701 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 0.4)) diff --git a/test/decompiler/reference/levels/beach/beach-rocks_REF.gc b/test/decompiler/reference/levels/beach/beach-rocks_REF.gc index de510d50ee..1a1b402199 100644 --- a/test/decompiler/reference/levels/beach/beach-rocks_REF.gc +++ b/test/decompiler/reference/levels/beach/beach-rocks_REF.gc @@ -16,8 +16,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2340 :period 75 :length 10) + :parts ((sp-item 2340 :period 75 :length 10) (sp-item 2341 :period 75 :length 10) (sp-item 2289 :period 75 :length 10) ) @@ -25,8 +24,7 @@ ;; failed to figure out what this is: (defpart 2341 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 3.0 6.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters -4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.25) (meters 1) 1.0) @@ -52,8 +50,7 @@ ;; failed to figure out what this is: (defpart 2340 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters -4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0) @@ -80,8 +77,7 @@ ;; failed to figure out what this is: (defpart 2289 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 3.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters -4) 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 2) 1.0) @@ -114,14 +110,12 @@ :id 554 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2290 :period 15 :length 5)) + :parts ((sp-item 2290 :period 15 :length 5)) ) ;; failed to figure out what this is: (defpart 2290 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 3.0 3.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters -4) 1.0) (sp-rnd-flt spt-scale-x (meters 7) (meters 9) 1.0) @@ -155,8 +149,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2342 :period 900 :length 40) + :parts ((sp-item 2342 :period 900 :length 40) (sp-item 2343 :period 900 :length 40) (sp-item 2291 :period 900 :length 40) ) @@ -164,8 +157,7 @@ ;; failed to figure out what this is: (defpart 2343 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 32.0) (sp-flt spt-y (meters -3)) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.3) 1.0) @@ -187,8 +179,7 @@ ;; failed to figure out what this is: (defpart 2342 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 64.0 64.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters -4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0) @@ -215,8 +206,7 @@ ;; failed to figure out what this is: (defpart 2291 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 32.0 32.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters -4) 1.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 8) 1.0) @@ -305,8 +295,7 @@ ;; failed to figure out what this is: (defstate idle (beach-rock) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (set! (-> self trigger) #t) @@ -317,8 +306,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (if (-> self trigger) (go-virtual falling) ) @@ -335,10 +323,8 @@ ;; failed to figure out what this is: (defstate loading (beach-rock) :virtual #t - :event - (-> (the-as state (method-of-type beach-rock idle)) event) - :code - (behavior () + :event (-> (the-as state (method-of-type beach-rock idle)) event) + :code (behavior () (loop (spool-push *art-control* "lrocklrg-falling" 0 self -1.0) (suspend) @@ -350,8 +336,7 @@ ;; failed to figure out what this is: (defstate falling (beach-rock) :virtual #t - :trans - (behavior () + :trans (behavior () (set! (-> self draw bounds w) 819200.0) (let ((f30-0 (ja-aframe-num 0))) (when (and (< -50.0 f30-0) (< f30-0 158.0)) @@ -382,8 +367,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (v1-3 symbol) (v1-49 symbol)) (until v1-3 (spool-push *art-control* "lrocklrg-falling" 0 self -1.0) @@ -393,29 +377,17 @@ (logclear! (-> self draw status) (draw-status hidden)) (ja-channel-set! 1) (ja :group! (-> self draw art-group data 2) :num! min) - (let* ((gp-1 (get-process *default-dead-pool* othercam #x4000)) - (gp-2 (ppointer->handle (when gp-1 - (let ((t9-5 (method-of-type othercam activate))) - (t9-5 (the-as othercam gp-1) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 othercam-init-by-other self 7 #f #t) - (-> gp-1 ppointer) - ) - ) - ) - (s5-0 (get-process *default-dead-pool* fuel-cell #x4000)) - (s5-1 - (ppointer->handle - (when s5-0 - (let ((t9-8 (method-of-type fuel-cell activate))) - (t9-8 (the-as fuel-cell s5-0) self 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 fuel-cell-init-as-clone (process->handle self) (-> self entity extra perm task)) - (-> s5-0 ppointer) - ) - ) - ) - ) + (let ((gp-2 (ppointer->handle (process-spawn othercam self 7 #f #t :to self))) + (s5-1 (ppointer->handle (process-spawn + fuel-cell + :init fuel-cell-init-as-clone + (process->handle self) + (-> self entity extra perm task) + :to self + ) + ) + ) + ) (close-specific-task! (-> self entity extra perm task) (task-status need-reminder)) (set! (-> self movie-start) (-> *display* base-frame-counter)) (spool-push *art-control* "lrocklrg-falling" 0 self -1.0) @@ -424,8 +396,7 @@ :name "lrocklrg-falling" :index 4 :parts 4 - :command-list - '((-150 blackout 100) (-116 blackout 0)) + :command-list '((-150 blackout 100) (-116 blackout 0)) ) (the-as art-joint-anim (-> self draw art-group data 2)) (the-as art-joint-anim (-> self draw art-group data 3)) @@ -453,15 +424,13 @@ (go-virtual fallen) (none) ) - :post - (the-as (function none :behavior beach-rock) transform-post) + :post (the-as (function none :behavior beach-rock) transform-post) ) ;; failed to figure out what this is: (defstate fallen (beach-rock) :virtual #t - :code - (behavior () + :code (behavior () (level-hint-spawn (game-text-id beach-seagulls-avalanche) "sksp0025" @@ -482,8 +451,7 @@ 0 (none) ) - :post - (the-as (function none :behavior beach-rock) ja-post) + :post (the-as (function none :behavior beach-rock) ja-post) ) ;; definition for method 11 of type beach-rock diff --git a/test/decompiler/reference/levels/beach/bird-lady-beach_REF.gc b/test/decompiler/reference/levels/beach/bird-lady-beach_REF.gc index 79e4692d9c..cb05e50b39 100644 --- a/test/decompiler/reference/levels/beach/bird-lady-beach_REF.gc +++ b/test/decompiler/reference/levels/beach/bird-lady-beach_REF.gc @@ -34,8 +34,7 @@ ;; failed to figure out what this is: (defstate idle (bird-lady-beach) :virtual #t - :enter - (behavior () + :enter (behavior () (when (not (should-display? self)) (let ((a0-2 (handle->process (-> self flutflut)))) (if a0-2 @@ -61,42 +60,21 @@ (when arg0 (set! (-> obj cell-for-task) (current-task (-> obj tasks))) (close-current! (-> obj tasks)) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj flutflut) - (ppointer->handle - (when s5-1 - (let ((t9-4 (method-of-type manipy activate))) - (t9-4 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *flutflut-naked-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> obj flutflut) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *flutflut-naked-sg* #f :to obj)) + ) (send-event (handle->process (-> obj flutflut)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj flutflut)) 'blend-shape #t) - (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj egg) - (ppointer->handle - (when s5-2 - (let ((t9-9 (method-of-type manipy activate))) - (t9-9 (the-as manipy s5-2) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 manipy-init (-> obj root-override trans) (-> obj entity) *flutflutegg-sg* #f) - (-> s5-2 ppointer) - ) - ) - ) - ) + (set! (-> obj egg) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *flutflutegg-sg* #f :to obj)) + ) (send-event (handle->process (-> obj egg)) 'anim-mode 'clone-anim) ) (new 'static 'spool-anim :name "bird-lady-beach-resolution" :index 4 :parts 10 - :command-list - '((141 joint "cameraB") (535 joint "camera") (696 joint "cameraB") (758 joint "camera") (813 joint "cameraB")) + :command-list '((141 joint "cameraB") (535 joint "camera") (696 joint "cameraB") (758 joint "camera") (813 joint "cameraB")) ) ) (else diff --git a/test/decompiler/reference/levels/beach/bird-lady_REF.gc b/test/decompiler/reference/levels/beach/bird-lady_REF.gc index e44159568a..54600e1611 100644 --- a/test/decompiler/reference/levels/beach/bird-lady_REF.gc +++ b/test/decompiler/reference/levels/beach/bird-lady_REF.gc @@ -83,8 +83,7 @@ :name "bird-lady-introduction" :index 4 :parts 11 - :command-list - '((0 want-levels village1 beach) + :command-list '((0 want-levels village1 beach) (49 joint "cameraB") (101 display-level beach special) (101 kill "yakow-8") @@ -146,10 +145,7 @@ ;; definition for method 43 of type bird-lady (defmethod TODO-RENAME-43 bird-lady ((obj bird-lady)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.66 f0-2) (play-ambient (-> obj ambient) "BIR-LO02" #f (-> obj root-override trans)) diff --git a/test/decompiler/reference/levels/beach/lurkercrab_REF.gc b/test/decompiler/reference/levels/beach/lurkercrab_REF.gc index f05a49c0c7..9b70280440 100644 --- a/test/decompiler/reference/levels/beach/lurkercrab_REF.gc +++ b/test/decompiler/reference/levels/beach/lurkercrab_REF.gc @@ -7,16 +7,14 @@ (defpartgroup group-lurkercrab-slide :id 159 :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 663 :fade-after (meters 40) :falloff-to (meters 40)) + :parts ((sp-item 663 :fade-after (meters 40) :falloff-to (meters 40)) (sp-item 664 :fade-after (meters 40) :falloff-to (meters 40)) ) ) ;; failed to figure out what this is: (defpart 663 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-flt spt-y (meters -2)) (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 1.0) @@ -36,8 +34,7 @@ ;; failed to figure out what this is: (defpart 664 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-flt spt-y (meters -2)) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) @@ -217,18 +214,15 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-idle (lurkercrab) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkercrab) nav-enemy-default-event-handler ) - :exit - (behavior () + :exit (behavior () (set! (-> self draw force-lod) -1) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self target-speed) 0.0) (set! (-> self draw force-lod) 2) (ja-channel-push! 1 (seconds 0.075)) @@ -289,20 +283,17 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-patrol (lurkercrab) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkercrab) nav-enemy-default-event-handler ) - :exit - (behavior () + :exit (behavior () (lurkercrab-invulnerable) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf6)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) (none) ) - :code - (behavior () + :code (behavior () (when (ja-group? lurkercrab-idle-ja) (ja-no-eval :group! lurkercrab-idle-to-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -368,13 +359,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-notice (lurkercrab) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkercrab) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-chase) (none) ) @@ -383,19 +372,16 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-chase (lurkercrab) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkercrab) nav-enemy-default-event-handler ) - :exit - (behavior () + :exit (behavior () (lurkercrab-invulnerable) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf6)) (none) ) - :trans - (behavior () + :trans (behavior () (if (logtest? (-> *target* state-flags) (state-flags sf03 sf04 sf05 sf06 sf07 sf15)) (go-virtual nav-enemy-victory) ) @@ -404,8 +390,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) (ja-channel-push! 1 (seconds 0.075)) (loop @@ -461,13 +446,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-stop-chase (lurkercrab) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkercrab) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-patrol) (none) ) @@ -476,13 +459,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-stare (lurkercrab) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkercrab) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-patrol) (none) ) @@ -491,13 +472,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-victory (lurkercrab) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkercrab) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (ja-channel-push! 1 (seconds 0.075)) (ja :group! (-> self draw art-group data (-> self nav-info victory-anim))) @@ -512,18 +491,15 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate lurkercrab-pushed (lurkercrab) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkercrab) nav-enemy-default-event-handler ) - :exit - (behavior () + :exit (behavior () (set! (-> self orient) #t) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self momentum-speed) 57344.0) (set! (-> self target-speed) 0.0) (set! (-> self orient) #f) @@ -545,8 +521,7 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-chase) (none) ) - :post - (behavior () + :post (behavior () (let ((a0-0 (-> self part)) (a1-0 (-> self collide-info root-prim prim-core)) ) diff --git a/test/decompiler/reference/levels/beach/lurkerpuppy_REF.gc b/test/decompiler/reference/levels/beach/lurkerpuppy_REF.gc index ccb3493eeb..19cc61200c 100644 --- a/test/decompiler/reference/levels/beach/lurkerpuppy_REF.gc +++ b/test/decompiler/reference/levels/beach/lurkerpuppy_REF.gc @@ -33,13 +33,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-notice (lurkerpuppy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkerpuppy) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.17)) (ja-no-eval :group! lurkerpuppy-celebrate-ja :num! (seek!) :frame-num 0.0) @@ -56,13 +54,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-chase (lurkerpuppy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkerpuppy) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (cond ((ja-group? lurkerpuppy-jump-land-ja) (ja-channel-push! 1 (seconds 0.17)) @@ -98,13 +94,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-stare (lurkerpuppy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkerpuppy) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 1456355.5) (set! (-> self turn-time) (seconds 0.1)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) @@ -146,13 +140,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-give-up (lurkerpuppy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkerpuppy) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 218453.33) (set! (-> self turn-time) (seconds 0.5)) (ja-channel-push! 1 (seconds 0.075)) @@ -182,13 +174,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-attack (lurkerpuppy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkerpuppy) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "head-butt") (new-sound-id) 1024 0 0 1 #t) (go-virtual nav-enemy-victory) (none) @@ -198,18 +188,15 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-victory (lurkerpuppy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkerpuppy) nav-enemy-default-event-handler ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (none) ) - :code - (behavior () + :code (behavior () (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (ja-channel-push! 1 (seconds 0.075)) (dotimes (gp-0 4) @@ -228,8 +215,7 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-chase) (none) ) - :post - (the-as (function none :behavior lurkerpuppy) nav-enemy-face-player-post) + :post (the-as (function none :behavior lurkerpuppy) nav-enemy-face-player-post) ) ;; definition for symbol *lurkerpuppy-nav-enemy-info*, type nav-enemy-info diff --git a/test/decompiler/reference/levels/beach/lurkerworm_REF.gc b/test/decompiler/reference/levels/beach/lurkerworm_REF.gc index fef62c6090..ccd5aaf959 100644 --- a/test/decompiler/reference/levels/beach/lurkerworm_REF.gc +++ b/test/decompiler/reference/levels/beach/lurkerworm_REF.gc @@ -79,8 +79,7 @@ :id 157 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 656 :fade-after (meters 90) :period 900 :length 300) + :parts ((sp-item 656 :fade-after (meters 90) :period 900 :length 300) (sp-item 657 :fade-after (meters 100) :period 900 :length 390) (sp-item 658 :fade-after (meters 150) :period 900 :length 420 :offset 120) (sp-item 659 :fade-after (meters 60) :period 900 :length 420 :offset 120) @@ -92,8 +91,7 @@ :id 158 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 656 :fade-after (meters 90) :period 900 :length 300) + :parts ((sp-item 656 :fade-after (meters 90) :period 900 :length 300) (sp-item 658 :fade-after (meters 150) :period 900 :length 420 :offset 120) (sp-item 659 :fade-after (meters 60) :period 900 :length 420 :offset 120) ) @@ -101,8 +99,7 @@ ;; failed to figure out what this is: (defpart 656 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters 3) (meters 5) 1.0) (sp-flt spt-y (meters 1)) @@ -127,14 +124,12 @@ ;; failed to figure out what this is: (defpart 660 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) ;; failed to figure out what this is: (defpart 658 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 1) 1.0) @@ -157,8 +152,7 @@ ;; failed to figure out what this is: (defpart 659 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.6) (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -181,8 +175,7 @@ ;; failed to figure out what this is: (defpart 657 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.4) 1.0) @@ -204,8 +197,7 @@ ;; failed to figure out what this is: (defpart 661 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-z (meters -0.5) (meters 1) 1.0) @@ -229,8 +221,7 @@ ;; failed to figure out what this is: (defpart 662 - :init-specs - ((sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-a -0.10666667)) ) ;; definition for method 20 of type lurkerworm @@ -358,16 +349,13 @@ lurkerworm-default-post-behavior ;; failed to figure out what this is: (defstate lurkerworm-idle (lurkerworm) - :event - lurkerworm-default-event-handler - :enter - (behavior () + :event lurkerworm-default-event-handler + :enter (behavior () (ja-channel-set! 0) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior () + :code (behavior () (loop (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) *target* @@ -379,22 +367,18 @@ lurkerworm-default-post-behavior ) (none) ) - :post - lurkerworm-default-post-behavior + :post lurkerworm-default-post-behavior ) ;; failed to figure out what this is: (defstate lurkerworm-spot (lurkerworm) - :event - lurkerworm-default-event-handler - :enter - (behavior () + :event lurkerworm-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (sound-play-by-name (static-sound-name "worm-rise1") (new-sound-id) 1024 0 0 1 #t) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self part local-clock) 0) (loop (spawn (-> self part) (-> self root-override trans)) @@ -409,21 +393,17 @@ lurkerworm-default-post-behavior ) (none) ) - :post - lurkerworm-default-post-behavior + :post lurkerworm-default-post-behavior ) ;; failed to figure out what this is: (defstate lurkerworm-rise (lurkerworm) - :event - lurkerworm-default-event-handler - :enter - (behavior () + :event lurkerworm-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-set! 1) (ja-no-eval :group! lurkerworm-rise-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -436,27 +416,22 @@ lurkerworm-default-post-behavior (go lurkerworm-rest) (none) ) - :post - lurkerworm-default-post-behavior + :post lurkerworm-default-post-behavior ) ;; failed to figure out what this is: (defstate lurkerworm-rest (lurkerworm) - :event - lurkerworm-default-event-handler - :enter - (behavior () + :event lurkerworm-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self vulnerable) #t) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self vulnerable) #f) (none) ) - :code - (behavior () + :code (behavior () (let* ((f30-0 10.0) (f28-0 100.0) (v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) @@ -483,10 +458,8 @@ lurkerworm-default-post-behavior ) ) (f30-2 (* 0.2 f0-13)) - (v1-31 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-32 (the-as number (logior #x3f800000 v1-31))) ) - (if (< (+ -1.0 (the-as float v1-32)) f30-2) + (if (< (rand-float-gen) f30-2) (go lurkerworm-strike) ) ) @@ -508,16 +481,13 @@ lurkerworm-default-post-behavior ) (none) ) - :post - lurkerworm-default-post-behavior + :post lurkerworm-default-post-behavior ) ;; failed to figure out what this is: (defstate lurkerworm-strike (lurkerworm) - :event - lurkerworm-default-event-handler - :code - (behavior () + :event lurkerworm-default-event-handler + :code (behavior () (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.135)) (ja-no-eval :group! lurkerworm-chomp-ja :num! (seek! (ja-aframe 13.0 0)) :frame-num 0.0) @@ -532,21 +502,17 @@ lurkerworm-default-post-behavior (go lurkerworm-rest) (none) ) - :post - lurkerworm-default-post-behavior + :post lurkerworm-default-post-behavior ) ;; failed to figure out what this is: (defstate lurkerworm-sink (lurkerworm) - :event - lurkerworm-default-event-handler - :enter - (behavior () + :event lurkerworm-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! lurkerworm-sink-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (spawn (-> self part2) (-> self root-override trans)) @@ -557,19 +523,16 @@ lurkerworm-default-post-behavior (go lurkerworm-idle) (none) ) - :post - lurkerworm-default-post-behavior + :post lurkerworm-default-post-behavior ) ;; failed to figure out what this is: (defstate lurkerworm-die (lurkerworm) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior lurkerworm) process-drawable-death-event-handler ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (let ((v1-3 (-> self root-override root-prim))) (set! (-> v1-3 collide-with) (collide-kind)) @@ -584,8 +547,7 @@ lurkerworm-default-post-behavior (cleanup-for-death self) (none) ) - :post - lurkerworm-default-post-behavior + :post lurkerworm-default-post-behavior ) ;; definition for method 11 of type lurkerworm diff --git a/test/decompiler/reference/levels/beach/mayor_REF.gc b/test/decompiler/reference/levels/beach/mayor_REF.gc index 65a739ab74..6a7deb6880 100644 --- a/test/decompiler/reference/levels/beach/mayor_REF.gc +++ b/test/decompiler/reference/levels/beach/mayor_REF.gc @@ -98,8 +98,7 @@ :name "mayor-introduction" :index 4 :parts 16 - :command-list - '((0 kill "villagea-part-65") + :command-list '((0 kill "villagea-part-65") (0 kill "villagea-part-70") (0 kill "med-res-level-2") (0 kill "med-res-level-3") @@ -190,8 +189,7 @@ :name "mayor-reminder-donation" :index 6 :parts 3 - :command-list - '((0 kill "villagea-part-65") + :command-list '((0 kill "villagea-part-65") (0 kill "villagea-part-70") (0 kill "med-res-level-2") (0 kill "med-res-level-3") @@ -274,8 +272,7 @@ :name "mayor-reminder-beams" :index 5 :parts 3 - :command-list - '((0 kill "villagea-part-65") + :command-list '((0 kill "villagea-part-65") (0 kill "villagea-part-70") (0 kill "med-res-level-2") (0 kill "med-res-level-3") @@ -361,8 +358,7 @@ :name "mayor-reminder-beams" :index 5 :parts 3 - :command-list - '((0 kill "villagea-part-65") + :command-list '((0 kill "villagea-part-65") (0 kill "villagea-part-70") (0 kill "med-res-level-2") (0 kill "med-res-level-3") @@ -448,8 +444,7 @@ :name "mayor-reminder-donation" :index 6 :parts 3 - :command-list - '((0 kill "villagea-part-65") + :command-list '((0 kill "villagea-part-65") (0 kill "villagea-part-70") (0 kill "med-res-level-2") (0 kill "med-res-level-3") @@ -552,8 +547,7 @@ :name "mayor-resolution-donation" :index 8 :parts 5 - :command-list - '((0 kill "villagea-part-65") + :command-list '((0 kill "villagea-part-65") (0 kill "villagea-part-70") (0 kill "med-res-level-2") (0 kill "med-res-level-3") @@ -663,10 +657,7 @@ ;; definition for method 43 of type mayor (defmethod TODO-RENAME-43 mayor ((obj mayor)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.8888889 f0-2) (if (not (closed? (-> obj tasks) (game-task jungle-lurkerm) (task-status need-reminder))) @@ -715,16 +706,14 @@ ;; failed to figure out what this is: (defstate idle (mayor) :virtual #t - :trans - (behavior () + :trans (behavior () (if (not (should-display? self)) (go-virtual hidden) ) ((-> (method-of-type process-taskable idle) trans)) (none) ) - :post - (behavior () + :post (behavior () (let ((t9-0 (-> (method-of-type process-taskable idle) post))) (if t9-0 ((the-as (function none) t9-0)) diff --git a/test/decompiler/reference/levels/beach/pelican_REF.gc b/test/decompiler/reference/levels/beach/pelican_REF.gc index 9ced3f536a..30fb177987 100644 --- a/test/decompiler/reference/levels/beach/pelican_REF.gc +++ b/test/decompiler/reference/levels/beach/pelican_REF.gc @@ -231,8 +231,7 @@ ;; failed to figure out what this is: (defstate pelican-circle (pelican) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -256,8 +255,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (while (-> self child) (deactivate (-> self child 0)) ) @@ -265,17 +263,7 @@ (let ((gp-0 (-> self path-vector))) (eval-path-curve-div! (-> self path-dive0) gp-0 4.5 'interp) (set! (-> gp-0 y) (+ -4505.6 (-> gp-0 y))) - (let* ((s5-0 (get-process *default-dead-pool* manipy #x4000)) - (v1-8 - (when s5-0 - (let ((t9-3 (method-of-type manipy activate))) - (t9-3 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init gp-0 (-> self entity) *fuel-cell-sg* (new 'static 'vector :w 4915.2)) - (-> s5-0 ppointer) - ) - ) - ) + (let ((v1-8 (manipy-spawn gp-0 (-> self entity) *fuel-cell-sg* (new 'static 'vector :w 4915.2) :to self))) (set! (-> self fuel-cell) (ppointer->handle v1-8)) (if v1-8 (send-event @@ -299,8 +287,7 @@ (set-roll-to-grav-2! (-> self root-override) -2730.6667) (none) ) - :trans - (behavior () + :trans (behavior () (pelican-path-update 728177.75 30 1.0 (/ (-> self path-max) (path-distance (-> self path))) #f) (let ((f0-3 (+ (-> self path-pos) (* (-> self path-speed) (-> *display* seconds-per-frame)))) (f1-2 (-> self path-max)) @@ -310,60 +297,53 @@ (when (and (and *target* (>= 81920.0 (vector-vector-xz-distance (-> self path-vector) (-> *target* control trans)))) (not (handle->process (-> self cam-tracker))) ) - (let ((gp-1 (get-process *default-dead-pool* camera-tracker #x4000))) - (set! (-> self cam-tracker) - (ppointer->handle (when gp-1 - (let ((t9-4 (method-of-type camera-tracker activate))) - (t9-4 (the-as camera-tracker gp-1) self 'camera-tracker (the-as pointer #x70004000)) + (set! (-> self cam-tracker) + (ppointer->handle (process-spawn + camera-tracker + :init camera-tracker-init + (lambda :behavior camera-tracker + () + (local-vars + (a0-6 process-tree) + (a1-5 event-message-block) + (t9-6 (function process-tree event-message-block object)) ) - (run-now-in-process - gp-1 - camera-tracker-init - (lambda :behavior camera-tracker - () - (local-vars - (a0-6 process-tree) - (a1-5 event-message-block) - (t9-6 (function process-tree event-message-block object)) - ) - (while (not (process-grab? *target*)) - (suspend) - ) - (send-event (ppointer->process (-> self parent)) 'position 4.0) - (send-event (ppointer->process (-> self parent)) 'dive) - (suspend) - (suspend) - (send-event *camera* 'blend-from-as-fixed) - (camera-look-at (the-as pair (ppointer->process (-> self parent))) (the-as uint 0)) - (camera-change-to "camera-215" 0 #f) - (until (t9-6 a0-6 a1-5) - (suspend) - (set! a1-5 (new 'stack-no-clear 'event-message-block)) - (set! (-> a1-5 from) self) - (set! (-> a1-5 num-params) 0) - (set! (-> a1-5 message) 'got-cell?) - (set! t9-6 send-event-function) - (set! a0-6 (ppointer->process (-> self parent))) - ) - (send-event *camera* 'point-of-interest #f) - (while (!= (-> self message) 'release) - (suspend) - ) - (set! (-> self message) #f) - (while (not (process-release? (handle->process (-> self grab-target)))) - (suspend) - ) - (send-event *camera* 'blend-from-as-fixed) - (camera-look-at (the-as pair *target*) (the-as uint 0)) - (camera-change-to (the-as string 'base) 150 #f) - (none) - ) + (while (not (process-grab? *target*)) + (suspend) ) - (-> gp-1 ppointer) + (send-event (ppointer->process (-> self parent)) 'position 4.0) + (send-event (ppointer->process (-> self parent)) 'dive) + (suspend) + (suspend) + (send-event *camera* 'blend-from-as-fixed) + (camera-look-at (the-as pair (ppointer->process (-> self parent))) (the-as uint 0)) + (camera-change-to "camera-215" 0 #f) + (until (t9-6 a0-6 a1-5) + (suspend) + (set! a1-5 (new 'stack-no-clear 'event-message-block)) + (set! (-> a1-5 from) self) + (set! (-> a1-5 num-params) 0) + (set! (-> a1-5 message) 'got-cell?) + (set! t9-6 send-event-function) + (set! a0-6 (ppointer->process (-> self parent))) + ) + (send-event *camera* 'point-of-interest #f) + (while (!= (-> self message) 'release) + (suspend) + ) + (set! (-> self message) #f) + (while (not (process-release? (handle->process (-> self grab-target)))) + (suspend) + ) + (send-event *camera* 'blend-from-as-fixed) + (camera-look-at (the-as pair *target*) (the-as uint 0)) + (camera-change-to (the-as string 'base) 150 #f) + (none) ) + :to self ) - ) - ) + ) + ) (set! (-> self draw force-lod) 0) 0 ) @@ -376,8 +356,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (suspend) (send-event (-> self fuel-cell process 0) 'trans-hook fuel-cell-animate) (pelican-fly @@ -386,14 +365,12 @@ ) (none) ) - :post - pelican-post + :post pelican-post ) ;; failed to figure out what this is: (defstate pelican-dive (pelican) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'got-cell?) @@ -406,8 +383,7 @@ ) ) ) - :enter - (behavior ((arg0 path-control) (arg1 curve-control) (arg2 time-frame)) + :enter (behavior ((arg0 path-control) (arg1 curve-control) (arg2 time-frame)) (init! (-> self query) (the-as string #f) 40 150 25 #t (the-as string #f)) (set! (-> self state-object) #f) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -435,13 +411,11 @@ 0 (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self draw force-lod) -1) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (handle->process (-> self fuel-cell))) (go pelican-fly-to-end (-> self path-to-nest2) (-> *PELICAN-bank* run-away-time)) ) @@ -452,21 +426,13 @@ ) (none) ) - :code - (behavior ((arg0 path-control) (arg1 curve-control) (arg2 time-frame)) + :code (behavior ((arg0 path-control) (arg1 curve-control) (arg2 time-frame)) (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! pelican-swoop-ja :num! (seek! (ja-aframe 48.0 0) 0.5) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (let ((gp-1 (handle->process (-> self fuel-cell)))) - (when (and gp-1 (>= (-> self path-pos) 3.8) (let ((a1-5 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-5 from) self) - (set! (-> a1-5 num-params) 1) - (set! (-> a1-5 message) 'query) - (set! (-> a1-5 param 0) (the-as uint 'grab)) - (not (send-event-function gp-1 a1-5)) - ) - ) + (when (and gp-1 (>= (-> self path-pos) 3.8) (not (send-event gp-1 'query 'grab))) (level-hint-spawn (game-text-id zero) (the-as string #f) (-> self entity) *entity-pool* (game-task none)) (send-event gp-1 'grab self) (send-event gp-1 'draw #f) @@ -487,22 +453,19 @@ (anim-loop) (none) ) - :post - pelican-post + :post pelican-post ) ;; failed to figure out what this is: (defstate pelican-to-nest (pelican) - :enter - (behavior ((arg0 path-control) (arg1 int)) + :enter (behavior ((arg0 path-control) (arg1 int)) (set! (-> self path) arg0) (set! (-> self path-pos) 0.0) (set! (-> self path-max) (the float (+ (-> self path curve num-cverts) -1))) (set! (-> self path-speed) (/ (* 300.0 (-> self path-max)) (the float arg1))) (none) ) - :trans - (behavior () + :trans (behavior () (pelican-path-update 546133.3 30 0.0 0.0 #f) (seek! (-> self path-pos) (-> self path-max) (* (-> self path-speed) (-> *display* seconds-per-frame))) (if (= (-> self path-pos) (-> self path-max)) @@ -510,8 +473,7 @@ ) (none) ) - :code - (behavior ((arg0 path-control) (arg1 int)) + :code (behavior ((arg0 path-control) (arg1 int)) (pelican-fly (the-as (function pelican int) (lambda () 1)) (lambda ((arg0 pelican)) (if (and (>= (-> arg0 path-pos) 4.0) (>= 6.0 (-> arg0 path-pos))) @@ -522,14 +484,12 @@ ) (none) ) - :post - pelican-post + :post pelican-post ) ;; failed to figure out what this is: (defstate pelican-wait-at-nest (pelican) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -580,8 +540,7 @@ ) ) ) - :enter - (behavior ((arg0 symbol)) + :enter (behavior ((arg0 symbol)) (set! (-> self path) (-> self path-from-nest0)) (set! (-> self path-pos) 0.0) (set! (-> self path-max) (the float (+ (-> self path curve num-cverts) -1))) @@ -613,15 +572,13 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (if (nonzero? (-> self neck)) (set-mode! (-> self neck) (joint-mod-handler-mode flex-blend)) ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((a1-0 (-> self state-vector)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -634,8 +591,7 @@ (spool-push *art-control* "pelican-spit-ext" 0 self -99.0) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (cond (arg0 (ja-channel-set! 1) @@ -675,8 +631,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (when *target* (if *target* (look-at-enemy! (-> *target* neck) (the-as vector (-> self root-override root-prim prim-core)) 'nothing self) @@ -692,24 +647,13 @@ ;; failed to figure out what this is: (defstate pelican-spit (pelican) - :event - (-> pelican-circle event) - :code - (behavior () + :event (-> pelican-circle event) + :code (behavior () (local-vars (v1-21 symbol) (v1-31 symbol)) - (let* ((gp-0 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 - (ppointer->handle - (when gp-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 (the-as manipy gp-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 manipy-init (-> self entity extra trans) (-> self entity) *beachcam-sg* #f) - (-> gp-0 ppointer) - ) - ) - ) - ) + (let ((gp-1 + (ppointer->handle (manipy-spawn (-> self entity extra trans) (-> self entity) *beachcam-sg* #f :to self)) + ) + ) (let ((s5-0 (get-process *default-dead-pool* othercam #x4000))) (ppointer->handle (when s5-0 (let ((t9-4 (method-of-type othercam activate))) @@ -720,18 +664,11 @@ ) ) ) - (let* ((s5-1 (get-process *default-dead-pool* fuel-cell #x4000)) - (s4-0 (ppointer->handle (when s5-1 - (let ((t9-7 (method-of-type fuel-cell activate))) - (t9-7 (the-as fuel-cell s5-1) self 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 fuel-cell-init-as-clone (process->handle self) 0) - (-> s5-1 ppointer) - ) - ) - ) - (s5-2 (new 'stack-no-clear 'quaternion)) - ) + (let ((s4-0 + (ppointer->handle (process-spawn fuel-cell :init fuel-cell-init-as-clone (process->handle self) 0 :to self)) + ) + (s5-2 (new 'stack-no-clear 'quaternion)) + ) (quaternion-copy! s5-2 (-> self root-override quat)) (until v1-21 (suspend) @@ -743,8 +680,7 @@ :name "pelican-spit-ext" :index 11 :parts 2 - :command-list - '((10 send-event camera 'teleport-to-vector-start-string (static-vectorm -179 16 -421))) + :command-list '((10 send-event camera 'teleport-to-vector-start-string (static-vectorm -179 16 -421))) ) (the-as art-joint-anim pelican-sleep-ja) (the-as art-joint-anim #f) @@ -763,31 +699,26 @@ (quaternion-copy! (-> self root-override quat) s5-2) ) ) - (let ((gp-2 (get-process *default-dead-pool* process #x4000))) - (when gp-2 - (let ((t9-18 (method-of-type process activate))) - (t9-18 gp-2 self 'process (the-as pointer #x70004000)) + (process-spawn-function + process + (lambda :behavior pelican + () + (while (or (-> *setting-control* current ambient) + (-> *setting-control* current movie) + (-> *setting-control* current hint) + ) + (suspend) ) - (run-next-time-in-process gp-2 (lambda :behavior pelican - () - (while (or (-> *setting-control* current ambient) - (-> *setting-control* current movie) - (-> *setting-control* current hint) - ) - (suspend) - ) - (level-hint-spawn - (game-text-id beach-pelican-quick-get-cell) - "sksp0027" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (none) - ) - ) - (-> gp-2 ppointer) + (level-hint-spawn + (game-text-id beach-pelican-quick-get-cell) + "sksp0027" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (none) ) + :to self ) (let ((gp-3 (handle->process (-> self fuel-cell)))) (when gp-3 @@ -834,8 +765,7 @@ (go pelican-from-nest) (none) ) - :post - (behavior () + :post (behavior () (if (not (ja-group? pelican-sleep-ja)) (quaternion-identity! (-> self root-override quat)) ) @@ -846,13 +776,11 @@ ;; failed to figure out what this is: (defstate pelican-from-nest (pelican) - :enter - (behavior () + :enter (behavior () (set! (-> self path-pos) 1.5) (none) ) - :trans - (behavior () + :trans (behavior () (pelican-path-update 131072.0 150 0.0 0.0 #f) (seek! (-> self path-pos) (-> self path-max) (* (-> self path-speed) (-> *display* seconds-per-frame))) (if (= (-> self path-pos) (-> self path-max)) @@ -860,22 +788,19 @@ ) (none) ) - :code - (behavior () + :code (behavior () (pelican-fly (the-as (function pelican int) (lambda () (rand-vu-int-range 2 4))) (the-as (function pelican int) zero-func) ) (none) ) - :post - pelican-post + :post pelican-post ) ;; failed to figure out what this is: (defstate pelican-fly-to-end (pelican) - :enter - (behavior ((arg0 path-control) (arg1 time-frame)) + :enter (behavior ((arg0 path-control) (arg1 time-frame)) (process-entity-status! self (entity-perm-status complete) #t) (let ((v1-2 (-> self entity extra perm))) (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) @@ -894,8 +819,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (pelican-path-update 546133.3 30 0.0 0.0 #f) (seek! (-> self path-pos) (-> self path-max) (* (-> self path-speed) (-> *display* seconds-per-frame))) (if (= (-> self path-pos) (-> self path-max)) @@ -914,8 +838,7 @@ ) (none) ) - :code - (behavior ((arg0 path-control) (arg1 time-frame)) + :code (behavior ((arg0 path-control) (arg1 time-frame)) (pelican-fly (the-as (function pelican int) (lambda () 1)) (lambda ((arg0 pelican)) (if (and (>= (-> arg0 path-pos) 4.0) (>= 6.0 (-> arg0 path-pos))) @@ -926,14 +849,12 @@ ) (none) ) - :post - pelican-post + :post pelican-post ) ;; failed to figure out what this is: (defstate pelican-wait-at-end (pelican) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (cleanup-for-death self) (none) ) @@ -941,31 +862,23 @@ ;; failed to figure out what this is: (defstate pelican-explode (pelican) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (let ((v1-2 (-> self entity extra perm))) (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) (set! (-> v1-2 user-int8 0) 5) ) (when (not arg0) (sound-play-by-name (static-sound-name "scrate-break") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 71) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 71) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) ) (let ((gp-2 (new-stack-vector0))) @@ -997,8 +910,7 @@ (anim-loop) (none) ) - :post - (the-as (function none :behavior pelican) ja-post) + :post (the-as (function none :behavior pelican) ja-post) ) ;; definition for method 11 of type pelican @@ -1053,23 +965,15 @@ (go pelican-wait-at-nest #t) ) ((2) - (let* ((s4-1 (get-process *default-dead-pool* manipy #x4000)) - (s5-2 (when s4-1 - (let ((t9-15 (method-of-type manipy activate))) - (t9-15 (the-as manipy s4-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s4-1 - manipy-init - (-> obj root-override trans) - (-> obj entity) - *fuel-cell-sg* - (new 'static 'vector :w 4915.2) - ) - (-> s4-1 ppointer) - ) - ) - ) + (let ((s5-2 (manipy-spawn + (-> obj root-override trans) + (-> obj entity) + *fuel-cell-sg* + (new 'static 'vector :w 4915.2) + :to obj + ) + ) + ) (set! (-> obj fuel-cell) (the-as handle (if s5-2 (ppointer->handle s5-2) (the-as int #f) diff --git a/test/decompiler/reference/levels/beach/sculptor_REF.gc b/test/decompiler/reference/levels/beach/sculptor_REF.gc index 20185fe26f..c8cfac8970 100644 --- a/test/decompiler/reference/levels/beach/sculptor_REF.gc +++ b/test/decompiler/reference/levels/beach/sculptor_REF.gc @@ -80,21 +80,11 @@ ;; definition for function muse-to-idle (defbehavior muse-to-idle sculptor ((arg0 muse)) - (when (not (handle->process (-> arg0 incomming-attack-id))) - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) + (if (not (handle->process (-> arg0 incomming-attack-id))) (set! (-> arg0 incomming-attack-id) - (ppointer->handle - (when s5-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 (the-as manipy s5-0) arg0 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> arg0 collide-info trans) (-> arg0 entity) *sculptor-muse-sg* #f) - (-> s5-0 ppointer) - ) - ) + (ppointer->handle (manipy-spawn (-> arg0 collide-info trans) (-> arg0 entity) *sculptor-muse-sg* #f :to arg0)) ) ) - ) (let ((v1-11 (handle->process (-> arg0 incomming-attack-id)))) (if v1-11 (set! (-> (the-as muse v1-11) draw light-index) (the-as uint 3)) @@ -109,8 +99,7 @@ ;; failed to figure out what this is: (defstate give-cell (sculptor) :virtual #t - :enter - (behavior () + :enter (behavior () (muse-to-idle (the-as muse self)) (none) ) @@ -127,8 +116,7 @@ :name "sculptor-introduction" :index 16 :parts 14 - :command-list - '((0 display-level beach special) + :command-list '((0 display-level beach special) (0 kill "med-res-level-2") (0 kill "med-res-level-4") (0 kill "med-res-level-6") @@ -156,19 +144,9 @@ (when arg0 (set! (-> obj cell-for-task) (current-task (-> obj tasks))) (close-current! (-> obj tasks)) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj muse) - (ppointer->handle - (when s5-1 - (let ((t9-5 (method-of-type manipy activate))) - (t9-5 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *sculptor-muse-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> obj muse) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *sculptor-muse-sg* #f :to obj)) + ) (let ((v1-18 (handle->process (-> obj muse)))) (if v1-18 (set! (-> (the-as muse v1-18) draw light-index) (the-as uint 3)) @@ -181,8 +159,7 @@ :name "sculptor-resolution" :index 18 :parts 4 - :command-list - '((51 joint "cameraB") (87 joint "camera")) + :command-list '((51 joint "cameraB") (87 joint "camera")) ) ) (else @@ -214,10 +191,7 @@ ;; definition for method 43 of type sculptor (defmethod TODO-RENAME-43 sculptor ((obj sculptor)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.85714287 f0-2) (play-ambient (-> obj ambient) "SCU-LO01" #f (-> obj root-override trans)) @@ -248,8 +222,7 @@ ;; failed to figure out what this is: (defstate idle (sculptor) :virtual #t - :code - (behavior () + :code (behavior () (when (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.2)) (ja :group! (get-art-elem self)) @@ -290,10 +263,7 @@ ) ) ) - (let* ((v1-97 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-98 (the-as number (logior #x3f800000 v1-97))) - (f30-1 (+ -1.0 (the-as float v1-98))) - ) + (let ((f30-1 (rand-float-gen))) (ja-no-eval :group! sculptor-small-to-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -359,11 +329,7 @@ ) ) ) - (let* ((v1-316 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-317 (the-as number (logior #x3f800000 v1-316))) - ) - (< (+ -1.0 (the-as float v1-317)) 0.5) - ) + (< (rand-float-gen) 0.5) ) (ja-no-eval :group! sculptor-sigh-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) diff --git a/test/decompiler/reference/levels/beach/seagull_REF.gc b/test/decompiler/reference/levels/beach/seagull_REF.gc index 9130cedbec..fcfb43ff71 100644 --- a/test/decompiler/reference/levels/beach/seagull_REF.gc +++ b/test/decompiler/reference/levels/beach/seagull_REF.gc @@ -7,14 +7,12 @@ (defpartgroup group-seagull-takeoff :id 160 :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 663 :fade-after (meters 20))) + :parts ((sp-item 663 :fade-after (meters 20))) ) ;; failed to figure out what this is: (defpart 665 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -380,8 +378,7 @@ ;; failed to figure out what this is: (defstate seagull-idle (seagull) - :enter - (behavior () + :enter (behavior () (let* ((v1-0 (-> self flock)) (f30-0 (dummy-16 (if v1-0 @@ -392,17 +389,14 @@ ) (f28-0 21845.334) (f26-0 -0.5) - (v1-5 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-6 (the-as number (logior #x3f800000 v1-5))) ) (set! (-> self heading) - (the float (sar (shl (the int (+ f30-0 (* f28-0 (+ f26-0 (+ -1.0 (the-as float v1-6)))))) 48) 48)) + (the float (sar (shl (the int (+ f30-0 (* f28-0 (+ f26-0 (rand-float-gen))))) 48) 48)) ) ) (none) ) - :trans - (behavior () + :trans (behavior () (when (nonzero? (-> self scared)) (+! (-> self scared) -1) (when (zero? (-> self scared)) @@ -426,8 +420,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self root-override trans y) (+ 20480.0 (-> self root-override trans y))) (move-to-ground (-> self root-override) 40960.0 40960.0 #t (collide-kind background)) (update-transforms! (-> self root-override)) @@ -510,8 +503,7 @@ ) (none) ) - :post - seagull-post + :post seagull-post ) ;; definition for method 20 of type seagull @@ -539,26 +531,20 @@ ;; definition for method 26 of type seagull (defmethod dummy-26 seagull ((obj seagull)) (let ((s5-0 (new 'stack-no-clear 'vector))) - (let* ((f30-0 -4096.0) - (f28-0 8192.0) - (v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (set! (-> s5-0 x) (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-2))) (-> obj flock 0 target x))) + (let ((f30-0 -4096.0) + (f28-0 8192.0) + ) + (set! (-> s5-0 x) (+ f30-0 (* f28-0 (rand-float-gen)) (-> obj flock 0 target x))) ) - (let* ((f30-1 -4096.0) - (f28-1 8192.0) - (v1-7 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-8 (the-as number (logior #x3f800000 v1-7))) - ) - (set! (-> s5-0 y) (+ f30-1 (* f28-1 (+ -1.0 (the-as float v1-8))) (-> obj flock 0 target y))) + (let ((f30-1 -4096.0) + (f28-1 8192.0) + ) + (set! (-> s5-0 y) (+ f30-1 (* f28-1 (rand-float-gen)) (-> obj flock 0 target y))) ) - (let* ((f30-2 -4096.0) - (f28-2 8192.0) - (v1-13 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-14 (the-as number (logior #x3f800000 v1-13))) - ) - (set! (-> s5-0 z) (+ f30-2 (* f28-2 (+ -1.0 (the-as float v1-14))) (-> obj flock 0 target z))) + (let ((f30-2 -4096.0) + (f28-2 8192.0) + ) + (set! (-> s5-0 z) (+ f30-2 (* f28-2 (rand-float-gen)) (-> obj flock 0 target z))) ) (vector-! s5-0 s5-0 (-> obj root-override trans)) (vector-float*! s5-0 s5-0 0.9) @@ -637,16 +623,14 @@ ;; failed to figure out what this is: (defstate seagull-takeoff (seagull) - :trans - (behavior () + :trans (behavior () (when (< (+ (-> *display* base-frame-counter) (seconds -2)) (-> self part-time)) (-> self part) (-> self root-override root-prim prim-core) ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self part-time) (-> *display* base-frame-counter)) (ja-no-eval :group! seagull-takeoff-ja :num! (seek! (ja-aframe 4.0 0)) :frame-num (ja-aframe 1.0 0)) (until (ja-done? 0) @@ -689,22 +673,19 @@ (go seagull-flying) (none) ) - :post - seagull-post + :post seagull-post ) ;; failed to figure out what this is: (defstate seagull-flying (seagull) - :trans - (behavior () + :trans (behavior () (when (< (+ (-> *display* base-frame-counter) (seconds -2)) (-> self part-time)) (-> self part) (-> self root-override root-prim prim-core) ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self max-tilt) 1820.4445) (let ((gp-0 0)) (loop @@ -885,22 +866,19 @@ ) (none) ) - :post - seagull-post + :post seagull-post ) ;; failed to figure out what this is: (defstate seagull-soaring (seagull) - :trans - (behavior () + :trans (behavior () (when (< (+ (-> *display* base-frame-counter) (seconds -2)) (-> self part-time)) (-> self part) (-> self root-override root-prim prim-core) ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self max-tilt) 4551.1113) (loop @@ -1050,14 +1028,12 @@ ) (none) ) - :post - seagull-post + :post seagull-post ) ;; failed to figure out what this is: (defstate seagull-landing (seagull) - :code - (behavior ((arg0 float)) + :code (behavior ((arg0 float)) (let ((s5-0 (new 'stack 'collide-tri-result))) 0.0 (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -1206,8 +1182,7 @@ (go seagull-idle) (none) ) - :post - seagull-post + :post seagull-post ) ;; definition for function seagull-reaction @@ -1267,12 +1242,10 @@ (set! (-> self flock) (the-as (pointer seagullflock) (process->ppointer arg2))) (set! (-> self heading) 0.0) (set! (-> self tilt) 0.0) - (let* ((f30-0 51200.0) - (f28-0 20480.0) - (v1-23 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-24 (the-as number (logior #x3f800000 v1-23))) - ) - (set! (-> self thrust) (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-24))))) + (let ((f30-0 51200.0) + (f28-0 20480.0) + ) + (set! (-> self thrust) (+ f30-0 (* f28-0 (rand-float-gen)))) ) (set! (-> self teleport) #f) (go seagull-idle) @@ -1373,8 +1346,7 @@ ;; failed to figure out what this is: (defstate seagullflock-at-waterfall (seagullflock) - :code - (behavior () + :code (behavior () (local-vars (a0-2 process) (a1-0 event-message-block) @@ -1433,8 +1405,7 @@ ;; failed to figure out what this is: (defstate seagullflock-idle (seagullflock) - :code - (behavior () + :code (behavior () (loop (if (> (-> self teleport-frames) 0) (go seagullflock-at-waterfall) @@ -1500,16 +1471,7 @@ (if (= (-> obj birds) 64) (return (the-as (pointer process) #f)) ) - (let* ((s4-0 (get-process *default-dead-pool* seagull #x4000)) - (v0-0 (when s4-0 - (let ((t9-1 (method-of-type seagull activate))) - (t9-1 (the-as seagull s4-0) obj 'seagull (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 seagull-init-by-other arg0 (-> obj birds) obj) - (-> s4-0 ppointer) - ) - ) - ) + (let ((v0-0 (process-spawn seagull arg0 (-> obj birds) obj :to obj))) (set! (-> obj bird (-> obj birds)) (the-as (pointer seagull) v0-0)) (+! (-> obj birds) 1) v0-0 diff --git a/test/decompiler/reference/levels/citadel/assistant-citadel_REF.gc b/test/decompiler/reference/levels/citadel/assistant-citadel_REF.gc index 6dbf07abd9..071c464428 100644 --- a/test/decompiler/reference/levels/citadel/assistant-citadel_REF.gc +++ b/test/decompiler/reference/levels/citadel/assistant-citadel_REF.gc @@ -41,8 +41,7 @@ :name "assistant-lavatube-end-resolution" :index 4 :parts 11 - :command-list - '((61 joint "cameraB") + :command-list '((61 joint "cameraB") (151 joint "camera") (226 joint "cameraB") (273 joint "camera") @@ -80,8 +79,7 @@ ;; failed to figure out what this is: (defstate hidden (assistant-lavatube-end) :virtual #t - :trans - (behavior () + :trans (behavior () (dummy-33 self) ((-> (method-of-type process-taskable hidden) trans)) (when (and (and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) @@ -95,8 +93,7 @@ ;; failed to figure out what this is: (defstate idle (assistant-lavatube-end) :virtual #t - :enter - (behavior () + :enter (behavior () ((-> (method-of-type process-taskable idle) enter)) (case (get-task-status (game-task village4-button)) (((task-status need-reward-speech)) @@ -105,8 +102,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) diff --git a/test/decompiler/reference/levels/citadel/citadel-obs_REF.gc b/test/decompiler/reference/levels/citadel/citadel-obs_REF.gc index b9460a59ce..0608ca6304 100644 --- a/test/decompiler/reference/levels/citadel/citadel-obs_REF.gc +++ b/test/decompiler/reference/levels/citadel/citadel-obs_REF.gc @@ -90,8 +90,7 @@ ;; failed to figure out what this is: (defstate idle (citb-arm-section) :virtual #t - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) @@ -122,8 +121,7 @@ ) (none) ) - :post - (the-as (function none :behavior citb-arm-section) ja-post) + :post (the-as (function none :behavior citb-arm-section) ja-post) ) ;; definition for method 20 of type citb-arm-section @@ -188,10 +186,8 @@ ;; failed to figure out what this is: (defstate idle (citb-arm) :virtual #t - :trans - (the-as (function none :behavior citb-arm) rider-trans) - :post - (behavior () + :trans (the-as (function none :behavior citb-arm) rider-trans) + :post (behavior () (if (logtest? (-> self draw status) (draw-status hidden)) (clear-collide-with-as (-> self root-override)) (restore-collide-with-as (-> self root-override)) @@ -486,20 +482,17 @@ ;; failed to figure out what this is: (defstate citb-disc-idle (citb-disc) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'touch) - (send-event arg0 'no-look-around 75) + (send-event arg0 'no-look-around (seconds 0.25)) #f ) ) ) ) - :trans - (the-as (function none :behavior citb-disc) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior citb-disc) rider-trans) + :code (behavior () (loop (update! (-> self sound)) (quaternion-axis-angle! @@ -513,8 +506,7 @@ ) (none) ) - :post - (the-as (function none :behavior citb-disc) rider-post) + :post (the-as (function none :behavior citb-disc) rider-post) ) ;; definition for method 20 of type citb-disc @@ -841,8 +833,7 @@ ;; failed to figure out what this is: (defstate plat-path-active (citb-launcher) :virtual #t - :post - (behavior () + :post (behavior () (let ((t9-0 (-> (method-of-type plat plat-path-active) post))) (if t9-0 ((the-as (function none :behavior citb-launcher) t9-0)) @@ -869,20 +860,8 @@ (defmethod dummy-26 citb-launcher ((obj citb-launcher)) (let ((f30-0 (res-lump-float (-> obj entity) 'spring-height :default 163840.0)) (s5-0 (res-lump-value (-> obj entity) 'mode uint128)) - (s4-0 (get-process *default-dead-pool* launcher #x4000)) ) - (set! (-> obj launcher) - (the-as - (pointer launcher) - (when s4-0 - (let ((t9-3 (method-of-type launcher activate))) - (t9-3 (the-as launcher s4-0) obj 'launcher (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 launcher-init-by-other (-> obj root-override trans) f30-0 s5-0 81920.0) - (-> s4-0 ppointer) - ) - ) - ) + (set! (-> obj launcher) (process-spawn launcher (-> obj root-override trans) f30-0 s5-0 81920.0 :to obj)) ) (set! (-> obj root-override root-prim local-sphere w) 18432.0) (logclear! (-> obj mask) (process-mask actor-pause)) @@ -978,8 +957,7 @@ ;; failed to figure out what this is: (defstate citb-robotboss-idle (citb-robotboss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (sv-96 int) (sv-112 int)) (the-as object (cond ((= arg2 'shield-off) @@ -1013,188 +991,61 @@ (s4-0 (the-as sound-name s3-0) s2-0 s1-0 s0-0 sv-96 sv-112 (the-as symbol t2-1)) ) ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'shove) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((v1-21 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-21 shove-up) 8192.0) - (set! (-> v1-21 shove-back) 12288.0) - (set! (-> a1-3 param 1) (the-as uint v1-21)) - ) - (the-as symbol (send-event-function arg0 a1-3)) - ) + (the-as symbol (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 2)) (shove-back (meters 3)))) + ) + ) ) ) ) ) - :code - (behavior () - (let* ((s5-0 (get-process *default-dead-pool* manipy #x4000)) - (gp-0 (when s5-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-nose-sg* - #f - ) - (-> s5-0 ppointer) - ) - ) - ) + :code (behavior () + (let ((gp-0 (manipy-spawn (-> self root-override trans) (-> self entity) *citb-robotboss-nose-sg* #f :to self))) (send-event (ppointer->process gp-0) 'anim-mode 'loop) (send-event (ppointer->process gp-0) 'art-joint-anim "citb-robotboss-nose-idle" 0) (send-event (ppointer->process gp-0) 'draw #t) ) - (let* ((s5-1 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 (when s5-1 - (let ((t9-7 (method-of-type manipy activate))) - (t9-7 (the-as manipy s5-1) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-head-sg* - #f - ) - (-> s5-1 ppointer) - ) - ) - ) + (let ((gp-1 (manipy-spawn (-> self root-override trans) (-> self entity) *citb-robotboss-head-sg* #f :to self))) (send-event (ppointer->process gp-1) 'anim-mode 'loop) (send-event (ppointer->process gp-1) 'art-joint-anim "citb-robotboss-head-idle" 0) (send-event (ppointer->process gp-1) 'draw #t) ) - (let* ((s5-2 (get-process *default-dead-pool* manipy #x4000)) - (gp-2 (when s5-2 - (let ((t9-13 (method-of-type manipy activate))) - (t9-13 (the-as manipy s5-2) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-2 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-gun-sg* - #f - ) - (-> s5-2 ppointer) - ) - ) - ) + (let ((gp-2 (manipy-spawn (-> self root-override trans) (-> self entity) *citb-robotboss-gun-sg* #f :to self))) (send-event (ppointer->process gp-2) 'anim-mode 'loop) (send-event (ppointer->process gp-2) 'art-joint-anim "citb-robotboss-gun-idle" 0) (send-event (ppointer->process gp-2) 'draw #t) ) - (let* ((s5-3 (get-process *default-dead-pool* manipy #x4000)) - (gp-3 (when s5-3 - (let ((t9-19 (method-of-type manipy activate))) - (t9-19 (the-as manipy s5-3) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-3 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-leftshoulder-sg* - #f - ) - (-> s5-3 ppointer) - ) - ) - ) + (let ((gp-3 + (manipy-spawn (-> self root-override trans) (-> self entity) *citb-robotboss-leftshoulder-sg* #f :to self) + ) + ) (send-event (ppointer->process gp-3) 'anim-mode 'loop) (send-event (ppointer->process gp-3) 'art-joint-anim "citb-robotboss-leftshoulder-idle" 0) (send-event (ppointer->process gp-3) 'draw #t) ) - (let* ((s5-4 (get-process *default-dead-pool* manipy #x4000)) - (gp-4 (when s5-4 - (let ((t9-25 (method-of-type manipy activate))) - (t9-25 (the-as manipy s5-4) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-4 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-rightshoulder-sg* - #f - ) - (-> s5-4 ppointer) - ) - ) - ) + (let ((gp-4 + (manipy-spawn (-> self root-override trans) (-> self entity) *citb-robotboss-rightshoulder-sg* #f :to self) + ) + ) (send-event (ppointer->process gp-4) 'anim-mode 'loop) (send-event (ppointer->process gp-4) 'art-joint-anim "citb-robotboss-rightshoulder-idle" 0) (send-event (ppointer->process gp-4) 'draw #t) ) - (let* ((s5-5 (get-process *default-dead-pool* manipy #x4000)) - (gp-5 (when s5-5 - (let ((t9-31 (method-of-type manipy activate))) - (t9-31 (the-as manipy s5-5) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-5 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-leftarm-sg* - #f - ) - (-> s5-5 ppointer) - ) - ) - ) + (let ((gp-5 (manipy-spawn (-> self root-override trans) (-> self entity) *citb-robotboss-leftarm-sg* #f :to self))) (send-event (ppointer->process gp-5) 'anim-mode 'loop) (send-event (ppointer->process gp-5) 'art-joint-anim "citb-robotboss-leftarm-idle" 0) (send-event (ppointer->process gp-5) 'draw #t) ) - (let* ((s5-6 (get-process *default-dead-pool* manipy #x4000)) - (gp-6 (when s5-6 - (let ((t9-37 (method-of-type manipy activate))) - (t9-37 (the-as manipy s5-6) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-6 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-rightarm-sg* - #f - ) - (-> s5-6 ppointer) - ) - ) - ) + (let ((gp-6 (manipy-spawn (-> self root-override trans) (-> self entity) *citb-robotboss-rightarm-sg* #f :to self)) + ) (send-event (ppointer->process gp-6) 'anim-mode 'loop) (send-event (ppointer->process gp-6) 'art-joint-anim "citb-robotboss-rightarm-idle" 0) (send-event (ppointer->process gp-6) 'draw #t) ) - (let* ((s5-7 (get-process *default-dead-pool* manipy #x4000)) - (gp-7 (when s5-7 - (let ((t9-43 (method-of-type manipy activate))) - (t9-43 (the-as manipy s5-7) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-7 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-belly-sg* - #f - ) - (-> s5-7 ppointer) - ) - ) - ) + (let ((gp-7 (manipy-spawn (-> self root-override trans) (-> self entity) *citb-robotboss-belly-sg* #f :to self))) (send-event (ppointer->process gp-7) 'anim-mode 'loop) (send-event (ppointer->process gp-7) 'art-joint-anim "citb-robotboss-belly-idle" 0) (send-event (ppointer->process gp-7) 'draw #t) @@ -1210,14 +1061,12 @@ ) (none) ) - :post - (the-as (function none :behavior citb-robotboss) ja-post) + :post (the-as (function none :behavior citb-robotboss) ja-post) ) ;; failed to figure out what this is: (defstate citb-robotboss-die (citb-robotboss) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (deactivate self) (none) @@ -1306,16 +1155,14 @@ ;; failed to figure out what this is: (defstate citb-coil-idle (citb-coil) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go citb-coil-break) ) ) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1325,8 +1172,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (spawn (-> self part) (-> self root trans)) (ja-post) (none) @@ -1335,8 +1181,7 @@ ;; failed to figure out what this is: (defstate citb-coil-break (citb-coil) - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) @@ -1347,14 +1192,12 @@ (go citb-coil-broken) (none) ) - :post - (the-as (function none :behavior citb-coil) ja-post) + :post (the-as (function none :behavior citb-coil) ja-post) ) ;; failed to figure out what this is: (defstate citb-coil-broken (citb-coil) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -1366,8 +1209,7 @@ ) (none) ) - :post - (the-as (function none :behavior citb-coil) ja-post) + :post (the-as (function none :behavior citb-coil) ja-post) ) ;; definition for method 11 of type citb-coil @@ -1432,10 +1274,8 @@ ;; failed to figure out what this is: (defstate citb-hose-idle (citb-hose) - :event - citb-hose-event-handler - :code - (behavior () + :event citb-hose-event-handler + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1445,16 +1285,13 @@ ) (none) ) - :post - (the-as (function none :behavior citb-hose) ja-post) + :post (the-as (function none :behavior citb-hose) ja-post) ) ;; failed to figure out what this is: (defstate citb-hose-spawn (citb-hose) - :event - citb-hose-event-handler - :code - (behavior () + :event citb-hose-event-handler + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1464,16 +1301,13 @@ (go citb-hose-idle) (none) ) - :post - (the-as (function none :behavior citb-hose) ja-post) + :post (the-as (function none :behavior citb-hose) ja-post) ) ;; failed to figure out what this is: (defstate citb-hose-die (citb-hose) - :event - citb-hose-event-handler - :code - (behavior () + :event citb-hose-event-handler + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) @@ -1484,8 +1318,7 @@ (anim-loop) (none) ) - :post - (the-as (function none :behavior citb-hose) ja-post) + :post (the-as (function none :behavior citb-hose) ja-post) ) ;; definition for method 11 of type citb-hose @@ -1704,8 +1537,7 @@ ;; failed to figure out what this is: (defstate citb-generator-idle (citb-generator) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (if (-> self mushroom) @@ -1719,13 +1551,11 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (lods-assign! (-> self draw) (-> self normal-look)) (update-transforms! (-> self root-override)) (loop @@ -1759,14 +1589,12 @@ ) (none) ) - :post - (the-as (function none :behavior citb-generator) ja-post) + :post (the-as (function none :behavior citb-generator) ja-post) ) ;; failed to figure out what this is: (defstate citb-generator-break (citb-generator) - :code - (behavior () + :code (behavior () (let ((gp-0 (entity-actor-count (-> self entity) 'open-actor))) (dotimes (s5-0 gp-0) (let ((s4-0 (entity-actor-lookup (-> self entity) 'open-actor s5-0)) @@ -1799,36 +1627,27 @@ ) ) (process-entity-status! self (entity-perm-status complete) #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 598) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 598) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (sound-play-by-name (static-sound-name "sagecage-open") (new-sound-id) 1024 0 0 1 #t) (go citb-generator-broken) (none) ) - :post - (the-as (function none :behavior citb-generator) ja-post) + :post (the-as (function none :behavior citb-generator) ja-post) ) ;; failed to figure out what this is: (defstate citb-generator-broken (citb-generator) - :code - (behavior () + :code (behavior () (lods-assign! (-> self draw) (-> self broken-look)) (update-transforms! (-> self root-override)) (cond @@ -1848,8 +1667,7 @@ (anim-loop) (none) ) - :post - (behavior () + :post (behavior () (spawn (-> self part-broken) (-> self root-override trans)) (ja-post) (none) @@ -1971,8 +1789,7 @@ ;; failed to figure out what this is: (defstate citadelcam-idle (citadelcam) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (when (and (task-complete? *game-info* (game-task citadel-sage-blue)) @@ -1985,8 +1802,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask actor-pause)) (anim-loop) (none) @@ -1995,8 +1811,7 @@ ;; failed to figure out what this is: (defstate citadelcam-stair-plats (citadelcam) - :code - (behavior () + :code (behavior () (let ((gp-0 (entity-actor-count (-> self entity) 'trigger-actor))) (dotimes (s5-0 gp-0) (let ((s4-0 (entity-actor-lookup (-> self entity) 'trigger-actor s5-0)) @@ -2028,28 +1843,12 @@ ) ) ) - (let* ((gp-1 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-2 - (ppointer->handle - (when gp-1 - (let ((t9-6 (method-of-type pov-camera activate))) - (t9-6 (the-as pov-camera gp-1) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - pov-camera-init-by-other - (-> self root trans) - *citadelcam-sg* - "citadelcam-stair-plats" - 0 - #f - '() - ) - (-> gp-1 ppointer) - ) - ) - ) - ) + (let ((gp-2 + (ppointer->handle + (process-spawn pov-camera (-> self root trans) *citadelcam-sg* "citadelcam-stair-plats" 0 #f '() :to self) + ) + ) + ) (while (handle->process (the-as handle gp-2)) (suspend) ) @@ -2096,8 +1895,7 @@ ;; failed to figure out what this is: (defstate battlecontroller-play-intro-camera (citb-battlecontroller) :virtual #t - :code - (behavior () + :code (behavior () (level-hint-spawn (game-text-id citadel-lurker-bunny-alert) "sksp0383" @@ -2106,26 +1904,19 @@ (game-task none) ) (suspend) - (let* ((gp-0 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-1 (ppointer->handle (when gp-0 - (let ((t9-2 (method-of-type pov-camera activate))) - (t9-2 (the-as pov-camera gp-0) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - pov-camera-init-by-other - (-> (entity-by-name "citadelcam-1") extra trans) - *citadelcam-sg* - "citadel-bunnies" - 0 - #f - '() - ) - (-> gp-0 ppointer) - ) - ) - ) - ) + (let ((gp-1 (ppointer->handle (process-spawn + pov-camera + (-> (entity-by-name "citadelcam-1") extra trans) + *citadelcam-sg* + "citadel-bunnies" + 0 + #f + '() + :to self + ) + ) + ) + ) (send-event (handle->process (the-as handle gp-1)) 'mask 2048) (while (handle->process (the-as handle gp-1)) (logclear! (-> *target* state-flags) (state-flags sf04)) @@ -2140,8 +1931,7 @@ ;; failed to figure out what this is: (defstate battlecontroller-die (citb-battlecontroller) :virtual #t - :code - (behavior () + :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))) (if t9-2 diff --git a/test/decompiler/reference/levels/citadel/citadel-part_REF.gc b/test/decompiler/reference/levels/citadel/citadel-part_REF.gc index 41fdbf9f61..2cd9576e5a 100644 --- a/test/decompiler/reference/levels/citadel/citadel-part_REF.gc +++ b/test/decompiler/reference/levels/citadel/citadel-part_REF.gc @@ -23,14 +23,12 @@ :id 685 :flags (use-local-clock) :bounds (static-bspherem 0 -8 0 8) - :parts - ((sp-item 2879) (sp-item 2880)) + :parts ((sp-item 2879) (sp-item 2880)) ) ;; failed to figure out what this is: (defpart 2880 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 8.0 1.0) (sp-rnd-flt spt-x (meters 0) (meters 2.5) 1.0) (sp-flt spt-y (meters -13)) @@ -62,8 +60,7 @@ ;; failed to figure out what this is: (defpart 2881 - :init-specs - ((sp-flt spt-userdata 409600.0)) + :init-specs ((sp-flt spt-userdata 409600.0)) ) ;; definition for function check-drop-level-firehose-pops @@ -95,8 +92,7 @@ ;; failed to figure out what this is: (defpart 2883 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -113,8 +109,7 @@ ;; failed to figure out what this is: (defpart 2882 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 4.0 4.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -137,8 +132,7 @@ ;; failed to figure out what this is: (defpart 2879 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters 0) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -2) (meters -1) 1.0) @@ -157,8 +151,7 @@ ;; failed to figure out what this is: (defpart 2541 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-func spt-birth-func 'birth-func-set-quat) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -11)) @@ -179,8 +172,7 @@ :id 599 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12.5) - :parts - ((sp-item 2408 :fade-after (meters 200) :falloff-to (meters 200)) + :parts ((sp-item 2408 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 2409 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 2410 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 2411 :fade-after (meters 200) :falloff-to (meters 200) :binding 2407) @@ -211,8 +203,7 @@ :id 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12.5) - :parts - ((sp-item 2413 :fade-after (meters 300) :falloff-to (meters 300)) + :parts ((sp-item 2413 :fade-after (meters 300) :falloff-to (meters 300)) (sp-item 2414 :fade-after (meters 200) :falloff-to (meters 200) :binding 2412) (sp-item 2412 :flags (bit1 start-dead launch-asap)) (sp-item 2412 :flags (bit1 start-dead launch-asap)) @@ -245,8 +236,7 @@ ;; failed to figure out what this is: (defpart 2411 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-y (meters 4.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 10.4) (meters 6) 1.0) @@ -263,8 +253,7 @@ ;; failed to figure out what this is: (defpart 2407 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-flt spt-y (meters 0)) @@ -290,8 +279,7 @@ ;; failed to figure out what this is: (defpart 2408 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-flt spt-y (meters 5)) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 6.5) 1.0) @@ -313,8 +301,7 @@ ;; failed to figure out what this is: (defpart 2409 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-flt spt-y (meters 5)) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 5.5) 1.0) @@ -336,8 +323,7 @@ ;; failed to figure out what this is: (defpart 2410 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-flt spt-y (meters 5)) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 4.5) 1.0) @@ -359,8 +345,7 @@ ;; failed to figure out what this is: (defpart 2413 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.75)) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) @@ -378,8 +363,7 @@ ;; failed to figure out what this is: (defpart 2414 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-y (meters 0.2) (meters 1.4) 1.0) (sp-flt spt-scale-x (meters 0.4)) @@ -393,8 +377,7 @@ ;; failed to figure out what this is: (defpart 2412 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-flt spt-y (meters 0)) @@ -420,14 +403,12 @@ ;; failed to figure out what this is: (defpart 2415 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 2416)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 2416)) ) ;; failed to figure out what this is: (defpart 2416 - :init-specs - ((sp-flt spt-fade-a -0.8)) + :init-specs ((sp-flt spt-fade-a -0.8)) ) ;; failed to figure out what this is: @@ -437,8 +418,7 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 2423 :period 600 :length 5) + :parts ((sp-item 2423 :period 600 :length 5) (sp-item 2424 :fade-after (meters 80) :falloff-to (meters 80) :period 600 :length 40) (sp-item 2425 :period 600 :length 20) (sp-item 2426 :fade-after (meters 120) :falloff-to (meters 120) :period 600 :length 20) @@ -447,8 +427,7 @@ ;; failed to figure out what this is: (defpart 2424 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) @@ -477,14 +456,12 @@ ;; failed to figure out what this is: (defpart 2427 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) ) ;; failed to figure out what this is: (defpart 2426 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 0.2)) @@ -506,8 +483,7 @@ ;; failed to figure out what this is: (defpart 2423 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 16)) @@ -527,8 +503,7 @@ ;; failed to figure out what this is: (defpart 2425 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) @@ -560,16 +535,14 @@ :id 597 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 2417 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 2417 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 2418 :fade-after (meters 60) :falloff-to (meters 60)) ) ) ;; failed to figure out what this is: (defpart 2417 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.25) (sp-rnd-flt spt-x (meters -0.5) (meters 1.1) 1.0) (sp-flt spt-y (meters 0.75)) @@ -598,8 +571,7 @@ ;; failed to figure out what this is: (defpart 2418 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters 0.2)) (sp-flt spt-y (meters 1.75)) (sp-int spt-rot-x 8) @@ -619,8 +591,7 @@ ;; failed to figure out what this is: (defpart 2419 - :init-specs - ((sp-flt spt-fade-b -1.3653333)) + :init-specs ((sp-flt spt-fade-b -1.3653333)) ) ;; definition for function birth-func-random-rot @@ -688,14 +659,12 @@ :id 601 :flags (use-local-clock) :bounds (static-bspherem 0 23 0 34) - :parts - ((sp-item 2420 :fade-after (meters 220) :falloff-to (meters 250) :flags (is-3d))) + :parts ((sp-item 2420 :fade-after (meters 220) :falloff-to (meters 250) :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 2420 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) (sp-func spt-birth-func 'birth-func-random-rot) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 23)) @@ -717,8 +686,7 @@ ;; failed to figure out what this is: (defpart 2421 - :init-specs - ((sp-rnd-flt spt-g 32.0 32.0 1.0) + :init-specs ((sp-rnd-flt spt-g 32.0 32.0 1.0) (sp-flt spt-a 96.0) (sp-flt spt-fade-a 0.0) (sp-int spt-next-time 5) @@ -728,8 +696,7 @@ ;; failed to figure out what this is: (defpart 2422 - :init-specs - ((sp-rnd-flt spt-g 0.0 32.0 1.0) (sp-flt spt-a 64.0) (sp-flt spt-fade-a -0.85333335)) + :init-specs ((sp-rnd-flt spt-g 0.0 32.0 1.0) (sp-flt spt-a 64.0) (sp-flt spt-fade-a -0.85333335)) ) ;; failed to figure out what this is: @@ -737,8 +704,7 @@ :id 596 :flags (use-local-clock) :bounds (static-bspherem 0 3 0 4) - :parts - ((sp-item 2429 :fade-after (meters 100) :falloff-to (meters 100) :flags (is-3d)) + :parts ((sp-item 2429 :fade-after (meters 100) :falloff-to (meters 100) :flags (is-3d)) (sp-item 2430 :fade-after (meters 100) :falloff-to (meters 100) :flags (is-3d)) (sp-item 2431 :fade-after (meters 100) :falloff-to (meters 100) :flags (is-3d)) (sp-item 2432 :fade-after (meters 100) :falloff-to (meters 100) :flags (is-3d)) @@ -779,8 +745,7 @@ ;; failed to figure out what this is: (defpart 2434 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.1)) (sp-flt spt-y (meters 1.0025)) @@ -801,8 +766,7 @@ ;; failed to figure out what this is: (defpart 2433 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.1)) (sp-flt spt-y (meters 3.9)) @@ -823,8 +787,7 @@ ;; failed to figure out what this is: (defpart 2432 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 3.2897)) @@ -845,8 +808,7 @@ ;; failed to figure out what this is: (defpart 2431 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 0.8025)) @@ -867,8 +829,7 @@ ;; failed to figure out what this is: (defpart 2430 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.2)) (sp-flt spt-y (meters 0.8025)) @@ -888,8 +849,7 @@ ;; failed to figure out what this is: (defpart 2429 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.2)) (sp-flt spt-y (meters 3.7)) @@ -909,8 +869,7 @@ ;; failed to figure out what this is: (defpart 2438 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-y (meters 0.5) (meters 4) 1.0) (sp-flt spt-scale-x (meters 0.4)) @@ -924,8 +883,7 @@ ;; failed to figure out what this is: (defpart 2428 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-flt spt-y (meters 0)) @@ -951,20 +909,17 @@ ;; failed to figure out what this is: (defpart 2439 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 2440)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 2440)) ) ;; failed to figure out what this is: (defpart 2440 - :init-specs - ((sp-flt spt-fade-a -0.8)) + :init-specs ((sp-flt spt-fade-a -0.8)) ) ;; failed to figure out what this is: (defpart 2437 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.2 0.5 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 4) 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 2.5) 1.0) @@ -984,8 +939,7 @@ ;; failed to figure out what this is: (defpart 2435 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 4) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 0.5) 1.0) @@ -1006,8 +960,7 @@ ;; failed to figure out what this is: (defpart 2436 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 4) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 0.5) 1.0) @@ -1031,16 +984,14 @@ :id 602 :flags (use-local-clock) :bounds (static-bspherem 0 6 0 8) - :parts - ((sp-item 2441 :fade-after (meters 120) :falloff-to (meters 120)) + :parts ((sp-item 2441 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 2442 :fade-after (meters 120) :falloff-to (meters 120)) ) ) ;; failed to figure out what this is: (defpart 2442 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.06125) (sp-rnd-flt spt-x (meters 1.5) (meters 0.5) 1.0) (sp-flt spt-y (meters 4.5)) @@ -1073,8 +1024,7 @@ ;; failed to figure out what this is: (defpart 2443 - :init-specs - ((sp-flt spt-fade-r 0.0) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.035555556) @@ -1084,8 +1034,7 @@ ;; failed to figure out what this is: (defpart 2441 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 1.5) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 3) 1.0) @@ -1117,8 +1066,7 @@ :id 603 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 34) - :parts - ((sp-item 2447 :fade-after (meters 140) :falloff-to (meters 140) :binding 2444) + :parts ((sp-item 2447 :fade-after (meters 140) :falloff-to (meters 140) :binding 2444) (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2445) (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2446) (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2445) @@ -1151,14 +1099,12 @@ :id 607 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 2451 :flags (is-3d))) + :parts ((sp-item 2451 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 2451 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) @@ -1177,8 +1123,7 @@ ;; failed to figure out what this is: (defpart 2447 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.025) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1199,8 +1144,7 @@ ;; failed to figure out what this is: (defpart 2444 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -1223,8 +1167,7 @@ ;; failed to figure out what this is: (defpart 2445 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -1244,8 +1187,7 @@ ;; failed to figure out what this is: (defpart 2446 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -1265,8 +1207,7 @@ ;; failed to figure out what this is: (defpart 2448 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.8) 1.0) @@ -1287,8 +1228,7 @@ ;; failed to figure out what this is: (defpart 2450 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1309,8 +1249,7 @@ ;; failed to figure out what this is: (defpart 2449 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1330,8 +1269,7 @@ :id 604 :flags (use-local-clock) :bounds (static-bspherem 0 23 0 34) - :parts - ((sp-item 2454 :fade-after (meters 140) :falloff-to (meters 140) :binding 2452) + :parts ((sp-item 2454 :fade-after (meters 140) :falloff-to (meters 140) :binding 2452) (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) @@ -1364,14 +1302,12 @@ :id 608 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 2458 :flags (is-3d))) + :parts ((sp-item 2458 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 2458 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) @@ -1390,8 +1326,7 @@ ;; failed to figure out what this is: (defpart 2454 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-scale-x (meters 6) (meters 3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1411,8 +1346,7 @@ ;; failed to figure out what this is: (defpart 2452 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -1435,8 +1369,7 @@ ;; failed to figure out what this is: (defpart 2453 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1461,8 +1394,7 @@ ;; failed to figure out what this is: (defpart 2455 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-scale-y (meters 1.5) (meters 0.75) 1.0) @@ -1483,8 +1415,7 @@ ;; failed to figure out what this is: (defpart 2457 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-scale-x (meters 6) (meters 3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1504,8 +1435,7 @@ ;; failed to figure out what this is: (defpart 2456 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1525,8 +1455,7 @@ :id 605 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 34) - :parts - ((sp-item 2461 :fade-after (meters 140) :falloff-to (meters 140) :binding 2459) + :parts ((sp-item 2461 :fade-after (meters 140) :falloff-to (meters 140) :binding 2459) (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) @@ -1563,14 +1492,12 @@ :id 609 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 2465 :flags (is-3d))) + :parts ((sp-item 2465 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 2465 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) @@ -1589,8 +1516,7 @@ ;; failed to figure out what this is: (defpart 2461 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.025) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1611,8 +1537,7 @@ ;; failed to figure out what this is: (defpart 2459 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -1635,8 +1560,7 @@ ;; failed to figure out what this is: (defpart 2460 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1656,8 +1580,7 @@ ;; failed to figure out what this is: (defpart 2462 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.8) 1.0) @@ -1678,8 +1601,7 @@ ;; failed to figure out what this is: (defpart 2464 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1700,8 +1622,7 @@ ;; failed to figure out what this is: (defpart 2463 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1721,8 +1642,7 @@ :id 606 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 34) - :parts - ((sp-item 2468 :binding 2466) + :parts ((sp-item 2468 :binding 2466) (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) @@ -1759,14 +1679,12 @@ :id 610 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 2472 :flags (is-3d))) + :parts ((sp-item 2472 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 2472 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) @@ -1785,8 +1703,7 @@ ;; failed to figure out what this is: (defpart 2468 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.025) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1807,8 +1724,7 @@ ;; failed to figure out what this is: (defpart 2466 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -1831,8 +1747,7 @@ ;; failed to figure out what this is: (defpart 2467 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1851,8 +1766,7 @@ ;; failed to figure out what this is: (defpart 2469 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.8) 1.0) @@ -1873,8 +1787,7 @@ ;; failed to figure out what this is: (defpart 2471 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1895,8 +1808,7 @@ ;; failed to figure out what this is: (defpart 2470 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1913,8 +1825,7 @@ ;; failed to figure out what this is: (defpart 2473 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) (sp-func spt-birth-func 'birth-func-set-quat) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.25) 1.0) @@ -1932,8 +1843,7 @@ (defpartgroup group-citadel-warpgate :id 662 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2689 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 2689 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 2690 :fade-after (meters 60) :falloff-to (meters 100) :binding 2687) (sp-item 2687 :flags (bit1 start-dead launch-asap)) (sp-item 2687 :flags (bit1 start-dead launch-asap)) @@ -2110,8 +2020,7 @@ ;; failed to figure out what this is: (defpart 2692 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-x (meters 0)) (sp-flt spt-scale-x (meters 5)) @@ -2129,8 +2038,7 @@ ;; failed to figure out what this is: (defpart 2691 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-x (meters -2)) (sp-flt spt-scale-x (meters 0.25)) @@ -2146,8 +2054,7 @@ ;; failed to figure out what this is: (defpart 2688 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 4.3555555)) (sp-flt spt-y (meters 4)) @@ -2171,8 +2078,7 @@ ;; failed to figure out what this is: (defpart 2689 - :init-specs - ((sp-rnd-flt spt-num 3.0 3.0 1.0) + :init-specs ((sp-rnd-flt spt-num 3.0 3.0 1.0) (sp-flt spt-x (meters -0.5)) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) @@ -2190,8 +2096,7 @@ ;; failed to figure out what this is: (defpart 2690 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.25)) (sp-copy-from-other spt-scale-y -4) @@ -2206,8 +2111,7 @@ ;; failed to figure out what this is: (defpart 2687 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 4.3555555)) (sp-flt spt-y (meters 4)) @@ -2234,8 +2138,7 @@ (defpartgroup group-part-citadel-torch :id 683 :bounds (static-bspherem 0 3 0 4) - :parts - ((sp-item 2832 :fade-after (meters 180) :falloff-to (meters 200)) + :parts ((sp-item 2832 :fade-after (meters 180) :falloff-to (meters 200)) (sp-item 2833 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 2834 :fade-after (meters 50) :falloff-to (meters 50) :period 600 :length 90) (sp-item 2835 :fade-after (meters 50) :falloff-to (meters 50) :period 369 :length 69) @@ -2246,8 +2149,7 @@ ;; failed to figure out what this is: (defpart 2837 - :init-specs - ((sp-flt spt-num 0.3) + :init-specs ((sp-flt spt-num 0.3) (sp-flt spt-x (meters 0.2)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) (sp-int spt-rot-x 5) @@ -2266,14 +2168,12 @@ ;; failed to figure out what this is: (defpart 2838 - :init-specs - ((sp-flt spt-fade-b -6.826667)) + :init-specs ((sp-flt spt-fade-b -6.826667)) ) ;; failed to figure out what this is: (defpart 2832 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1069547520 1 1.0) (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) (sp-rnd-flt spt-z (meters -0.35) (meters 0.7) 1.0) @@ -2296,14 +2196,12 @@ ;; failed to figure out what this is: (defpart 2839 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) ;; failed to figure out what this is: (defpart 2834 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-flt spt-y (meters 1)) @@ -2327,8 +2225,7 @@ ;; failed to figure out what this is: (defpart 2835 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2352,8 +2249,7 @@ ;; failed to figure out what this is: (defpart 2836 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0) (sp-flt spt-y (meters 0.6)) @@ -2377,8 +2273,7 @@ ;; failed to figure out what this is: (defpart 2833 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.3)) diff --git a/test/decompiler/reference/levels/citadel/citadel-sages_REF.gc b/test/decompiler/reference/levels/citadel/citadel-sages_REF.gc index 2d56930111..6ea2ce3a42 100644 --- a/test/decompiler/reference/levels/citadel/citadel-sages_REF.gc +++ b/test/decompiler/reference/levels/citadel/citadel-sages_REF.gc @@ -105,8 +105,7 @@ ;; failed to figure out what this is: (defstate citb-sagecage-idle (citb-sagecage) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-3 none)) (let ((v1-0 arg2)) (the-as object (cond @@ -137,10 +136,8 @@ ) ) ) - :trans - (the-as (function none :behavior citb-sagecage) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior citb-sagecage) rider-trans) + :code (behavior () (loop (cond ((-> self cloning) @@ -166,8 +163,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (rider-post) (when (-> self bars-on) (update! (-> self sound)) @@ -368,18 +364,7 @@ ;; Used lq/sq (defmethod play-reminder citb-sage ((obj citb-sage)) (set! (-> obj root-override pause-adjust-distance) 409600.0) - (let ((s5-0 (get-process *default-dead-pool* citb-sagecage #x4000))) - (set! (-> obj cage) - (ppointer->handle (when s5-0 - (let ((t9-1 (method-of-type citb-sagecage activate))) - (t9-1 (the-as citb-sagecage s5-0) obj 'citb-sagecage (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 citb-sagecage-init-by-other obj) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> obj cage) (ppointer->handle (process-spawn citb-sagecage obj :to obj))) (set! (-> obj beam-on) #f) (set! (-> obj sound-id) (new-sound-id)) (if (zero? (-> obj sound-name)) @@ -455,8 +440,7 @@ ;; failed to figure out what this is: (defstate hidden (citb-sage) :virtual #t - :enter - (behavior () + :enter (behavior () (send-event (handle->process (-> self cage)) 'disable-bars) (send-event (handle->process (-> self cage)) 'stop-cloning) ((-> (method-of-type process-taskable hidden) enter)) @@ -490,8 +474,7 @@ ;; failed to figure out what this is: (defstate play-anim (citb-sage) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('disable-bars) (send-event (handle->process (-> self cage)) 'disable-bars) @@ -506,8 +489,7 @@ ;; failed to figure out what this is: (defstate idle (citb-sage) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('open) (send-event (handle->process (-> self cage)) 'disable-bars) @@ -517,16 +499,14 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (not (should-display? self)) (go-virtual hidden) ) ((-> (method-of-type process-taskable idle) trans)) (none) ) - :post - (behavior () + :post (behavior () ((the-as (function none :behavior citb-sage) (-> (method-of-type process-taskable idle) post))) (if (-> self beam-on) (citb-sage-draw-beam) @@ -620,8 +600,7 @@ :name "redsage-resolution" :index 7 :parts 9 - :command-list - '((15 send-event self disable-bars) + :command-list '((15 send-event self disable-bars) (45 joint "cameraB") (216 joint "camera") (435 joint "cameraB") @@ -640,10 +619,7 @@ (return #f) ) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-6 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-7 (the-as number (logior #x3f800000 v1-6))) - (f0-2 (+ -1.0 (the-as float v1-7))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.6666667 f0-2) (play-ambient (-> obj ambient) "RED-AM01" #f (-> obj root-override trans)) @@ -754,8 +730,7 @@ :name "bluesage-resolution" :index 7 :parts 9 - :command-list - '((15 send-event self disable-bars) + :command-list '((15 send-event self disable-bars) (45 joint "cameraB") (74 shadow self #f) (185 joint "camera") @@ -779,10 +754,7 @@ (return #f) ) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-6 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-7 (the-as number (logior #x3f800000 v1-6))) - (f0-2 (+ -1.0 (the-as float v1-7))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.6666667 f0-2) (play-ambient (-> obj ambient) "BLU-AM01" #f (-> obj root-override trans)) @@ -893,8 +865,7 @@ :name "yellowsage-resolution" :index 7 :parts 6 - :command-list - '((15 send-event self disable-bars) + :command-list '((15 send-event self disable-bars) (45 joint "cameraB") (256 joint "camera") (314 joint "cameraB") @@ -913,10 +884,7 @@ (return #f) ) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-6 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-7 (the-as number (logior #x3f800000 v1-6))) - (f0-2 (+ -1.0 (the-as float v1-7))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.6666667 f0-2) (play-ambient (-> obj ambient) "YEL-AM01" #f (-> obj root-override trans)) @@ -994,8 +962,7 @@ :name "green-sagecage-resolution" :index 6 :parts 12 - :command-list - '((33 joint "cameraB") + :command-list '((33 joint "cameraB") (156 joint "camera") (405 joint "cameraB") (576 joint "camera") @@ -1027,8 +994,7 @@ :name "green-sagecage-introduction" :index 5 :parts 12 - :command-list - '((71 joint "cameraB") + :command-list '((71 joint "cameraB") (207 joint "camera") (343 joint "cameraB") (574 joint "camera") @@ -1049,35 +1015,15 @@ (when arg0 (+! (-> obj which-movie) 1) (set! (-> obj draw bounds w) 40960.0) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj evilbro) - (ppointer->handle - (when s5-1 - (let ((t9-8 (method-of-type manipy activate))) - (t9-8 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *evilbro-citadel-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> obj evilbro) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *evilbro-citadel-sg* #f :to obj)) + ) (send-event (handle->process (-> obj evilbro)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj evilbro)) 'blend-shape #t) (send-event (handle->process (-> obj evilbro)) 'center-joint 3) - (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj evilsis) - (ppointer->handle - (when s5-2 - (let ((t9-14 (method-of-type manipy activate))) - (t9-14 (the-as manipy s5-2) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 manipy-init (-> obj root-override trans) (-> obj entity) *evilsis-citadel-sg* #f) - (-> s5-2 ppointer) - ) - ) - ) - ) + (set! (-> obj evilsis) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *evilsis-citadel-sg* #f :to obj)) + ) (send-event (handle->process (-> obj evilsis)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj evilsis)) 'blend-shape #t) (send-event (handle->process (-> obj evilsis)) 'center-joint 3) @@ -1089,8 +1035,7 @@ :name "green-sagecage-outro-preboss" :index 7 :parts 22 - :command-list - '((0 blackout 0) + :command-list '((0 blackout 0) (0 want-levels citadel finalboss) (0 display-level finalboss special) (0 send-event "citb-robotboss-1" 'die) @@ -1187,26 +1132,15 @@ ;; failed to figure out what this is: (defstate play-anim (green-sagecage) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('spawn-robot) (let ((gp-0 (entity-by-name "robotboss-3"))) (format 0 "robotboss ent ~A~%" gp-0) (when gp-0 - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self robotboss) - (ppointer->handle - (when s5-0 - (let ((t9-3 (method-of-type manipy activate))) - (t9-3 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> self root-override trans) gp-0 *robotboss-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> self robotboss) + (ppointer->handle (manipy-spawn (-> self root-override trans) gp-0 *robotboss-sg* #f :to self)) + ) (send-event (handle->process (-> self robotboss)) 'anim-mode 'clone-anim) (send-event (handle->process (-> self robotboss)) 'center-joint 3) (send-event (handle->process (-> self robotboss)) 'origin-joint-index 3) @@ -1227,8 +1161,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self evilbro)))) (if a0-1 (deactivate a0-1) @@ -1278,8 +1211,7 @@ ((-> (method-of-type process-taskable play-anim) exit)) (none) ) - :trans - (behavior () + :trans (behavior () (case (-> self which-movie) ((1) (spool-push *art-control* "green-sagecage-outro-preboss" 0 self -1.0) @@ -1318,8 +1250,7 @@ ;; failed to figure out what this is: (defstate idle (green-sagecage) :virtual #t - :trans - (behavior () + :trans (behavior () (cond ((and *target* (and (< (-> (target-pos 0) z) -18821530.0) (= (current-status (-> self tasks)) (task-status need-hint))) diff --git a/test/decompiler/reference/levels/citadel/citb-drop-plat_REF.gc b/test/decompiler/reference/levels/citadel/citb-drop-plat_REF.gc index 564589fd56..4839070d36 100644 --- a/test/decompiler/reference/levels/citadel/citb-drop-plat_REF.gc +++ b/test/decompiler/reference/levels/citadel/citb-drop-plat_REF.gc @@ -78,22 +78,20 @@ ;; failed to figure out what this is: (defstate drop-plat-idle (drop-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('drop) (logclear! (-> self mask) (process-mask actor-pause)) (go drop-plat-drop) ) (('touch 'attack) - (send-event *target* 'no-look-around 300) + (send-event *target* 'no-look-around (seconds 1)) (send-event (ppointer->process (-> self parent)) 'player-stepped (-> self color)) #f ) ) ) - :code - (behavior () + :code (behavior () (suspend) (update-transforms! (-> self root-override)) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -106,8 +104,7 @@ ) (none) ) - :post - (the-as (function none :behavior drop-plat) ja-post) + :post (the-as (function none :behavior drop-plat) ja-post) ) ;; definition for function drop-plat-set-fade @@ -129,16 +126,14 @@ ;; failed to figure out what this is: (defstate drop-plat-spawn (drop-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('drop) (go drop-plat-die) ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self root-override trans y) (+ -204800.0 (-> (the-as process-drawable (-> self parent 0)) root trans y)) ) @@ -162,16 +157,14 @@ ;; failed to figure out what this is: (defstate drop-plat-rise (drop-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('drop) (go drop-plat-drop) ) ) ) - :code - (behavior ((arg0 draw-control)) + :code (behavior ((arg0 draw-control)) (set! (-> self interp) 1.0) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self spin-angle) 0.0) @@ -206,8 +199,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (let ((gp-0 (new 'stack-no-clear 'quaternion))) (quaternion-vector-angle! gp-0 (-> self spin-axis) (-> self spin-angle)) (quaternion*! (-> self root-override quat) (-> (the-as process-drawable (-> self parent 0)) root quat) gp-0) @@ -220,8 +212,7 @@ ;; failed to figure out what this is: (defstate drop-plat-drop (drop-plat) - :code - (behavior () + :code (behavior () (when (= (-> (the-as process-drawable (-> self parent 0)) root trans y) (-> self root-override trans y)) (set! (-> self state-time) (-> *display* base-frame-counter)) (sound-play-by-name (static-sound-name "bridge-piece-dn") (new-sound-id) 1024 0 0 1 #t) @@ -251,8 +242,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (let ((gp-0 (new 'stack-no-clear 'quaternion))) (quaternion-vector-angle! gp-0 (-> self spin-axis) (-> self spin-angle)) (quaternion*! (-> self root-override quat) (-> (the-as process-drawable (-> self parent 0)) root quat) gp-0) @@ -265,8 +255,7 @@ ;; failed to figure out what this is: (defstate drop-plat-die (drop-plat) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (none) ) @@ -538,16 +527,14 @@ ;; failed to figure out what this is: (defstate citb-drop-plat-idle (citb-drop-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go citb-drop-plat-active) ) ) ) - :code - (behavior () + :code (behavior () (citb-drop-plat-drop-all-children) (loop (suspend) @@ -558,8 +545,7 @@ ;; failed to figure out what this is: (defstate citb-drop-plat-active (citb-drop-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'player-stepped) @@ -575,8 +561,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (citb-drop-plat-spawn-children) (loop diff --git a/test/decompiler/reference/levels/citadel/citb-plat_REF.gc b/test/decompiler/reference/levels/citadel/citb-plat_REF.gc index 12d9c09923..d48cbf1c76 100644 --- a/test/decompiler/reference/levels/citadel/citb-plat_REF.gc +++ b/test/decompiler/reference/levels/citadel/citb-plat_REF.gc @@ -70,8 +70,7 @@ ;; failed to figure out what this is: (defstate citb-base-plat-idle (citb-base-plat) :virtual #t - :trans - (behavior () + :trans (behavior () (if (and *target* (>= (-> self idle-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -80,17 +79,14 @@ ) (none) ) - :code - (the-as (function none :behavior citb-base-plat) anim-loop) - :post - (the-as (function none :behavior citb-base-plat) ja-post) + :code (the-as (function none :behavior citb-base-plat) anim-loop) + :post (the-as (function none :behavior citb-base-plat) ja-post) ) ;; failed to figure out what this is: (defstate citb-base-plat-active (citb-base-plat) :virtual #t - :trans - (behavior () + :trans (behavior () (if (or (not *target*) (< (+ 8192.0 (-> self idle-distance)) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -100,10 +96,8 @@ (rider-trans) (none) ) - :code - (the-as (function none :behavior citb-base-plat) anim-loop) - :post - (the-as (function none :behavior citb-base-plat) rider-post) + :code (the-as (function none :behavior citb-base-plat) anim-loop) + :post (the-as (function none :behavior citb-base-plat) rider-post) ) ;; definition for method 21 of type citb-base-plat @@ -244,8 +238,7 @@ ;; failed to figure out what this is: (defstate plat-path-active (citb-plat) :virtual #t - :trans - (behavior () + :trans (behavior () (set! (-> self path-pos) (if (logtest? (-> self fact options) (fact-options wrap-phase)) (get-current-phase (-> self sync)) (get-current-phase-with-mirror (-> self sync)) @@ -358,8 +351,7 @@ ;; failed to figure out what this is: (defstate citb-base-plat-idle (citb-stair-plat) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'trigger) (logclear! (-> self mask) (process-mask actor-pause)) @@ -371,10 +363,8 @@ ) ) ) - :trans - (the-as (function none :behavior citb-stair-plat) #f) - :code - (behavior () + :trans (the-as (function none :behavior citb-stair-plat) #f) + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (while (not (-> self rise)) (suspend) @@ -405,17 +395,14 @@ ) (none) ) - :post - (the-as (function none :behavior citb-stair-plat) #f) + :post (the-as (function none :behavior citb-stair-plat) #f) ) ;; failed to figure out what this is: (defstate citb-base-plat-active (citb-stair-plat) :virtual #t - :trans - (the-as (function none :behavior citb-stair-plat) #f) - :code - (behavior () + :trans (the-as (function none :behavior citb-stair-plat) #f) + :code (behavior () (set! (-> self root-override trans y) (-> self rise-height)) (suspend) (update-transforms! (-> self root-override)) @@ -423,8 +410,7 @@ (anim-loop) (none) ) - :post - (the-as (function none :behavior citb-stair-plat) ja-post) + :post (the-as (function none :behavior citb-stair-plat) ja-post) ) ;; definition for method 22 of type citb-stair-plat @@ -563,56 +549,49 @@ ;; failed to figure out what this is: (defstate rigid-body-platform-idle (citb-chain-plat) :virtual #t - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (set! (-> self state-time) (-> *display* base-frame-counter)) (if (and (and *target* (>= (-> self info idle-distance) (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) ) ) - (send-event *target* 'query 'powerup 3) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) (go-virtual rigid-body-platform-float) ) ) (none) ) - :code - (behavior () + :code (behavior () (anim-loop) (none) ) - :post - (the-as (function none :behavior citb-chain-plat) ja-post) + :post (the-as (function none :behavior citb-chain-plat) ja-post) ) ;; failed to figure out what this is: (defstate rigid-body-platform-float (citb-chain-plat) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior citb-chain-plat) rigid-body-platform-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (none) ) - :trans - (behavior () + :trans (behavior () (cond ((and (and *target* (>= (-> self info idle-distance) (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) ) ) - (send-event *target* 'query 'powerup 3) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) (when (< (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) (if (rand-vu-percent? 0.05) @@ -634,21 +613,17 @@ ) (none) ) - :code - (behavior () + :code (behavior () (anim-loop) (none) ) - :post - (the-as (function none :behavior citb-chain-plat) rigid-body-platform-post) + :post (the-as (function none :behavior citb-chain-plat) rigid-body-platform-post) ) ;; failed to figure out what this is: (defstate citb-chain-plat-settle (citb-chain-plat) - :trans - (the-as (function none :behavior citb-chain-plat) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior citb-chain-plat) rider-trans) + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'quaternion)) ) @@ -676,8 +651,7 @@ (go-virtual rigid-body-platform-idle) (none) ) - :post - (the-as (function none :behavior citb-chain-plat) rider-post) + :post (the-as (function none :behavior citb-chain-plat) rider-post) ) ;; definition for method 30 of type citb-chain-plat @@ -765,10 +739,8 @@ ;; failed to figure out what this is: (defstate citb-base-plat-active (citb-rotatebox) :virtual #t - :trans - (the-as (function none :behavior citb-rotatebox) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior citb-rotatebox) rider-trans) + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -849,8 +821,7 @@ ;; failed to figure out what this is: (defstate citb-base-plat-active (citb-donut) :virtual #t - :post - (behavior () + :post (behavior () (update! (-> self sound)) (quaternion-axis-angle! (-> self root-override quat) @@ -930,8 +901,7 @@ ;; failed to figure out what this is: (defstate plat-path-active (citb-stopbox) :virtual #t - :trans - (behavior () + :trans (behavior () (set! (-> self path-pos) (get-current-phase (-> self sync))) (eval-path-curve! (-> self path) (-> self basetrans) (-> self path-pos) 'interp) (if (< (vector-vector-distance (-> self root-override trans) (ear-trans)) 81920.0) @@ -1030,8 +1000,7 @@ ;; failed to figure out what this is: (defstate citb-firehose-idle (citb-firehose) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= (-> self idle-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -1040,21 +1009,18 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior citb-firehose) ja-post) + :post (the-as (function none :behavior citb-firehose) ja-post) ) ;; failed to figure out what this is: (defstate citb-firehose-active (citb-firehose) - :trans - (behavior () + :trans (behavior () (if (or (not *target*) (< (+ 8192.0 (-> self idle-distance)) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -1071,15 +1037,13 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior citb-firehose) ja-post) + :post (the-as (function none :behavior citb-firehose) ja-post) ) ;; definition for function citb-firehose-blast-particles @@ -1105,28 +1069,19 @@ ;; failed to figure out what this is: (defstate citb-firehose-blast (citb-firehose) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (let ((v1-4 (new 'static 'attack-info :mask #xe0))) - (set! (-> v1-4 mode) 'damage) - (set! (-> v1-4 shove-back) 24576.0) - (set! (-> v1-4 shove-up) 12288.0) - (set! (-> a1-2 param 1) (the-as uint v1-4)) - ) - (send-event-function arg0 a1-2) + (send-event + arg0 + 'attack + (-> arg3 param 0) + (static-attack-info ((mode 'damage) (shove-back (meters 6)) (shove-up (meters 3)))) ) ) ) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -1162,8 +1117,7 @@ (go citb-firehose-active) (none) ) - :post - (the-as (function none :behavior citb-firehose) transform-post) + :post (the-as (function none :behavior citb-firehose) transform-post) ) ;; definition for method 11 of type citb-firehose @@ -1247,8 +1201,7 @@ ;; failed to figure out what this is: (defstate citb-exit-plat-idle (citb-exit-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (let ((v1-3 (-> self entity extra perm))) @@ -1259,8 +1212,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (clear-collide-with-as (-> self root-override)) (loop @@ -1272,10 +1224,8 @@ ;; failed to figure out what this is: (defstate citb-exit-plat-rise (citb-exit-plat) - :trans - (the-as (function none :behavior citb-exit-plat) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior citb-exit-plat) rider-trans) + :code (behavior () (logclear! (-> self draw status) (draw-status hidden)) (restore-collide-with-as (-> self root-override)) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -1291,8 +1241,7 @@ ) (none) ) - :post - (the-as (function none :behavior citb-exit-plat) rider-post) + :post (the-as (function none :behavior citb-exit-plat) rider-post) ) ;; definition for function citb-exit-plat-move-player @@ -1320,8 +1269,7 @@ ;; failed to figure out what this is: (defstate plat-button-move-downward (citb-exit-plat) :virtual #t - :trans - (behavior () + :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))) @@ -1333,15 +1281,13 @@ ) (none) ) - :post - (the-as (function none :behavior citb-exit-plat) transform-post) + :post (the-as (function none :behavior citb-exit-plat) transform-post) ) ;; failed to figure out what this is: (defstate plat-button-move-upward (citb-exit-plat) :virtual #t - :trans - (behavior () + :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))) @@ -1353,8 +1299,7 @@ ) (none) ) - :post - (the-as (function none :behavior citb-exit-plat) transform-post) + :post (the-as (function none :behavior citb-exit-plat) transform-post) ) ;; definition for method 26 of type citb-exit-plat diff --git a/test/decompiler/reference/levels/common/babak_REF.gc b/test/decompiler/reference/levels/common/babak_REF.gc index bd446a38cc..c5563de16a 100644 --- a/test/decompiler/reference/levels/common/babak_REF.gc +++ b/test/decompiler/reference/levels/common/babak_REF.gc @@ -34,8 +34,7 @@ ;; failed to figure out what this is: (defstate nav-enemy-patrol (babak) :virtual #t - :code - (behavior () + :code (behavior () (cond ((ja-group? babak-give-up-hop-ja) (ja-channel-push! 1 (seconds 0.15)) @@ -57,15 +56,13 @@ ;; failed to figure out what this is: (defstate nav-enemy-chase (babak) :virtual #t - :code - (behavior () + :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (cond ((ja-group? babak-jump-land-ja) (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.17)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info run-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info run-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -93,8 +90,7 @@ ;; failed to figure out what this is: (defstate nav-enemy-stare (babak) :virtual #t - :code - (behavior () + :code (behavior () (set! (-> self turn-time) (seconds 0.2)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) (when (or (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) @@ -146,8 +142,7 @@ ;; failed to figure out what this is: (defstate nav-enemy-give-up (babak) :virtual #t - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 218453.33) (set! (-> self turn-time) (seconds 0.5)) (ja-channel-push! 1 (seconds 0.15)) @@ -187,12 +182,10 @@ ;; failed to figure out what this is: (defstate nav-enemy-jump-land (babak) :virtual #t - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.075)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info jump-land-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info jump-land-anim)) :num! (seek! (ja-aframe 32.0 0) 0.5) :frame-num 0.0 ) diff --git a/test/decompiler/reference/levels/common/basebutton_REF.gc b/test/decompiler/reference/levels/common/basebutton_REF.gc index 650bfaf113..221af70025 100644 --- a/test/decompiler/reference/levels/common/basebutton_REF.gc +++ b/test/decompiler/reference/levels/common/basebutton_REF.gc @@ -84,8 +84,7 @@ ;; failed to figure out what this is: (defstate basebutton-startup (basebutton) :virtual #t - :code - (behavior () + :code (behavior () (if (-> self down?) (go-virtual basebutton-down-idle) (go-virtual basebutton-up-idle) @@ -97,8 +96,7 @@ ;; failed to figure out what this is: (defstate basebutton-up-idle (basebutton) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (case (-> arg3 param 1) @@ -118,22 +116,18 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (press! self #f) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self move-to?) (rider-trans) ) (none) ) - :code - (the-as (function none :behavior basebutton) anim-loop) - :post - (behavior () + :code (the-as (function none :behavior basebutton) anim-loop) + :post (behavior () (when (-> self move-to?) (set! (-> self move-to?) #f) (set! (-> self root-override trans quad) (-> self move-to-pos quad)) @@ -147,8 +141,7 @@ ;; failed to figure out what this is: (defstate basebutton-going-down (basebutton) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('untrigger) (sound-play-by-name (static-sound-name "silo-button") (new-sound-id) 1024 0 0 1 #t) @@ -159,15 +152,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (press! self #t) (none) ) - :trans - (the-as (function none :behavior basebutton) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior basebutton) rider-trans) + :code (behavior () (ja-no-eval :num! (seek! max (-> self anim-speed))) (until (ja-done? 0) (suspend) @@ -177,8 +167,7 @@ (go-virtual basebutton-down-idle) (none) ) - :post - (behavior () + :post (behavior () (when (-> self move-to?) (set! (-> self move-to?) #f) (set! (-> self root-override trans quad) (-> self move-to-pos quad)) @@ -192,8 +181,7 @@ ;; failed to figure out what this is: (defstate basebutton-down-idle (basebutton) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('untrigger) (sound-play-by-name (static-sound-name "silo-button") (new-sound-id) 1024 0 0 1 #t) @@ -204,20 +192,17 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (press! self #t) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self move-to?) (rider-trans) ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (cond ((= (-> self timeout) 0.0) @@ -234,8 +219,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (when (-> self move-to?) (set! (-> self move-to?) #f) (set! (-> self root-override trans quad) (-> self move-to-pos quad)) @@ -249,8 +233,7 @@ ;; failed to figure out what this is: (defstate basebutton-going-up (basebutton) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('move-to) (move-to-vec-or-quat! self (the-as vector (-> arg3 param 0)) (the-as quaternion (-> arg3 param 1))) @@ -261,15 +244,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (press! self #f) (none) ) - :trans - (the-as (function none :behavior basebutton) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior basebutton) rider-trans) + :code (behavior () (ja-no-eval :num! (seek! 0.0 (-> self anim-speed))) (until (ja-done? 0) (suspend) @@ -279,8 +259,7 @@ (go-virtual basebutton-up-idle) (none) ) - :post - (behavior () + :post (behavior () (when (-> self move-to?) (set! (-> self move-to?) #f) (set! (-> self root-override trans quad) (-> self move-to-pos quad)) @@ -500,10 +479,7 @@ ) ;; definition for symbol *warp-info*, type (array string) -(define *warp-info* (the-as (array string) (new - 'static - 'boxed-array - :type string :length 5 :allocated-length 5 +(define *warp-info* (the-as (array string) (new 'static 'boxed-array :type string "training-warp" "village1-warp" "village2-warp" @@ -547,13 +523,11 @@ ;; failed to figure out what this is: (defstate use (warp-gate) :virtual #t - :trans - (behavior () + :trans (behavior () (send-event *camera* 'joystick 0.0 0.0) (none) ) - :code - (behavior ((arg0 int) (arg1 level)) + :code (behavior ((arg0 int) (arg1 level)) (set! (-> self state-time) (-> *display* base-frame-counter)) (when (not arg1) (process-release? *target*) @@ -622,8 +596,7 @@ ;; failed to figure out what this is: (defstate target-warp-out (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('death-end) (let ((v0-0 (the-as object (logior (-> self draw status) (draw-status hidden))))) @@ -636,8 +609,7 @@ ) ) ) - :enter - (behavior ((arg0 vector) (arg1 vector)) + :enter (behavior ((arg0 vector) (arg1 vector)) (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self control status) (cshape-moving-flags onsurf onground tsurf)) (set! (-> self control unknown-surface00) *warp-jump-mods*) @@ -650,13 +622,11 @@ (set! (-> self alt-cam-pos quad) (-> arg1 quad)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self state-flags) (state-flags sf10)) (none) ) - :code - (behavior ((arg0 vector) (arg1 vector)) + :code (behavior ((arg0 vector) (arg1 vector)) (send-event *camera* 'change-state cam-fixed 0) (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! eichar-duck-high-jump-ja :num! (seek! (ja-aframe 16.0 0)) :frame-num 0.0) @@ -745,6 +715,5 @@ (anim-loop) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) diff --git a/test/decompiler/reference/levels/common/baseplat_REF.gc b/test/decompiler/reference/levels/common/baseplat_REF.gc index 29968f2d66..ce2158e1f8 100644 --- a/test/decompiler/reference/levels/common/baseplat_REF.gc +++ b/test/decompiler/reference/levels/common/baseplat_REF.gc @@ -209,10 +209,8 @@ eco-door-event-handler ;; failed to figure out what this is: (defstate door-closed (eco-door) :virtual #t - :event - eco-door-event-handler - :code - (behavior () + :event eco-door-event-handler + :code (behavior () (ja :num-func num-func-identity :frame-num 0.0) (suspend) (update-transforms! (-> self root-override)) @@ -225,14 +223,7 @@ eco-door-event-handler (dummy-26 self) (if (and (not (-> self locked)) (or (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'powerup)) - (set! (-> a1-1 param 1) (the-as uint 3)) - (send-event-function *target* a1-1) - ) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) (and (-> self one-way) (< (vector4-dot (-> self out-dir) (target-pos 0)) -8192.0)) ) ) @@ -249,13 +240,11 @@ eco-door-event-handler ;; failed to figure out what this is: (defstate door-opening (eco-door) :virtual #t - :event - eco-door-event-handler - :code - (behavior () + :event eco-door-event-handler + :code (behavior () (let ((gp-0 (and (not (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete)))) - (send-event *target* 'query 'powerup 3) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) ) ) @@ -283,17 +272,14 @@ eco-door-event-handler (go-virtual door-open) (none) ) - :post - (the-as (function none :behavior eco-door) transform-post) + :post (the-as (function none :behavior eco-door) transform-post) ) ;; failed to figure out what this is: (defstate door-open (eco-door) :virtual #t - :event - eco-door-event-handler - :code - (behavior () + :event eco-door-event-handler + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (process-entity-status! self (entity-perm-status complete) #t) (clear-collide-with-as (-> self root-override)) @@ -326,10 +312,8 @@ eco-door-event-handler ;; failed to figure out what this is: (defstate door-closing (eco-door) :virtual #t - :event - eco-door-event-handler - :code - (behavior () + :event eco-door-event-handler + :code (behavior () (restore-collide-with-as (-> self root-override)) (logclear! (-> self draw status) (draw-status hidden)) (let ((gp-0 (new 'stack 'overlaps-others-params))) @@ -350,8 +334,7 @@ eco-door-event-handler (go-virtual door-closed) (none) ) - :post - (the-as (function none :behavior eco-door) transform-post) + :post (the-as (function none :behavior eco-door) transform-post) ) ;; definition for method 26 of type eco-door diff --git a/test/decompiler/reference/levels/common/battlecontroller_REF.gc b/test/decompiler/reference/levels/common/battlecontroller_REF.gc index f3fd82050c..19b94bd94c 100644 --- a/test/decompiler/reference/levels/common/battlecontroller_REF.gc +++ b/test/decompiler/reference/levels/common/battlecontroller_REF.gc @@ -462,15 +462,12 @@ battlecontroller-default-event-handler ;; failed to figure out what this is: (defstate battlecontroller-idle (battlecontroller) :virtual #t - :event - battlecontroller-default-event-handler - :trans - (behavior () + :event battlecontroller-default-event-handler + :trans (behavior () 0 (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (if (-> self prespawn) (battlecontroller-fill-all-spawners) @@ -495,27 +492,22 @@ battlecontroller-default-event-handler ) (none) ) - :post - (the-as (function none :behavior battlecontroller) #f) + :post (the-as (function none :behavior battlecontroller) #f) ) ;; failed to figure out what this is: (defstate battlecontroller-play-intro-camera (battlecontroller) :virtual #t - :event - battlecontroller-default-event-handler - :enter - (behavior () + :event battlecontroller-default-event-handler + :enter (behavior () (process-entity-status! self (entity-perm-status bit-3) #t) (none) ) - :exit - (behavior () + :exit (behavior () (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :code - (behavior () + :code (behavior () (go-virtual battlecontroller-active) (none) ) @@ -534,10 +526,8 @@ battlecontroller-default-event-handler ;; failed to figure out what this is: (defstate battlecontroller-active (battlecontroller) :virtual #t - :event - battlecontroller-default-event-handler - :trans - (behavior () + :event battlecontroller-default-event-handler + :trans (behavior () (if (and *target* (>= (-> self activate-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) ) @@ -547,8 +537,7 @@ battlecontroller-default-event-handler (battlecontroller-update-spawners) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (battlecontroller-camera-on) (loop @@ -580,8 +569,7 @@ battlecontroller-default-event-handler ) (none) ) - :post - (the-as (function none :behavior battlecontroller) #f) + :post (the-as (function none :behavior battlecontroller) #f) ) ;; definition for function battlecontroller-special-contents? @@ -624,13 +612,11 @@ battlecontroller-default-event-handler ;; failed to figure out what this is: (defstate battlecontroller-die (battlecontroller) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior battlecontroller) process-drawable-fuel-cell-handler ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "money-pickup") (new-sound-id) 1024 -2286 0 1 #f) (battlecontroller-battle-end) (battlecontroller-camera-off) @@ -694,8 +680,7 @@ battlecontroller-default-event-handler (process-entity-status! self (entity-perm-status dead) #t) (none) ) - :post - (the-as (function none :behavior battlecontroller) #f) + :post (the-as (function none :behavior battlecontroller) #f) ) ;; definition for method 7 of type battlecontroller diff --git a/test/decompiler/reference/levels/common/blocking-plane_REF.gc b/test/decompiler/reference/levels/common/blocking-plane_REF.gc index 20453a2415..7298059d69 100644 --- a/test/decompiler/reference/levels/common/blocking-plane_REF.gc +++ b/test/decompiler/reference/levels/common/blocking-plane_REF.gc @@ -31,8 +31,7 @@ ;; failed to figure out what this is: (defstate blocking-plane-idle (blocking-plane) - :code - (behavior () + :code (behavior () (transform-post) (loop (logior! (-> self mask) (process-mask sleep)) @@ -105,15 +104,7 @@ (s4-0 0) ) (while (< s4-0 s5-0) - (let ((s3-0 (get-process *default-dead-pool* blocking-plane #x4000))) - (when s3-0 - (let ((t9-1 (method-of-type blocking-plane activate))) - (t9-1 (the-as blocking-plane s3-0) pp 'blocking-plane (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 blocking-plane-init-by-other arg0 s4-0) - (-> s3-0 ppointer) - ) - ) + (process-spawn blocking-plane arg0 s4-0 :to pp) (+! s4-0 2) ) ) diff --git a/test/decompiler/reference/levels/common/dark-eco-pool_REF.gc b/test/decompiler/reference/levels/common/dark-eco-pool_REF.gc index bca7932fd1..9b6712a26e 100644 --- a/test/decompiler/reference/levels/common/dark-eco-pool_REF.gc +++ b/test/decompiler/reference/levels/common/dark-eco-pool_REF.gc @@ -23,8 +23,7 @@ :count 3 :converted #f :normal-scale 3.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 2 :speed 0.5) (new 'static 'ripple-wave :scale 15.0 :xdiv -2 :zdiv 2 :speed 2.0) (new 'static 'ripple-wave :scale 3.0 :xdiv 5 :zdiv 3 :speed 2.0) @@ -39,8 +38,7 @@ :count 3 :converted #f :normal-scale 8.57 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 14.0 :xdiv 1 :speed 1.0) (new 'static 'ripple-wave :scale 5.25 :xdiv -1 :zdiv 1 :speed 4.0) (new 'static 'ripple-wave :scale 0.7 :xdiv 5 :zdiv 3 :speed 2.0) @@ -55,8 +53,7 @@ :count 3 :converted #f :normal-scale 4.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 25.0 :xdiv 2 :speed -2.0) (new 'static 'ripple-wave :scale 15.0 :xdiv -2 :zdiv 2 :speed 3.0) (new 'static 'ripple-wave :scale 4.0 :xdiv 5 :zdiv 3 :speed 4.0) @@ -70,8 +67,7 @@ :count 3 :converted #f :normal-scale 3.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.0) (new 'static 'ripple-wave :scale 15.0 :xdiv -1 :zdiv 1 :speed 4.0) (new 'static 'ripple-wave :scale 2.0 :xdiv 5 :zdiv 3 :speed 2.0) @@ -86,8 +82,7 @@ :count 3 :converted #f :normal-scale 8.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 15.0 :xdiv 1 :speed 1.0) (new 'static 'ripple-wave :scale 5.625 :xdiv -1 :zdiv 1 :speed 4.0) (new 'static 'ripple-wave :scale 0.75 :xdiv 5 :zdiv 3 :speed 2.0) @@ -158,14 +153,12 @@ :id 444 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2020 :fade-after (meters 50))) + :parts ((sp-item 2020 :fade-after (meters 50))) ) ;; failed to figure out what this is: (defpart 2020 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 1) (meters 4) 1.0) @@ -186,8 +179,7 @@ ;; failed to figure out what this is: (defpart 2021 - :init-specs - ((sp-flt spt-r 255.0) (sp-rnd-flt spt-g 128.0 128.0 1.0) (sp-flt spt-b 0.0) (sp-flt spt-fade-a -1.28)) + :init-specs ((sp-flt spt-r 255.0) (sp-rnd-flt spt-g 128.0 128.0 1.0) (sp-flt spt-b 0.0) (sp-flt spt-fade-a -1.28)) ) ;; failed to figure out what this is: @@ -197,8 +189,7 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2056 :fade-after (meters 100) :period 600 :length 5) + :parts ((sp-item 2056 :fade-after (meters 100) :period 600 :length 5) (sp-item 2057 :fade-after (meters 100) :period 600 :length 5 :binding 2052) (sp-item 2052 :flags (start-dead launch-asap) :binding 2053) (sp-item 2053 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead)) @@ -222,8 +213,7 @@ ;; failed to figure out what this is: (defpart 2056 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 8)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -240,8 +230,7 @@ ;; failed to figure out what this is: (defpart 2057 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 1.0 6.0 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 0.1)) @@ -259,8 +248,7 @@ ;; failed to figure out what this is: (defpart 2052 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.3) (meters 0.3) 1.0) @@ -285,8 +273,7 @@ ;; failed to figure out what this is: (defpart 2053 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -307,8 +294,7 @@ ;; failed to figure out what this is: (defpart 2058 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 1.0 6.0 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 0.1)) @@ -326,8 +312,7 @@ ;; failed to figure out what this is: (defpart 2054 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.3) (meters 0.3) 1.0) @@ -352,8 +337,7 @@ ;; failed to figure out what this is: (defpart 2055 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -375,8 +359,7 @@ ;; failed to figure out what this is: (defstate water-vol-idle (dark-eco-pool) :virtual #t - :trans - (behavior () + :trans (behavior () (let ((t9-0 (-> (method-of-type water-anim water-vol-idle) trans))) (if t9-0 (t9-0) @@ -393,15 +376,17 @@ (set! (-> s5-0 vertex-skip) 256) (when (zero? (rand-vu-int-range 0 15)) (when (and (nonzero? (-> s5-0 vertex-count)) (< #x32000 (memory-free *nk-dead-pool*))) - (let ((s3-0 (rand-vu-int-range 0 (+ (-> s5-0 vertex-count) -1))) - (s4-1 (get-process *default-dead-pool* part-tracker #x4000)) - ) - (when s4-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker s4-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 part-tracker-init (-> *part-group-id-table* 445) -1 #f #f #f (-> s5-0 data s3-0)) - (-> s4-1 ppointer) + (let ((s3-0 (rand-vu-int-range 0 (+ (-> s5-0 vertex-count) -1)))) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 445) + -1 + #f + #f + #f + (-> s5-0 data s3-0) + :to *entity-pool* ) ) ) diff --git a/test/decompiler/reference/levels/common/joint-exploder_REF.gc b/test/decompiler/reference/levels/common/joint-exploder_REF.gc index 3d9201d737..39f442d0d6 100644 --- a/test/decompiler/reference/levels/common/joint-exploder_REF.gc +++ b/test/decompiler/reference/levels/common/joint-exploder_REF.gc @@ -543,13 +543,11 @@ ;; failed to figure out what this is: (defstate joint-exploder-shatter (joint-exploder) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (let* ((f1-0 (the float (- (-> *display* base-frame-counter) (-> self state-time)))) (f0-2 (- 1.0 (/ f1-0 (the float (-> self tuning duration))))) (f1-2 (- 1.0 (/ f1-0 (* 0.75 (the float (-> self tuning duration)))))) @@ -606,8 +604,7 @@ 0 (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self tuning duration)) (suspend) @@ -615,8 +612,7 @@ ) (none) ) - :post - (the-as (function none :behavior joint-exploder) ja-post) + :post (the-as (function none :behavior joint-exploder) ja-post) ) ;; definition for method 23 of type joint-exploder diff --git a/test/decompiler/reference/levels/common/launcherdoor_REF.gc b/test/decompiler/reference/levels/common/launcherdoor_REF.gc index 80902d846c..2579207937 100644 --- a/test/decompiler/reference/levels/common/launcherdoor_REF.gc +++ b/test/decompiler/reference/levels/common/launcherdoor_REF.gc @@ -50,15 +50,14 @@ ;; failed to figure out what this is: (defstate launcherdoor-closed (launcherdoor) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (if (not arg0) (sound-play-by-name (static-sound-name "ldoor-close") (new-sound-id) 1024 0 0 1 #t) ) (when *target* (case (-> *target* current-level name) (('jungle 'jungleb) - (send-event *target* 'no-load-wait 6000) + (send-event *target* 'no-load-wait (seconds 20)) ) ) ) @@ -109,14 +108,12 @@ ) (none) ) - :post - (the-as (function none :behavior launcherdoor) ja-post) + :post (the-as (function none :behavior launcherdoor) ja-post) ) ;; failed to figure out what this is: (defstate launcherdoor-open (launcherdoor) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (if (not arg0) (sound-play-by-name (static-sound-name "ldoor-open") (new-sound-id) 1024 0 0 1 #t) ) @@ -148,8 +145,7 @@ ) (none) ) - :post - (the-as (function none :behavior launcherdoor) ja-post) + :post (the-as (function none :behavior launcherdoor) ja-post) ) ;; definition for method 11 of type launcherdoor diff --git a/test/decompiler/reference/levels/common/nav-enemy_REF.gc b/test/decompiler/reference/levels/common/nav-enemy_REF.gc index 124c0b1ac3..2c9b284a3c 100644 --- a/test/decompiler/reference/levels/common/nav-enemy_REF.gc +++ b/test/decompiler/reference/levels/common/nav-enemy_REF.gc @@ -167,23 +167,20 @@ ;; definition for function nav-enemy-send-attack ;; INFO: Return type mismatch symbol vs object. (defbehavior nav-enemy-send-attack nav-enemy ((arg0 process) (arg1 touching-shapes-entry) (arg2 symbol)) - (let ((v1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> v1-0 from) self) - (set! (-> v1-0 num-params) 2) - (set! (-> v1-0 message) 'attack) - (set! (-> v1-0 param 0) (the-as uint arg1)) - (let ((a1-1 (new 'static 'attack-info :mask #xe0))) - (set! (-> a1-1 shove-back) (-> self nav-info attack-shove-back)) - (set! (-> a1-1 shove-up) (-> self nav-info attack-shove-up)) - (set! (-> a1-1 mode) arg2) - (set! (-> v1-0 param 1) (the-as uint a1-1)) - ) - (the-as object (when (send-event-function arg0 v1-0) - (set-collide-offense (-> self collide-info) 2 (collide-offense no-offense)) - (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) - #t - ) + (the-as + object + (when (send-event + arg0 + 'attack + arg1 + (static-attack-info + ((shove-back (-> self nav-info attack-shove-back)) (shove-up (-> self nav-info attack-shove-up)) (mode arg2)) + ) ) + (set-collide-offense (-> self collide-info) 2 (collide-offense no-offense)) + (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) + #t + ) ) ) @@ -811,13 +808,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-idle (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (nav-enemy-neck-control-inactive) (set! (-> self state-time) (-> *display* base-frame-counter)) (if (-> self nav-info move-to-ground) @@ -827,8 +822,7 @@ nav-enemy-default-event-handler (set! (-> self state-timeout) (seconds 1)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (and *target* (>= (-> self enemy-info idle-distance) (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) ) @@ -841,8 +835,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja :group! (-> self draw art-group data (-> self nav-info idle-anim))) (ja :num-func num-func-identity :frame-num 0.0) @@ -854,20 +847,17 @@ nav-enemy-default-event-handler ) (none) ) - :post - (the-as (function none :behavior nav-enemy) ja-post) + :post (the-as (function none :behavior nav-enemy) ja-post) ) ;; failed to figure out what this is: (defstate nav-enemy-patrol (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self nav flags) (the-as nav-control-flags (the-as int (logior (nav-control-flags navcf19) (-> self nav flags)))) @@ -881,13 +871,11 @@ nav-enemy-default-event-handler (set! (-> self turn-time) (-> self nav-info walk-turn-time)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self state-timeout)) (if (and (nonzero? (-> self draw)) (logtest? (-> self draw status) (draw-status was-drawn))) @@ -907,14 +895,8 @@ nav-enemy-default-event-handler (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) ) ) - (let ((gp-0 'racer) - (a1-2 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'mode)) - (= gp-0 (send-event-function *target* a1-2)) + (let ((gp-0 'racer)) + (= gp-0 (send-event *target* 'query 'mode)) ) ) ) @@ -926,12 +908,10 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (loop - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info walk-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -943,8 +923,7 @@ nav-enemy-default-event-handler (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.6)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info idle-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -954,8 +933,7 @@ nav-enemy-default-event-handler (ja :num! (seek! max f30-0)) ) (until (not (nav-enemy-rnd-go-idle? 0.2)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info idle-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -967,8 +945,7 @@ nav-enemy-default-event-handler (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.6)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info walk-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -982,20 +959,17 @@ nav-enemy-default-event-handler ) (none) ) - :post - nav-enemy-patrol-post + :post nav-enemy-patrol-post ) ;; failed to figure out what this is: (defstate nav-enemy-notice (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (nav-enemy-neck-control-look-at) (if (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf1)) @@ -1012,12 +986,10 @@ nav-enemy-default-event-handler (set! (-> self turn-time) (-> self nav-info run-turn-time)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info notice-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -1035,8 +1007,7 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-chase) (none) ) - :post - nav-enemy-simple-post + :post nav-enemy-simple-post ) ;; definition for function ja-group-index? @@ -1047,31 +1018,22 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-flee (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self reaction-time)) (if (or (or (not *target*) (< (-> self nav-info stop-chase-distance) (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) ) ) - (let ((gp-0 'racer) - (a1-1 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'mode)) - (!= gp-0 (send-event-function *target* a1-1)) + (let ((gp-0 'racer)) + (!= gp-0 (send-event *target* 'query 'mode)) ) ) (go-virtual nav-enemy-patrol) @@ -1079,12 +1041,10 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info notice-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -1094,8 +1054,7 @@ nav-enemy-default-event-handler ) (ja-channel-push! 1 (seconds 0.2)) (loop - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info idle-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -1107,8 +1066,7 @@ nav-enemy-default-event-handler ) (none) ) - :post - nav-enemy-face-player-post + :post nav-enemy-face-player-post ) ;; definition for function nav-enemy-reset-frustration @@ -1141,13 +1099,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-chase (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (nav-enemy-neck-control-look-at) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self free-time) (-> *display* base-frame-counter)) @@ -1159,8 +1115,7 @@ nav-enemy-default-event-handler (nav-enemy-reset-frustration) (none) ) - :trans - (behavior () + :trans (behavior () (if (logtest? (-> *target* state-flags) (state-flags sf07)) (go-virtual nav-enemy-patrol) ) @@ -1198,8 +1153,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja :group! (-> self draw art-group data (-> self nav-info run-anim))) (ja :num-func num-func-identity :frame-num 0.0) @@ -1211,20 +1165,17 @@ nav-enemy-default-event-handler ) (none) ) - :post - nav-enemy-chase-post + :post nav-enemy-chase-post ) ;; failed to figure out what this is: (defstate nav-enemy-stop-chase (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (let* ((f30-0 (vector-vector-distance (-> self collide-info trans) (target-pos 0))) (gp-1 (the int (+ (lerp-scale 600.0 1800.0 f30-0 32768.0 122880.0) (nav-enemy-rnd-float-range 0.0 30.0)))) @@ -1240,8 +1191,7 @@ nav-enemy-default-event-handler (set! (-> self turn-time) (-> self nav-info walk-turn-time)) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (if (logtest? (-> *target* state-flags) (state-flags sf07)) (go-virtual nav-enemy-patrol) @@ -1261,8 +1211,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja :group! (-> self draw art-group data (-> self nav-info walk-anim))) (ja :num-func num-func-identity :frame-num 0.0) @@ -1274,20 +1223,17 @@ nav-enemy-default-event-handler ) (none) ) - :post - nav-enemy-chase-post + :post nav-enemy-chase-post ) ;; failed to figure out what this is: (defstate nav-enemy-stare (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (let ((f0-0 (vector-vector-distance (-> self collide-info trans) (target-pos 0)))) @@ -1303,13 +1249,11 @@ nav-enemy-default-event-handler (set! (-> self collide-info transv quad) (-> *null-vector* quad)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (if (logtest? (-> *target* state-flags) (state-flags sf07)) (go-virtual nav-enemy-patrol) @@ -1351,32 +1295,27 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-give-up) (none) ) - :post - nav-enemy-face-player-post + :post nav-enemy-face-player-post ) ;; failed to figure out what this is: (defstate nav-enemy-give-up (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (nav-enemy-neck-control-inactive) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (if (TODO-RENAME-46 self (-> self nav-info notice-distance)) (go-virtual nav-enemy-chase) @@ -1384,51 +1323,42 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-patrol) (none) ) - :post - nav-enemy-simple-post + :post nav-enemy-simple-post ) ;; failed to figure out what this is: (defstate nav-enemy-attack (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-victory) (none) ) - :post - nav-enemy-simple-post + :post nav-enemy-simple-post ) ;; failed to figure out what this is: (defstate nav-enemy-victory (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self collide-info transv quad) (-> *null-vector* quad)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info victory-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info victory-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -1440,25 +1370,21 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-stare) (none) ) - :post - nav-enemy-simple-post + :post nav-enemy-simple-post ) ;; failed to figure out what this is: (defstate nav-enemy-die (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) process-drawable-death-event-handler ) - :enter - (behavior () + :enter (behavior () (send-event (ppointer->process (-> self parent)) 'child-die) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (clear-collide-with-as (-> self collide-info)) (nav-enemy-fall-and-play-death-anim @@ -1478,20 +1404,17 @@ nav-enemy-default-event-handler (cleanup-for-death self) (none) ) - :post - nav-enemy-death-post + :post nav-enemy-death-post ) ;; failed to figure out what this is: (defstate nav-enemy-fuel-cell (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) process-drawable-fuel-cell-handler ) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (clear-collide-with-as (-> self collide-info)) (ja-post) @@ -1665,8 +1588,7 @@ nav-enemy-default-event-handler (defbehavior nav-enemy-jump-land-anim nav-enemy () (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.075)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info jump-land-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info jump-land-anim)) :num! (seek!) :frame-num 0.0 ) @@ -1682,10 +1604,8 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-jump (nav-enemy) :virtual #t - :event - nav-enemy-jump-event-handler - :enter - (behavior () + :event nav-enemy-jump-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (if (and (-> self nav-info use-jump-blocked) (TODO-RENAME-50 self (-> self event-param-point))) (go-virtual nav-enemy-jump-blocked) @@ -1693,13 +1613,11 @@ nav-enemy-default-event-handler (nav-enemy-initialize-jump (-> self event-param-point)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) (none) ) - :code - (behavior () + :code (behavior () (nav-enemy-execute-jump) (let ((a1-0 (-> self nav user-poly))) (if (not a1-0) @@ -1712,8 +1630,7 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-jump-land) (none) ) - :post - nav-enemy-jump-post + :post nav-enemy-jump-post ) ;; definition for function nav-enemy-jump-land-post @@ -1770,13 +1687,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-jump-land (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self nav flags) (nav-control-flags navcf19)) (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -1789,8 +1704,7 @@ nav-enemy-default-event-handler ) (none) ) - :trans - (behavior () + :trans (behavior () (if (or (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) (logtest? (nav-control-flags navcf19) (-> self nav flags)) ) @@ -1798,44 +1712,36 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (nav-enemy-jump-land-anim) (go (-> self jump-return-state)) (none) ) - :post - nav-enemy-jump-land-post + :post nav-enemy-jump-land-post ) ;; failed to figure out what this is: (defstate nav-enemy-jump-blocked (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) (go (-> self jump-return-state)) ) (none) ) - :code - (behavior () + :code (behavior () (when (not (ja-group? (-> self draw art-group data (-> self nav-info idle-anim)))) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! - (-> self draw art-group data (-> self nav-info idle-anim)) - :num! - (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) + (ja :group! (-> self draw art-group data (-> self nav-info idle-anim)) + :num! (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) ) ) (let ((f30-0 (nav-enemy-rnd-float-range 0.75 1.25))) @@ -1846,20 +1752,17 @@ nav-enemy-default-event-handler ) (none) ) - :post - nav-enemy-simple-post + :post nav-enemy-simple-post ) ;; failed to figure out what this is: (defstate nav-enemy-wait-for-cue (nav-enemy) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior nav-enemy) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf11)) (ja-channel-push! 1 (seconds 0.1)) @@ -1884,27 +1787,22 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-jump-to-point) (none) ) - :post - nav-enemy-simple-post + :post nav-enemy-simple-post ) ;; failed to figure out what this is: (defstate nav-enemy-jump-to-point (nav-enemy) :virtual #t - :event - nav-enemy-jump-event-handler - :exit - (behavior () + :event nav-enemy-jump-event-handler + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) (none) ) - :trans - (behavior () + :trans (behavior () 0 (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (nav-enemy-initialize-jump (-> self event-param-point)) (nav-enemy-neck-control-look-at) @@ -1921,17 +1819,14 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-wait-for-cue) (none) ) - :post - nav-enemy-jump-post + :post nav-enemy-jump-post ) ;; definition for symbol *nav-enemy-dummy-shadow-control*, type shadow-control (define *nav-enemy-dummy-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #x28)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 614400.0) + :center (new 'static 'vector :w (the-as float #x28)) + :shadow-dir (new 'static 'vector :y -1.0 :w 614400.0) :bot-plane (new 'static 'plane :y 1.0 :w 4096.0) :top-plane (new 'static 'plane :y 1.0 :w -4096.0) ) diff --git a/test/decompiler/reference/levels/common/orb-cache_REF.gc b/test/decompiler/reference/levels/common/orb-cache_REF.gc index 06a3e13f5f..7893ebe48f 100644 --- a/test/decompiler/reference/levels/common/orb-cache_REF.gc +++ b/test/decompiler/reference/levels/common/orb-cache_REF.gc @@ -55,8 +55,7 @@ ;; failed to figure out what this is: (defstate orb-cache-top-idle (orb-cache-top) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('eco-blue) (process-entity-status! self (entity-perm-status complete) #t) @@ -71,17 +70,9 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (and (and *target* (>= 20480.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'powerup)) - (set! (-> a1-1 param 1) (the-as uint 3)) - (not (send-event-function *target* a1-1)) - ) + (not (send-event *target* 'query 'powerup (pickup-type eco-blue))) ) (level-hint-spawn (game-text-id sidekick-hint-orb-cache-top) @@ -93,8 +84,7 @@ ) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (if (and (not arg0) (-> self child)) (sound-play-by-name (static-sound-name "close-orb-cash") (new-sound-id) 1024 0 0 1 #t) ) @@ -224,17 +214,13 @@ ;; failed to figure out what this is: (defstate orb-cache-top-activate (orb-cache-top) - :event - (the-as (function process int symbol event-message-block object :behavior orb-cache-top) plat-event) - :exit - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior orb-cache-top) plat-event) + :exit (behavior () (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :trans - (the-as (function none :behavior orb-cache-top) plat-trans) - :code - (behavior ((arg0 symbol)) + :trans (the-as (function none :behavior orb-cache-top) plat-trans) + :code (behavior ((arg0 symbol)) (process-entity-status! self (entity-perm-status bit-3) #t) (calculate-pos self arg0) (if arg0 @@ -246,19 +232,11 @@ (set! (-> s4-1 quad) (-> self basetrans quad)) (set! (-> s4-1 y) (-> self money-pos-list s5-1)) (set! (-> self money-pos-actual s5-1) (-> s4-1 y)) - (let ((s3-0 (get-process *default-dead-pool* money #x4000))) - (set! (-> self money-list s5-1) - (ppointer->handle - (when s3-0 - (let ((t9-5 (method-of-type money activate))) - (t9-5 (the-as money s3-0) self 'money (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 money-init-by-other-no-bob s4-1 *null-vector* 5 1.0 (-> self entity)) - (-> s3-0 ppointer) - ) - ) + (set! (-> self money-list s5-1) + (ppointer->handle + (process-spawn money :init money-init-by-other-no-bob s4-1 *null-vector* 5 1.0 (-> self entity) :to self) ) - ) + ) ) ) (loop @@ -309,18 +287,14 @@ ) (none) ) - :post - (the-as (function none :behavior orb-cache-top) plat-post) + :post (the-as (function none :behavior orb-cache-top) plat-post) ) ;; failed to figure out what this is: (defstate orb-cache-top-complete (orb-cache-top) - :event - (the-as (function process int symbol event-message-block object :behavior orb-cache-top) plat-event) - :trans - (the-as (function none :behavior orb-cache-top) plat-trans) - :code - (behavior ((arg0 symbol)) + :event (the-as (function process int symbol event-message-block object :behavior orb-cache-top) plat-event) + :trans (the-as (function none :behavior orb-cache-top) plat-trans) + :code (behavior ((arg0 symbol)) (if (not arg0) (sound-play-by-name (static-sound-name "close-orb-cash") (new-sound-id) 1024 0 0 1 #t) ) @@ -330,8 +304,7 @@ (anim-loop) (none) ) - :post - (the-as (function none :behavior orb-cache-top) plat-post) + :post (the-as (function none :behavior orb-cache-top) plat-post) ) ;; definition for method 11 of type orb-cache-top diff --git a/test/decompiler/reference/levels/common/plat-button_REF.gc b/test/decompiler/reference/levels/common/plat-button_REF.gc index bcc977ba21..6d4db629ca 100644 --- a/test/decompiler/reference/levels/common/plat-button_REF.gc +++ b/test/decompiler/reference/levels/common/plat-button_REF.gc @@ -73,8 +73,7 @@ ;; failed to figure out what this is: (defstate plat-button-idle (plat-button) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) (when (can-activate? self) @@ -95,8 +94,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (can-activate? self))) (if gp-0 (ja-no-eval :num! (seek! 0.0)) @@ -133,8 +131,7 @@ ;; failed to figure out what this is: (defstate plat-button-teleport-to-other-end (plat-button) :virtual #t - :code - (behavior () + :code (behavior () (let ((f0-0 1.0)) (if (>= (-> self path-pos) 0.5) (set! f0-0 0.0) @@ -155,10 +152,8 @@ ;; failed to figure out what this is: (defstate plat-button-pressed (plat-button) :virtual #t - :trans - (the-as (function none :behavior plat-button) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior plat-button) rider-trans) + :code (behavior () (ja-no-eval :num! (seek!)) (until (ja-done? 0) (suspend) @@ -172,8 +167,7 @@ ) (none) ) - :post - (the-as (function none :behavior plat-button) rider-post) + :post (the-as (function none :behavior plat-button) rider-post) ) ;; definition for function plat-button-camera-on @@ -199,30 +193,26 @@ ;; failed to figure out what this is: (defstate plat-button-move-downward (plat-button) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (the-as object (when (or (= arg2 'touch) (= arg2 'attack)) (set! (-> self state-time) (-> *display* base-frame-counter)) #f ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (process-entity-status! self (entity-perm-status bit-3) #t) (plat-button-camera-on) (set-setting! *setting-control* self 'allow-look-around #f 0.0 0) (none) ) - :exit - (behavior () + :exit (behavior () (plat-button-camera-off) (clear-pending-settings-from-process *setting-control* self 'allow-look-around) (none) ) - :trans - (behavior () + :trans (behavior () (if (= (-> self path-pos) 1.0) (go-virtual plat-button-at-end) ) @@ -271,39 +261,33 @@ ) (none) ) - :code - (the-as (function none :behavior plat-button) anim-loop) - :post - (the-as (function none :behavior plat-button) rider-post) + :code (the-as (function none :behavior plat-button) anim-loop) + :post (the-as (function none :behavior plat-button) rider-post) ) ;; failed to figure out what this is: (defstate plat-button-move-upward (plat-button) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (the-as object (when (or (= arg2 'touch) (= arg2 'attack)) (set! (-> self state-time) (-> *display* base-frame-counter)) #f ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (process-entity-status! self (entity-perm-status bit-3) #t) (plat-button-camera-on) (set-setting! *setting-control* self 'allow-look-around #f 0.0 0) (none) ) - :exit - (behavior () + :exit (behavior () (plat-button-camera-off) (clear-pending-settings-from-process *setting-control* self 'allow-look-around) (none) ) - :trans - (behavior () + :trans (behavior () (if (= (-> self path-pos) 0.0) (go-virtual plat-button-at-end) ) @@ -352,17 +336,14 @@ ) (none) ) - :code - (the-as (function none :behavior plat-button) anim-loop) - :post - (the-as (function none :behavior plat-button) rider-post) + :code (the-as (function none :behavior plat-button) anim-loop) + :post (the-as (function none :behavior plat-button) rider-post) ) ;; failed to figure out what this is: (defstate plat-button-at-end (plat-button) :virtual #t - :code - (behavior () + :code (behavior () (if (-> self allow-auto-kill) (process-entity-status! self (entity-perm-status bit-3) #f) ) diff --git a/test/decompiler/reference/levels/common/plat-eco_REF.gc b/test/decompiler/reference/levels/common/plat-eco_REF.gc index 42699a4abd..c631acec14 100644 --- a/test/decompiler/reference/levels/common/plat-eco_REF.gc +++ b/test/decompiler/reference/levels/common/plat-eco_REF.gc @@ -52,8 +52,7 @@ ;; failed to figure out what this is: (defstate plat-idle (plat-eco) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('wake) (go-virtual plat-path-active (the-as plat #f)) @@ -62,31 +61,22 @@ (go-virtual notice-blue (process->handle arg0)) ) (('ridden 'edge-grabbed) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'query) - (set! (-> a1-6 param 0) (the-as uint 'powerup)) - (set! (-> a1-6 param 1) (the-as uint 3)) - (when (send-event-function *target* a1-6) - (send-to-all (-> self link) 'wake) - (go-virtual plat-path-active (the-as plat #f)) - ) + (when (send-event *target* 'query 'powerup (pickup-type eco-blue)) + (send-to-all (-> self link) 'wake) + (go-virtual plat-path-active (the-as plat #f)) ) ) ) ) - :enter - (behavior () + :enter (behavior () (lods-assign! (-> self draw) (-> self unlit-look)) (none) ) - :trans - (behavior () + :trans (behavior () (when (and (and *target* (>= (-> self notice-dist) (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) ) - (send-event *target* 'query 'powerup 3) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) (send-to-all (-> self link) 'wake) (go-virtual plat-path-active (the-as plat #f)) @@ -104,22 +94,19 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-post) (update-transforms! (-> self root-override)) (anim-loop) (none) ) - :post - (the-as (function none :behavior plat-eco) ja-post) + :post (the-as (function none :behavior plat-eco) ja-post) ) ;; failed to figure out what this is: (defstate notice-blue (plat-eco) :virtual override - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('wake) (sound-play-by-name @@ -134,22 +121,14 @@ (go-virtual plat-path-active (the-as plat #f)) ) (('ridden 'edge-grabbed) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'powerup)) - (set! (-> a1-3 param 1) (the-as uint 3)) - (when (send-event-function *target* a1-3) - (send-to-all (-> self link) 'wake) - (go-virtual plat-path-active (the-as plat #f)) - ) + (when (send-event *target* 'query 'powerup (pickup-type eco-blue)) + (send-to-all (-> self link) 'wake) + (go-virtual plat-path-active (the-as plat #f)) ) ) ) ) - :trans - (behavior () + :trans (behavior () ((-> (method-of-object self plat-idle) trans)) (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) self) @@ -165,8 +144,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (set! (-> self target) arg0) (loop (let* ((gp-0 (handle->process (-> self target))) @@ -220,8 +198,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (plat-trans) (plat-post) (none) @@ -231,8 +208,7 @@ ;; failed to figure out what this is: (defstate plat-path-active (plat-eco) :virtual #t - :enter - (behavior ((arg0 plat)) + :enter (behavior ((arg0 plat)) (lods-assign! (-> self draw) (-> self lit-look)) (sync-now! (-> self sync) (-> self sync-linear-val)) (set! (-> self sync-offset-faux) (-> self sync offset)) @@ -262,8 +238,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (when (!= (-> self sync-offset-faux) (-> self sync-offset-dest)) (seek! (-> self sync-offset-faux) (-> self sync-offset-dest) (* 12.0 (-> *display* seconds-per-frame))) (let* ((f0-7 (the float (-> self sync period))) diff --git a/test/decompiler/reference/levels/common/plat_REF.gc b/test/decompiler/reference/levels/common/plat_REF.gc index 6f01b5384a..ffe9e20df3 100644 --- a/test/decompiler/reference/levels/common/plat_REF.gc +++ b/test/decompiler/reference/levels/common/plat_REF.gc @@ -9,16 +9,14 @@ (defpartgroup group-standard-plat :id 107 :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 363 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 363 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 364 :fade-after (meters 160) :falloff-to (meters 160)) ) ) ;; failed to figure out what this is: (defpart 363 - :init-specs - ((sp-flt spt-num 1.5) + :init-specs ((sp-flt spt-num 1.5) (sp-flt spt-y (meters 1)) (sp-int spt-rot-x 5) (sp-flt spt-r 5324.8) @@ -36,8 +34,7 @@ ;; failed to figure out what this is: (defpart 364 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-y (meters 1.5)) (sp-rnd-flt spt-scale-x (meters 2) (meters 1) 1.0) @@ -201,8 +198,7 @@ ;; failed to figure out what this is: (defstate plat-startup (plat) :virtual #t - :code - (behavior ((arg0 plat)) + :code (behavior ((arg0 plat)) (cond ((logtest? (-> self path flags) (path-control-flag not-found)) (go-virtual plat-idle) @@ -221,15 +217,12 @@ ;; failed to figure out what this is: (defstate plat-idle (plat) :virtual #t - :event - (the-as (function process int symbol event-message-block object :behavior plat) plat-event) - :trans - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior plat) plat-event) + :trans (behavior () (dummy-20 self) (none) ) - :code - (behavior () + :code (behavior () (plat-trans) (rider-post) (suspend) @@ -254,15 +247,12 @@ ;; failed to figure out what this is: (defstate plat-path-active (plat) :virtual #t - :event - (the-as (function process int symbol event-message-block object :behavior plat) plat-event) - :exit - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior plat) plat-event) + :exit (behavior () (sound-stop (-> self sound-id)) (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self path-pos) (if (logtest? (-> self fact options) (fact-options wrap-phase)) (get-current-phase (-> self sync)) (get-current-phase-with-mirror (-> self sync)) @@ -283,10 +273,8 @@ (plat-trans) (none) ) - :code - (the-as (function plat none :behavior plat) anim-loop) - :post - (the-as (function none :behavior plat) plat-post) + :code (the-as (function plat none :behavior plat) anim-loop) + :post (the-as (function none :behavior plat) plat-post) ) ;; definition for method 11 of type plat diff --git a/test/decompiler/reference/levels/common/rigid-body_REF.gc b/test/decompiler/reference/levels/common/rigid-body_REF.gc index 4f81e587f8..fe6ce429f0 100644 --- a/test/decompiler/reference/levels/common/rigid-body_REF.gc +++ b/test/decompiler/reference/levels/common/rigid-body_REF.gc @@ -713,8 +713,7 @@ ;; failed to figure out what this is: (defstate rigid-body-platform-idle (rigid-body-platform) :virtual #t - :trans - (behavior () + :trans (behavior () (if (and *target* (>= (-> self info idle-distance) (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) ) @@ -723,24 +722,20 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior rigid-body-platform) ja-post) + :post (the-as (function none :behavior rigid-body-platform) ja-post) ) ;; failed to figure out what this is: (defstate rigid-body-platform-float (rigid-body-platform) :virtual #t - :event - rigid-body-platform-event-handler - :trans - (behavior () + :event rigid-body-platform-event-handler + :trans (behavior () (if (or (not *target*) (< (-> self info idle-distance) (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) ) @@ -749,15 +744,13 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior rigid-body-platform) rigid-body-platform-post) + :post (the-as (function none :behavior rigid-body-platform) rigid-body-platform-post) ) ;; definition for method 29 of type rigid-body-platform diff --git a/test/decompiler/reference/levels/common/ropebridge_REF.gc b/test/decompiler/reference/levels/common/ropebridge_REF.gc index ee0c83e1c5..6056629afd 100644 --- a/test/decompiler/reference/levels/common/ropebridge_REF.gc +++ b/test/decompiler/reference/levels/common/ropebridge_REF.gc @@ -181,8 +181,7 @@ (new 'static 'ropebridge-tuning :num-springs 16 :num-spring-points 17 - :col-mesh-indexes - (new 'static 'array uint8 16 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3) + :col-mesh-indexes (new 'static 'array uint8 16 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3 #x3) :view-frustum-radius 81920.0 :root-prim-radius 81920.0 :desired-spring-len 4096.0 @@ -203,8 +202,7 @@ (new 'static 'ropebridge-tuning :num-springs 18 :num-spring-points 19 - :col-mesh-indexes - (new 'static 'array uint8 32 + :col-mesh-indexes (new 'static 'array uint8 32 #x3 #x3 #x3 @@ -258,8 +256,7 @@ (new 'static 'ropebridge-tuning :num-springs 26 :num-spring-points 27 - :col-mesh-indexes - (new 'static 'array uint8 32 + :col-mesh-indexes (new 'static 'array uint8 32 #x3 #x3 #x3 @@ -313,8 +310,7 @@ (new 'static 'ropebridge-tuning :num-springs 35 :num-spring-points 36 - :col-mesh-indexes - (new 'static 'array uint8 48 + :col-mesh-indexes (new 'static 'array uint8 48 #x3 #x3 #x3 @@ -384,8 +380,7 @@ (new 'static 'ropebridge-tuning :num-springs 18 :num-spring-points 19 - :col-mesh-indexes - (new 'static 'array uint8 32 + :col-mesh-indexes (new 'static 'array uint8 32 #x3 #x3 #x3 @@ -439,8 +434,7 @@ (new 'static 'ropebridge-tuning :num-springs 18 :num-spring-points 19 - :col-mesh-indexes - (new 'static 'array uint8 32 + :col-mesh-indexes (new 'static 'array uint8 32 #x3 #x3 #x3 @@ -617,8 +611,7 @@ ;; failed to figure out what this is: (defstate ropebridge-idle (ropebridge) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((f0-0 -1.0)) (cond ((= arg2 'bonk) @@ -669,8 +662,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (suspend) (detect-riders! (-> self root-override)) @@ -682,8 +674,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (ja-post) (let ((gp-0 (-> self root-override))) (update-transforms! gp-0) diff --git a/test/decompiler/reference/levels/common/sharkey_REF.gc b/test/decompiler/reference/levels/common/sharkey_REF.gc index 3b63012591..d2c83a2a34 100644 --- a/test/decompiler/reference/levels/common/sharkey_REF.gc +++ b/test/decompiler/reference/levels/common/sharkey_REF.gc @@ -10,8 +10,7 @@ :linger-duration 780 :flags (use-local-clock) :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 124 :flags (is-3d) :period 900 :length 63) + :parts ((sp-item 124 :flags (is-3d) :period 900 :length 63) (sp-item 125 :period 900 :length 15) (sp-item 126 :flags (is-3d) :period 900 :length 15) (sp-item 127 :flags (is-3d) :period 900 :length 15) @@ -192,14 +191,8 @@ nav-enemy-default-event-handler (defbehavior sharkey-notice-player? sharkey () (if *target* (and (< (- (-> *target* control trans y) (-> self y-max)) 0.0) - (let ((gp-0 'racer) - (a1-0 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'mode)) - (!= gp-0 (send-event-function *target* a1-0)) + (let ((gp-0 'racer)) + (!= gp-0 (send-event *target* 'query 'mode)) ) (nav-enemy-test-point-near-nav-mesh? (-> *target* control shadow-pos)) ) @@ -264,24 +257,20 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-idle (sharkey) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior sharkey) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf0)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (cond ((-> self enable-patrol) (if (and (and *target* (>= (-> self enemy-info idle-distance) @@ -318,8 +307,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja :group! (-> self draw art-group data (-> self nav-info idle-anim))) (ja :num-func num-func-identity :frame-num 0.0) @@ -335,32 +323,27 @@ nav-enemy-default-event-handler (anim-loop) (none) ) - :post - (the-as (function none :behavior sharkey) #f) + :post (the-as (function none :behavior sharkey) #f) ) ;; failed to figure out what this is: (defstate nav-enemy-patrol (sharkey) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior sharkey) nav-enemy-default-event-handler ) - :trans - (behavior () + :trans (behavior () (if (sharkey-notice-player?) (go-virtual nav-enemy-chase) ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (set! (-> self nav target-pos quad) (-> self spawn-point quad)) (loop - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info walk-anim)) :num! (seek! max (-> self anim-speed)) :frame-num 0.0 ) @@ -382,8 +365,7 @@ nav-enemy-default-event-handler ) (none) ) - :post - (behavior () + :post (behavior () (nav-enemy-travel-post) (none) ) @@ -392,18 +374,15 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-notice (sharkey) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior sharkey) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (go-virtual nav-enemy-chase) (none) ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-chase) (none) ) @@ -422,13 +401,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-attack (sharkey) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior sharkey) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) @@ -447,61 +424,50 @@ nav-enemy-default-event-handler (ja :num! (seek! (ja-aframe 3.0 0) 2.0)) ) ) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'attack-invinc) - (set! (-> a1-7 param 0) (the-as uint #f)) - (let ((a0-15 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-15 mode) 'sharkey) - (set! (-> a1-7 param 1) (the-as uint a0-15)) - ) - (when (send-event-function *target* a1-7) - (logclear! (-> self mask) (process-mask enemy)) - (vector-float*! (-> self collide-info transv) (-> self collide-info transv) 8.0) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((f30-0 -409600.0) - (f28-0 (-> self collide-info transv y)) - (f26-0 (-> self collide-info trans y)) + (when (send-event *target* 'attack-invinc #f (static-attack-info ((mode 'sharkey)))) + (logclear! (-> self mask) (process-mask enemy)) + (vector-float*! (-> self collide-info transv) (-> self collide-info transv) 8.0) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (let ((f30-0 -409600.0) + (f28-0 (-> self collide-info transv y)) + (f26-0 (-> self collide-info trans y)) + ) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) + (ja-no-eval :group! sharkey-chomp-ja :num! (seek!) :frame-num (ja-aframe 3.0 0)) + (until (ja-done? 0) + (+! f28-0 (* f30-0 (-> *display* seconds-per-frame))) + (+! f26-0 (* f28-0 (-> *display* seconds-per-frame))) + (set! (-> self collide-info transv y) f28-0) + (when (< (-> self collide-info trans y) (-> self water height)) + (set! f28-0 (* 0.9 f28-0)) + (vector-float*! (-> self collide-info transv) (-> self collide-info transv) 0.9) ) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) - (ja-no-eval :group! sharkey-chomp-ja :num! (seek!) :frame-num (ja-aframe 3.0 0)) - (until (ja-done? 0) - (+! f28-0 (* f30-0 (-> *display* seconds-per-frame))) - (+! f26-0 (* f28-0 (-> *display* seconds-per-frame))) - (set! (-> self collide-info transv y) f28-0) - (when (< (-> self collide-info trans y) (-> self water height)) - (set! f28-0 (* 0.9 f28-0)) - (vector-float*! (-> self collide-info transv) (-> self collide-info transv) 0.9) - ) - (vector-normalize-copy! (-> self dir) (-> self collide-info transv) 1.0) - (forward-up->quaternion (-> self collide-info quat) (-> self dir) *up-vector*) - (integrate-for-enemy-with-move-to-ground! - (-> self collide-info) - (-> self collide-info transv) - (collide-kind background) - 8192.0 - #t - #f - #f - ) - (set! (-> self collide-info trans y) f26-0) - (suspend) - (ja :num! (seek!)) + (vector-normalize-copy! (-> self dir) (-> self collide-info transv) 1.0) + (forward-up->quaternion (-> self collide-info quat) (-> self dir) *up-vector*) + (integrate-for-enemy-with-move-to-ground! + (-> self collide-info) + (-> self collide-info transv) + (collide-kind background) + 8192.0 + #t + #f + #f ) + (set! (-> self collide-info trans y) f26-0) + (suspend) + (ja :num! (seek!)) ) ) - (send-event *target* 'end-mode) - (set! (-> self mask) (logior (process-mask enemy) (-> self mask))) ) + (send-event *target* 'end-mode) + (set! (-> self mask) (logior (process-mask enemy) (-> self mask))) ) (sharkey-reset-position) (logior! (-> self draw status) (draw-status hidden)) (go-virtual nav-enemy-idle) (none) ) - :post - (behavior () + :post (behavior () (nav-enemy-simple-post) (none) ) @@ -510,18 +476,15 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-chase (sharkey) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior sharkey) nav-enemy-default-event-handler ) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self sound-id)) (none) ) - :trans - (behavior () + :trans (behavior () (if (not *target*) (go-virtual nav-enemy-patrol) ) @@ -571,14 +534,12 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self player-water-time) (-> *display* base-frame-counter)) (ja-channel-push! 1 (seconds 0.17)) (sound-play-by-name (static-sound-name "bigshark-idle") (new-sound-id) 1024 0 0 1 #t) (loop - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info run-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info run-anim)) :num! (seek! max (-> self anim-speed)) :frame-num 0.0 ) @@ -590,8 +551,7 @@ nav-enemy-default-event-handler ) (none) ) - :post - (behavior () + :post (behavior () (sharkey-get-player-position (-> self nav target-pos)) (nav-enemy-travel-post) (let* ((f3-0 (vector-vector-distance (-> self collide-info trans) (-> self nav target-pos))) @@ -615,17 +575,14 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-stop-chase (sharkey) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior sharkey) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.17)) (loop - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info walk-anim)) :num! (seek! max (-> self anim-speed)) :frame-num 0.0 ) @@ -643,13 +600,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-stare (sharkey) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior sharkey) nav-enemy-default-event-handler ) - :trans - (behavior () + :trans (behavior () (if (TODO-RENAME-46 self (-> self nav-info notice-distance)) (go-virtual nav-enemy-chase) ) @@ -658,8 +613,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.17)) (ja :group! (-> self draw art-group data (-> self nav-info idle-anim))) (ja :num-func num-func-identity :frame-num 0.0) @@ -676,17 +630,14 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-victory (sharkey) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior sharkey) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (dotimes (gp-0 3) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info victory-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info victory-anim)) :num! (seek! max (-> self anim-speed)) :frame-num 0.0 ) diff --git a/test/decompiler/reference/levels/common/water-anim_REF.gc b/test/decompiler/reference/levels/common/water-anim_REF.gc index b20cf561bb..d786cc15a9 100644 --- a/test/decompiler/reference/levels/common/water-anim_REF.gc +++ b/test/decompiler/reference/levels/common/water-anim_REF.gc @@ -351,177 +351,135 @@ ;; definition for symbol *water-anim-look*, type (array water-anim-look) (define *water-anim-look* (the-as (array water-anim-look) - (new - 'static - 'boxed-array - :type water-anim-look :length 48 :allocated-length 48 + (new 'static 'boxed-array :type water-anim-look (new 'static 'water-anim-look :skel-group '*water-anim-sunken-big-room-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 70 :fo-max 80) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 70 :fo-max 80) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-first-room-from-entrance-sg* + :skel-group '*water-anim-sunken-first-room-from-entrance-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 50 :fo-max 60) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 50 :fo-max 60) ) (new 'static 'water-anim-look :skel-group '*water-anim-sunken-qbert-room-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 48 :fo-max 58) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 48 :fo-max 58) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-first-right-branch-sg* + :skel-group '*water-anim-sunken-first-right-branch-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 30 :fo-max 40) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 30 :fo-max 40) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-circular-with-bullys-sg* + :skel-group '*water-anim-sunken-circular-with-bullys-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 15 :fo-max 25) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 15 :fo-max 25) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-hall-with-one-whirlpool-sg* + :skel-group '*water-anim-sunken-hall-with-one-whirlpool-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 27 :fo-max 37) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 27 :fo-max 37) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-hall-with-three-whirlpools-sg* + :skel-group '*water-anim-sunken-hall-with-three-whirlpools-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 26 :fo-max 36) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 26 :fo-max 36) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-start-of-helix-slide-sg* + :skel-group '*water-anim-sunken-start-of-helix-slide-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 25 :fo-max 35) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 25 :fo-max 35) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-room-above-exit-chamber-sg* + :skel-group '*water-anim-sunken-room-above-exit-chamber-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 45 :fo-max 55) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 45 :fo-max 55) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-hall-before-big-room-sg* + :skel-group '*water-anim-sunken-hall-before-big-room-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 20 :fo-max 30) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 20 :fo-max 30) ) (new 'static 'water-anim-look :skel-group '*water-anim-sunken-dark-eco-qbert-sg* :anim 6 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 40 :fo-max 50) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 40 :fo-max 50) ) (new 'static 'water-anim-look :skel-group '*water-anim-sunken-short-piece-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 20 :fo-max 30) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 20 :fo-max 30) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-big-room-upper-water-sg* + :skel-group '*water-anim-sunken-big-room-upper-water-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "water-loop" :fo-min 27 :fo-max 37) + :ambient-sound-spec (static-sound-spec "water-loop" :fo-min 27 :fo-max 37) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-dark-eco-platform-room-sg* + :skel-group '*water-anim-sunken-dark-eco-platform-room-sg* :anim 6 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 22 :fo-max 32) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 22 :fo-max 32) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-maincave-water-with-crystal-sg* + :skel-group '*water-anim-maincave-water-with-crystal-sg* :anim 2 :ambient-sound-spec #f ) (new 'static 'water-anim-look :skel-group '*water-anim-maincave-center-pool-sg* :anim 10 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 70 :fo-max 80) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 70 :fo-max 80) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-maincave-lower-right-pool-sg* + :skel-group '*water-anim-maincave-lower-right-pool-sg* :anim 10 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 40 :fo-max 50) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 40 :fo-max 50) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-maincave-mid-right-pool-sg* + :skel-group '*water-anim-maincave-mid-right-pool-sg* :anim 10 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 37 :fo-max 47) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 37 :fo-max 47) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-maincave-lower-left-pool-sg* + :skel-group '*water-anim-maincave-lower-left-pool-sg* :anim 10 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 20 :fo-max 30) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 20 :fo-max 30) ) (new 'static 'water-anim-look :skel-group '*water-anim-maincave-mid-left-pool-sg* :anim 10 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 51 :fo-max 61) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 51 :fo-max 61) ) (new 'static 'water-anim-look :skel-group '*water-anim-robocave-main-pool-sg* :anim 3 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 54 :fo-max 64) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 54 :fo-max 64) ) (new 'static 'water-anim-look :skel-group '*water-anim-misty-mud-by-arena-sg* :anim 24 :ambient-sound-spec #f) (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-above-skeleton-sg* + :skel-group '*water-anim-misty-mud-above-skeleton-sg* :anim 24 :ambient-sound-spec #f ) (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-behind-skeleton-sg* + :skel-group '*water-anim-misty-mud-behind-skeleton-sg* :anim 24 :ambient-sound-spec #f ) (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-above-skull-back-sg* + :skel-group '*water-anim-misty-mud-above-skull-back-sg* :anim 24 :ambient-sound-spec #f ) (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-above-skull-front-sg* + :skel-group '*water-anim-misty-mud-above-skull-front-sg* :anim 24 :ambient-sound-spec #f ) (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-other-near-skull-sg* + :skel-group '*water-anim-misty-mud-other-near-skull-sg* :anim 24 :ambient-sound-spec #f ) @@ -537,48 +495,40 @@ ) (new 'static 'water-anim-look :skel-group '*water-anim-misty-mud-by-dock-sg* :anim 24 :ambient-sound-spec #f) (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-island-near-dock-sg* + :skel-group '*water-anim-misty-mud-island-near-dock-sg* :anim 24 :ambient-sound-spec #f ) (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-lonely-island-sg* + :skel-group '*water-anim-misty-mud-lonely-island-sg* :anim 24 :ambient-sound-spec #f ) (new 'static 'water-anim-look :skel-group '*water-anim-misty-dark-eco-pool-sg* :anim 24 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 17 :fo-max 27) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 17 :fo-max 27) ) (new 'static 'water-anim-look :skel-group '*water-anim-ogre-lava-sg* :anim 2 :ambient-sound-spec #f) (new 'static 'water-anim-look :skel-group '*water-anim-jungle-river-sg* :anim 3 :ambient-sound-spec #f) (new 'static 'water-anim-look :skel-group '*water-anim-village3-lava-sg* :anim 3 :ambient-sound-spec #f) (new 'static 'water-anim-look :skel-group '*water-anim-training-lake-sg* :anim 2 :ambient-sound-spec #f) (new 'static 'water-anim-look - :skel-group - '*water-anim-darkcave-water-with-crystal-sg* + :skel-group '*water-anim-darkcave-water-with-crystal-sg* :anim 2 :ambient-sound-spec #f ) (new 'static 'water-anim-look :skel-group '*water-anim-rolling-water-back-sg* :anim 4 :ambient-sound-spec #f) (new 'static 'water-anim-look :skel-group '*water-anim-rolling-water-front-sg* :anim 4 :ambient-sound-spec #f) (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-dark-eco-helix-room-sg* + :skel-group '*water-anim-sunken-dark-eco-helix-room-sg* :anim 6 - :ambient-sound-spec - (static-sound-spec "helix-dark-eco" :fo-min 120 :fo-max 130) + :ambient-sound-spec (static-sound-spec "helix-dark-eco" :fo-min 120 :fo-max 130) ) (new 'static 'water-anim-look - :skel-group - '*water-anim-finalboss-dark-eco-pool-sg* + :skel-group '*water-anim-finalboss-dark-eco-pool-sg* :anim 2 - :ambient-sound-spec - (static-sound-spec "darkeco-pool" :fo-min 19 :fo-max 29) + :ambient-sound-spec (static-sound-spec "darkeco-pool" :fo-min 19 :fo-max 29) ) (new 'static 'water-anim-look :skel-group '*water-anim-lavatube-energy-lava-sg* @@ -588,14 +538,12 @@ (new 'static 'water-anim-look :skel-group '*water-anim-village1-rice-paddy-sg* :anim 8 :ambient-sound-spec #f) (new 'static 'water-anim-look :skel-group '*water-anim-village1-fountain-sg* :anim 8 :ambient-sound-spec #f) (new 'static 'water-anim-look - :skel-group - '*water-anim-village1-rice-paddy-mid-sg* + :skel-group '*water-anim-village1-rice-paddy-mid-sg* :anim 8 :ambient-sound-spec #f ) (new 'static 'water-anim-look - :skel-group - '*water-anim-village1-rice-paddy-top-sg* + :skel-group '*water-anim-village1-rice-paddy-top-sg* :anim 8 :ambient-sound-spec #f ) @@ -607,8 +555,7 @@ ;; failed to figure out what this is: (defstate water-vol-idle (water-anim) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'move-to) (set! (-> self root trans quad) (-> (the-as vector (-> arg3 param 0)) quad)) @@ -624,8 +571,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (let ((t9-0 (-> (method-of-type water-vol water-vol-idle) trans))) (if t9-0 (t9-0) @@ -640,8 +586,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-post) (logior! (-> self mask) (process-mask sleep-code)) diff --git a/test/decompiler/reference/levels/darkcave/darkcave-obs_REF.gc b/test/decompiler/reference/levels/darkcave/darkcave-obs_REF.gc index 6dc986790d..f3787e726c 100644 --- a/test/decompiler/reference/levels/darkcave/darkcave-obs_REF.gc +++ b/test/decompiler/reference/levels/darkcave/darkcave-obs_REF.gc @@ -115,16 +115,14 @@ ;; failed to figure out what this is: (defstate cavecrystal-idle (cavecrystal) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (go cavecrystal-active) ) ) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 40960.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) (level-hint-spawn (game-text-id darkcave-light-crystal-hint) @@ -137,8 +135,7 @@ (update-connected-crystals! self) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 @@ -148,8 +145,7 @@ ;; failed to figure out what this is: (defstate cavecrystal-active (cavecrystal) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'attack) (let ((v1-1 (-> arg3 param 2))) @@ -168,23 +164,20 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self activated-time) (-> *display* game-frame-counter)) (set! (-> self prev-compute-glow-time) (-> *display* game-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (if (not (-> self is-master?)) (logior! (-> self mask) (process-mask actor-pause)) ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (compute-glow self))) (set! (-> self glow-u) f30-0) (let ((gp-0 (new 'stack-no-clear 'vector)) @@ -223,8 +216,7 @@ (update! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 diff --git a/test/decompiler/reference/levels/demo/demo-obs_REF.gc b/test/decompiler/reference/levels/demo/demo-obs_REF.gc index 4c3b1f11b4..08886be20a 100644 --- a/test/decompiler/reference/levels/demo/demo-obs_REF.gc +++ b/test/decompiler/reference/levels/demo/demo-obs_REF.gc @@ -3,10 +3,8 @@ ;; failed to figure out what this is: (defstate target-demo (target) - :event - target-generic-event-handler - :code - (behavior () + :event target-generic-event-handler + :code (behavior () (if *time-of-day-proc* (set! (-> *time-of-day-proc* 0 hour) 12) ) @@ -134,24 +132,15 @@ ) ) ) - (let ((gp-17 (get-process *default-dead-pool* process #x4000))) - (when gp-17 - (let ((t9-26 (method-of-type process activate))) - (t9-26 gp-17 *default-pool* 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process gp-17 (lambda () - (set! (-> *setting-control* default bg-a) 0.0) - (start 'play (get-continue-by-name *game-info* "village1-demo-convo")) - ) - ) - (-> gp-17 ppointer) - ) - ) + (process-spawn-function process (lambda () + (set! (-> *setting-control* default bg-a) 0.0) + (start 'play (get-continue-by-name *game-info* "village1-demo-convo")) + ) + ) (loop (suspend) ) (none) ) - :post - target-no-move-post + :post target-no-move-post ) diff --git a/test/decompiler/reference/levels/demo/static-screen_REF.gc b/test/decompiler/reference/levels/demo/static-screen_REF.gc index 2e8ad27cd0..6e4ba150d5 100644 --- a/test/decompiler/reference/levels/demo/static-screen_REF.gc +++ b/test/decompiler/reference/levels/demo/static-screen_REF.gc @@ -57,8 +57,7 @@ ;; failed to figure out what this is: (defpart 2966 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x5c6)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x5c6)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1.18)) (sp-flt spt-scale-x (meters 15)) @@ -74,8 +73,7 @@ ;; failed to figure out what this is: (defpart 2967 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x5c6)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x5c6)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -1.264)) (sp-flt spt-scale-x (meters 15)) @@ -91,8 +89,7 @@ ;; failed to figure out what this is: (defpart 2968 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x5c6)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x5c6)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -2.482)) (sp-flt spt-scale-x (meters 15)) @@ -111,29 +108,25 @@ :id 707 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2966 :flags (launch-asap)) (sp-item 2967 :flags (launch-asap)) (sp-item 2968 :flags (launch-asap))) + :parts ((sp-item 2966 :flags (launch-asap)) (sp-item 2967 :flags (launch-asap)) (sp-item 2968 :flags (launch-asap))) ) ;; failed to figure out what this is: (defstate idle (static-screen) :virtual #t - :enter - (behavior ((arg0 int) (arg1 time-frame) (arg2 symbol)) + :enter (behavior ((arg0 int) (arg1 time-frame) (arg2 symbol)) (set! (-> *setting-control* current bg-a) 1.0) (set! (-> *setting-control* default bg-a) 0.0) (push-setting! *setting-control* self 'common-page 'set 0.0 (ash 1 (+ arg0 1))) (none) ) - :trans - (behavior () + :trans (behavior () (hide-hud-quick) (spawn (-> self part 0) *zero-vector*) 0 (none) ) - :code - (behavior ((arg0 int) (arg1 time-frame) (arg2 symbol)) + :code (behavior ((arg0 int) (arg1 time-frame) (arg2 symbol)) (local-vars (v1-6 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (until v1-6 diff --git a/test/decompiler/reference/levels/finalboss/final-door_REF.gc b/test/decompiler/reference/levels/finalboss/final-door_REF.gc index 4d72292e7e..b200fc3e7e 100644 --- a/test/decompiler/reference/levels/finalboss/final-door_REF.gc +++ b/test/decompiler/reference/levels/finalboss/final-door_REF.gc @@ -88,16 +88,14 @@ ;; failed to figure out what this is: (defstate idle (final-door) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('open) (go-virtual open #f) ) ) ) - :code - (behavior () + :code (behavior () (transform-post) (logior! (-> self mask) (process-mask sleep)) (suspend) @@ -109,8 +107,7 @@ ;; failed to figure out what this is: (defstate open (final-door) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'brightness) (let ((f0-0 (the-as float (-> arg3 param 0))) @@ -129,8 +126,7 @@ ) ) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (case (-> self type) ((power-left) (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 0.353) :frame-num 0.0) @@ -222,8 +218,7 @@ ;; failed to figure out what this is: (defstate idle (power-left) :virtual #t - :code - (behavior () + :code (behavior () (ja-post) (loop (if (and (and *target* (>= 61440.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) @@ -297,8 +292,7 @@ ;; failed to figure out what this is: (defstate jump (powercellalt) :virtual #t - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "cell-prize") (new-sound-id) 1024 0 0 1 #t) (let ((gp-1 (new 'stack 'trajectory))) (set! (-> self base y) (-> self jump-pos y)) @@ -320,23 +314,16 @@ (set! (-> self base quad) (-> self root-override trans quad)) (transform-post) (sound-play-by-name (static-sound-name "land-pcmetal") (new-sound-id) 1024 3048 0 1 #t) - (let ((gp-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-3 - (let ((t9-12 (method-of-type part-tracker activate))) - (t9-12 (the-as part-tracker gp-3) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-3 - part-tracker-init - (-> *part-group-id-table* 4) - -1 - #f - #f - #f - (-> self root-override root-prim prim-core) - ) - (-> gp-3 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 4) + -1 + #f + #f + #f + (-> self root-override root-prim prim-core) + :to *entity-pool* ) (go-virtual idle) (none) @@ -346,8 +333,7 @@ ;; failed to figure out what this is: (defstate idle (powercellalt) :virtual #t - :code - (behavior () + :code (behavior () (loop (vector<-cspace! (-> self root-override trans) @@ -396,33 +382,28 @@ ;; failed to figure out what this is: (defstate target-final-door (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) ((-> target-grab event) arg0 arg1 arg2 arg3) ) - :enter - (behavior ((arg0 basic) (arg1 handle)) + :enter (behavior ((arg0 basic) (arg1 handle)) (send-event *camera* 'change-to-entity-by-name "camera-403") (set! (-> self control unknown-surface00) *empty-mods*) (logior! (-> self state-flags) (state-flags sf04 sf08)) (set-setting! *setting-control* self 'allow-progress #f 0.0 0) (none) ) - :exit - (behavior () - (send-event *camera* 'change-state *camera-base-mode* 60) + :exit (behavior () + (send-event *camera* 'change-state *camera-base-mode* (seconds 0.2)) (logclear! (-> self state-flags) (state-flags sf04 sf08)) (target-exit) (clear-pending-settings-from-process *setting-control* self 'allow-progress) (none) ) - :trans - (behavior () + :trans (behavior () (set-letterbox-frames (seconds 0.017)) (none) ) - :code - (behavior ((arg0 basic) (arg1 handle)) + :code (behavior ((arg0 basic) (arg1 handle)) (local-vars (sv-144 process) (sv-160 vector) (sv-176 process) (sv-192 vector)) (let ((a0-2 (get-task-control (game-task finalboss-movies)))) (save-reminder a0-2 (logior (get-reminder a0-2 0) 2) 0) @@ -510,6 +491,5 @@ (go target-stance) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) diff --git a/test/decompiler/reference/levels/finalboss/green-eco-lurker_REF.gc b/test/decompiler/reference/levels/finalboss/green-eco-lurker_REF.gc index 78f32292ae..703cf903ea 100644 --- a/test/decompiler/reference/levels/finalboss/green-eco-lurker_REF.gc +++ b/test/decompiler/reference/levels/finalboss/green-eco-lurker_REF.gc @@ -119,8 +119,7 @@ :use-proximity-notice #f :use-jump-blocked #t :use-jump-patrol #f - :gnd-collide-with - (collide-kind background cak-2 ground-object) + :gnd-collide-with (collide-kind background cak-2 ground-object) :debug-draw-neck #f :debug-draw-jump #f ) @@ -132,8 +131,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2585 :fade-after (meters 100) :period 600 :length 5 :binding 2583) + :parts ((sp-item 2585 :fade-after (meters 100) :period 600 :length 5 :binding 2583) (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) (sp-item 2584 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead)) (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) @@ -175,8 +173,7 @@ ;; failed to figure out what this is: (defpart 2587 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -201,14 +198,12 @@ ;; failed to figure out what this is: (defpart 2590 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) ) ;; failed to figure out what this is: (defpart 2589 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-scale-x (meters 0.2)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) @@ -226,8 +221,7 @@ ;; failed to figure out what this is: (defpart 2586 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 16)) (sp-copy-from-other spt-scale-y -4) @@ -243,8 +237,7 @@ ;; failed to figure out what this is: (defpart 2588 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -269,8 +262,7 @@ ;; failed to figure out what this is: (defpart 2585 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 16.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 0.1)) @@ -288,8 +280,7 @@ ;; failed to figure out what this is: (defpart 2583 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.3) (meters 0.3) 1.0) @@ -314,8 +305,7 @@ ;; failed to figure out what this is: (defpart 2584 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -433,43 +423,36 @@ ;; failed to figure out what this is: (defstate green-eco-lurker-tune-spheres (green-eco-lurker) - :trans - (behavior () + :trans (behavior () 0 (none) ) - :code - (behavior () + :code (behavior () 0 (none) ) - :post - (the-as (function none :behavior green-eco-lurker) transform-post) + :post (the-as (function none :behavior green-eco-lurker) transform-post) ) ;; failed to figure out what this is: (defstate green-eco-lurker-wait-to-appear (green-eco-lurker) - :enter - (behavior () + :enter (behavior () (logior! (-> self draw status) (draw-status hidden)) (clear-collide-with-as (-> self collide-info)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (restore-collide-with-as (-> self collide-info)) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-52 self (-> self appear-dest)) (go green-eco-lurker-appear) ) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -513,8 +496,7 @@ ;; failed to figure out what this is: (defstate green-eco-lurker-appear (green-eco-lurker) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self played-sound?) #f) (set! (-> self sound-delay) (nav-enemy-rnd-int-range 30 150)) @@ -530,14 +512,16 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self collide-info trans quad)) (set! (-> gp-0 y) (+ 8192.0 (-> gp-0 y))) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 643) -1 #f #f #f gp-0) - (-> s5-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 643) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (let ((gp-1 (new 'stack-no-clear 'vector))) @@ -548,8 +532,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (fmin (the float (- (-> *display* base-frame-counter) (-> self state-time))) (-> self traj time)))) (eval-position! (-> self traj) f30-0 (-> self collide-info trans)) (when (= f30-0 (-> self traj time)) @@ -576,8 +559,7 @@ 0 (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (sound-play-by-name (static-sound-name "blob-out") @@ -610,19 +592,16 @@ ) (none) ) - :post - (the-as (function none :behavior green-eco-lurker) transform-post) + :post (the-as (function none :behavior green-eco-lurker) transform-post) ) ;; failed to figure out what this is: (defstate green-eco-lurker-appear-land (green-eco-lurker) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior green-eco-lurker) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (activate! *camera-smush-control* 409.6 37 150 1.0 0.99) (sound-play-by-name (static-sound-name "blob-land") @@ -657,15 +636,13 @@ (go-virtual nav-enemy-chase) (none) ) - :post - (the-as (function none :behavior green-eco-lurker) transform-post) + :post (the-as (function none :behavior green-eco-lurker) transform-post) ) ;; failed to figure out what this is: (defstate nav-enemy-patrol (green-eco-lurker) :virtual #t - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-patrol) code))) (if t9-1 @@ -679,15 +656,13 @@ ;; failed to figure out what this is: (defstate nav-enemy-chase (green-eco-lurker) :virtual #t - :code - (behavior () + :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (cond ((ja-group? green-eco-lurker-jump-land-ja) (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info run-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info run-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -715,12 +690,10 @@ ;; failed to figure out what this is: (defstate nav-enemy-jump-land (green-eco-lurker) :virtual #t - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.075)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info jump-land-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info jump-land-anim)) :num! (seek! (ja-aframe 32.0 0) 0.5) :frame-num 0.0 ) @@ -737,26 +710,18 @@ ;; failed to figure out what this is: (defstate nav-enemy-die (green-eco-lurker) :virtual #t - :enter - (behavior () + :enter (behavior () (send-event (ppointer->process (-> self parent)) 'blob-died) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 643) - -1 - #f - #f - #f - (-> self collide-info trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 643) + -1 + #f + #f + #f + (-> self collide-info trans) + :to *entity-pool* ) (sound-play-by-name (static-sound-name "blob-explode") (new-sound-id) 1024 0 0 1 #t) (activate! *camera-smush-control* 409.6 37 150 1.0 0.99) @@ -887,8 +852,7 @@ ;; failed to figure out what this is: (defstate spawn-minions (green-eco-lurker-gen) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('blob-died) (set! (-> self num-alive) (max 0 (+ (-> self num-alive) -1))) @@ -899,8 +863,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (while (< (-> self num-spawned) (-> self num-to-spawn)) (when (< (-> self num-alive) 3) (when (nonzero? (-> self num-spawned)) @@ -912,15 +875,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self root trans quad)) (set! (-> gp-0 y) (+ -16384.0 (-> gp-0 y))) - (let ((s5-0 (get-process *default-dead-pool* green-eco-lurker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type green-eco-lurker activate))) - (t9-1 (the-as green-eco-lurker s5-0) self 'green-eco-lurker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 green-eco-lurker-init-by-other (-> self entity) self gp-0) - (-> s5-0 ppointer) - ) - ) + (process-spawn green-eco-lurker (-> self entity) self gp-0 :to self) ) (+! (-> self num-spawned) 1) (+! (-> self num-alive) 1) diff --git a/test/decompiler/reference/levels/finalboss/light-eco_REF.gc b/test/decompiler/reference/levels/finalboss/light-eco_REF.gc index 6e522e2a87..e40a6940d4 100644 --- a/test/decompiler/reference/levels/finalboss/light-eco_REF.gc +++ b/test/decompiler/reference/levels/finalboss/light-eco_REF.gc @@ -100,14 +100,12 @@ :id 690 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 32) - :parts - ((sp-item 2902) (sp-item 2900) (sp-item 2897) (sp-item 2898)) + :parts ((sp-item 2902) (sp-item 2900) (sp-item 2897) (sp-item 2898)) ) ;; failed to figure out what this is: (defpart 2897 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-scale-x (meters 10.5) (meters 4.5) 1.0) (sp-int spt-rot-x 4) @@ -130,14 +128,12 @@ ;; failed to figure out what this is: (defpart 2899 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) ;; failed to figure out what this is: (defpart 2898 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-scale-x (meters 20) (meters 4.5) 1.0) (sp-int spt-rot-x 4) @@ -159,8 +155,7 @@ ;; failed to figure out what this is: (defpart 2900 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) @@ -186,14 +181,12 @@ ;; failed to figure out what this is: (defpart 2901 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) ;; failed to figure out what this is: (defpart 2902 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 8.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -220,8 +213,7 @@ ;; failed to figure out what this is: (defpart 2903 - :init-specs - ((sp-flt spt-userdata 2252800.0)) + :init-specs ((sp-flt spt-userdata 2252800.0)) ) ;; definition for function check-drop-level-lighteco-big-pops @@ -253,8 +245,7 @@ ;; failed to figure out what this is: (defpart 2905 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -271,8 +262,7 @@ ;; failed to figure out what this is: (defpart 2904 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 4.0 4.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -295,8 +285,7 @@ :id 691 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 32) - :parts - ((sp-item 2902) (sp-item 2900) (sp-item 2897) (sp-item 2898)) + :parts ((sp-item 2902) (sp-item 2900) (sp-item 2897) (sp-item 2898)) ) ;; failed to figure out what this is: @@ -304,14 +293,12 @@ :id 692 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 2906) (sp-item 2907)) + :parts ((sp-item 2906) (sp-item 2907)) ) ;; failed to figure out what this is: (defpart 2907 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.025 0.025 1.0) (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) @@ -337,14 +324,12 @@ ;; failed to figure out what this is: (defpart 2908 - :init-specs - ((sp-flt spt-fade-a -0.85333335)) + :init-specs ((sp-flt spt-fade-a -0.85333335)) ) ;; failed to figure out what this is: (defpart 2906 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -370,8 +355,7 @@ ;; failed to figure out what this is: (defpart 2909 - :init-specs - ((sp-flt spt-userdata 2048000.0)) + :init-specs ((sp-flt spt-userdata 2048000.0)) ) ;; definition for function check-drop-level-lighteco-pops @@ -403,8 +387,7 @@ ;; failed to figure out what this is: (defpart 2911 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -421,8 +404,7 @@ ;; failed to figure out what this is: (defpart 2910 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 4.0 4.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -476,15 +458,12 @@ ;; failed to figure out what this is: (defstate light-eco-child-appear (light-eco-child) - :event - light-eco-child-default-event-handler - :enter - (behavior () + :event light-eco-child-default-event-handler + :enter (behavior () (set! (-> self falling-start-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (fmin (the float (- (-> *display* base-frame-counter) (-> self falling-start-time))) (-> self traj time)) ) @@ -497,29 +476,24 @@ (common-trans self) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (ja :num! (loop!)) ) (none) ) - :post - (the-as (function none :behavior light-eco-child) transform-post) + :post (the-as (function none :behavior light-eco-child) transform-post) ) ;; failed to figure out what this is: (defstate light-eco-child-hit-ground (light-eco-child) - :event - light-eco-child-default-event-handler - :enter - (behavior () + :event light-eco-child-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (+ (-> self root-override transv y) (* -544768.0 (-> *display* seconds-per-frame))))) (when (and (< f30-0 0.0) (>= (-> self ground-y) (-> self root-override trans y))) (if (>= 4096.0 (fabs f30-0)) @@ -552,51 +526,43 @@ (common-trans self) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (ja :num! (loop!)) ) (none) ) - :post - (the-as (function none :behavior light-eco-child) transform-post) + :post (the-as (function none :behavior light-eco-child) transform-post) ) ;; failed to figure out what this is: (defstate light-eco-child-idle (light-eco-child) - :event - light-eco-child-default-event-handler - :enter - (behavior () + :event light-eco-child-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 4)) (go light-eco-child-die) ) (common-trans self) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (ja :num! (loop!)) ) (none) ) - :post - (the-as (function none :behavior light-eco-child) transform-post) + :post (the-as (function none :behavior light-eco-child) transform-post) ) ;; failed to figure out what this is: (defstate light-eco-child-die (light-eco-child) - :code - (behavior () + :code (behavior () (send-event (ppointer->process (-> self parent)) 'untrigger (-> self angle-bit)) (clear-collide-with-as (-> self root-override)) (logior! (-> self draw status) (draw-status hidden)) @@ -610,8 +576,7 @@ ;; failed to figure out what this is: (defstate light-eco-child-grabbed (light-eco-child) - :code - (behavior () + :code (behavior () (suspend) 0 (none) @@ -729,15 +694,7 @@ (set! (-> s4-0 y) 1974272.0) (when (or (not *target*) (>= (vector-vector-xz-distance s4-0 (target-pos 0)) 49152.0)) (logior! (-> obj angle-mask) (ash 1 gp-0)) - (let ((s3-1 (get-process *default-dead-pool* light-eco-child #x4000))) - (when s3-1 - (let ((t9-7 (method-of-type light-eco-child activate))) - (t9-7 (the-as light-eco-child s3-1) obj 'light-eco-child (the-as pointer #x70004000)) - ) - (run-now-in-process s3-1 light-eco-child-init-by-other (-> obj entity) (-> obj root trans) s4-0 gp-0) - (-> s3-1 ppointer) - ) - ) + (process-spawn light-eco-child (-> obj entity) (-> obj root trans) s4-0 gp-0 :to obj) (return #t) ) ) @@ -751,50 +708,44 @@ ;; INFO: Return type mismatch object vs int. (defbehavior light-eco-mother-default-event-handler light-eco-mother ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as int (cond - ((= v1-0 'untrigger) - (the-as int (when (= (-> arg0 type) light-eco-child) - (let* ((a1-3 (-> arg3 param 0)) - (v0-0 (logxor (-> self angle-mask) (ash 1 a1-3))) - ) - (set! (-> self angle-mask) v0-0) - v0-0 - ) - ) - ) - ) - ((= v1-0 'trigger) - (the-as int (when (not (-> self player-got-eco?)) - (set! (-> self player-got-eco?) #t) - (let ((a1-5 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-5 from) self) - (set! (-> a1-5 num-params) 0) - (set! (-> a1-5 message) 'white-eco-picked-up) - (the-as int (send-event-function (ppointer->process (-> self parent)) a1-5)) - ) - ) - ) - ) - ((= v1-0 'beam-off) - (the-as int (go light-eco-mother-discipate)) - ) - ) - ) + (the-as + int + (cond + ((= v1-0 'untrigger) + (the-as int (when (= (-> arg0 type) light-eco-child) + (let* ((a1-3 (-> arg3 param 0)) + (v0-0 (logxor (-> self angle-mask) (ash 1 a1-3))) + ) + (set! (-> self angle-mask) v0-0) + v0-0 + ) + ) + ) + ) + ((= v1-0 'trigger) + (the-as int (when (not (-> self player-got-eco?)) + (set! (-> self player-got-eco?) #t) + (the-as int (send-event (ppointer->process (-> self parent)) 'white-eco-picked-up)) + ) + ) + ) + ((= v1-0 'beam-off) + (the-as int (go light-eco-mother-discipate)) + ) + ) + ) ) ) ;; failed to figure out what this is: (defstate light-eco-mother-appear (light-eco-mother) - :event - light-eco-mother-default-event-handler - :trans - (behavior () + :event light-eco-mother-default-event-handler + :trans (behavior () (common-trans self) (spawn (-> self part2) (-> self root trans)) (none) ) - :code - (behavior () + :code (behavior () (while (!= (-> self root scale x) 12.0) (let ((f0-3 (seek-with-smooth (-> self root scale x) 12.0 (* 6.0 (-> *display* seconds-per-frame)) 0.25 0.001))) (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) @@ -805,44 +756,36 @@ (go light-eco-mother-active) (none) ) - :post - (the-as (function none :behavior light-eco-mother) ja-post) + :post (the-as (function none :behavior light-eco-mother) ja-post) ) ;; failed to figure out what this is: (defstate light-eco-mother-active (light-eco-mother) - :event - light-eco-mother-default-event-handler - :trans - (behavior () + :event light-eco-mother-default-event-handler + :trans (behavior () (common-trans self) (spawn (-> self part) (-> self root trans)) 0 (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (ja :num! (loop!)) ) (none) ) - :post - (the-as (function none :behavior light-eco-mother) ja-post) + :post (the-as (function none :behavior light-eco-mother) ja-post) ) ;; failed to figure out what this is: (defstate light-eco-mother-discipate (light-eco-mother) - :event - light-eco-mother-default-event-handler - :trans - (behavior () + :event light-eco-mother-default-event-handler + :trans (behavior () (common-trans self) (none) ) - :code - (behavior () + :code (behavior () (while (!= (-> self root scale x) 0.0) (let ((f0-3 (seek-with-smooth (-> self root scale x) 0.0 (* 12.0 (-> *display* seconds-per-frame)) 0.5 0.001))) (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) @@ -856,8 +799,7 @@ ) (none) ) - :post - (the-as (function none :behavior light-eco-mother) ja-post) + :post (the-as (function none :behavior light-eco-mother) ja-post) ) ;; definition for method 10 of type light-eco-mother diff --git a/test/decompiler/reference/levels/finalboss/robotboss-h_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss-h_REF.gc index a1967439b1..8c354e403e 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss-h_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss-h_REF.gc @@ -181,16 +181,10 @@ ;; definition for function target-has-all-the-cells? ;; INFO: Return type mismatch basic vs symbol. (defbehavior target-has-all-the-cells? process () - (the-as symbol (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 6)) - (>= (the int (the-as float (send-event-function *target* a1-0))) 100) - ) - ) - ) + (the-as + symbol + (and *target* (>= (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 100)) + ) ) ;; failed to figure out what this is: diff --git a/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc index 151fbff256..6f4e255757 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc @@ -14,8 +14,7 @@ ;; failed to figure out what this is: (defstate cam-robotboss (camera-slave) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('set-pivot) (let ((v0-0 (the-as object (-> self pivot-pt)))) @@ -31,8 +30,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (cond ((-> self enter-has-run) ) @@ -46,16 +44,14 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (when (zero? (logand (-> *camera* master-options) 2)) (set! *camera-base-mode* cam-string) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (when #t (let ((a2-0 (new-stack-vector0))) @@ -247,10 +243,8 @@ ;; failed to figure out what this is: (defstate ecoclaw-activate (ecoclaw) - :event - ecoclaw-handler - :trans - (behavior () + :event ecoclaw-handler + :trans (behavior () (if (-> self particles 1 kind) (draw-eco-beam (the-as vector (&-> self stack 112)) (the-as vector (&-> self stack 144))) ) @@ -262,34 +256,25 @@ ) ) ((-> self particles gp-0 kind) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self particles gp-0 tracker) - (ppointer->handle (when s5-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 (the-as part-tracker s5-0) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - part-tracker-init - (-> self particles gp-0 kind) - -1 - ecoclaw-beam-particle-callback - (-> self ppointer) - #f - (&+ (&-> self stack 80) (* gp-0 32)) - ) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> self particles gp-0 tracker) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> self particles gp-0 kind) + -1 + ecoclaw-beam-particle-callback + (-> self ppointer) + #f + (&+ (&-> self stack 80) (* gp-0 32)) + :to self + ) + ) + ) ) ) ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -300,16 +285,13 @@ ) (none) ) - :post - (the-as (function none :behavior ecoclaw) ja-post) + :post (the-as (function none :behavior ecoclaw) ja-post) ) ;; failed to figure out what this is: (defstate ecoclaw-idle (ecoclaw) - :event - ecoclaw-handler - :code - (behavior () + :event ecoclaw-handler + :code (behavior () (loop (if (-> self particles 0 kind) (go ecoclaw-activate) @@ -318,8 +300,7 @@ ) (none) ) - :post - (the-as (function none :behavior ecoclaw) ja-post) + :post (the-as (function none :behavior ecoclaw) ja-post) ) ;; definition for method 11 of type ecoclaw @@ -369,8 +350,7 @@ ;; failed to figure out what this is: (defstate idle (silodoor) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('open) (let ((f0-0 (the-as float (-> arg3 param 0)))) @@ -383,10 +363,8 @@ ) ) ) - :trans - (the-as (function none :behavior silodoor) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior silodoor) rider-trans) + :code (behavior () (loop (when (not (movie?)) (ja :num! (seek! (* (-> self part-opened) (the float (ja-num-frames 0))) 0.01)) @@ -405,8 +383,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (if (and (< (vector-vector-xz-distance (target-pos 0) (-> self root trans)) 57344.0) (not (ja-min? 0))) (rider-post) (transform-post) @@ -418,8 +395,7 @@ ;; failed to figure out what this is: (defstate hidden (silodoor) :virtual #t - :code - (behavior () + :code (behavior () (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) @@ -547,19 +523,9 @@ ;; INFO: Return type mismatch spool-anim vs basic. (defmethod play-anim! finalbosscam ((obj finalbosscam) (arg0 symbol)) (when arg0 - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj robotboss) - (ppointer->handle - (when s5-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 (the-as manipy s5-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> obj root-override trans) (-> obj entity) *robotboss-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> obj robotboss) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *robotboss-sg* #f :to obj)) + ) (send-event (handle->process (-> obj robotboss)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj robotboss)) 'center-joint 3) (send-event (handle->process (-> obj robotboss)) 'origin-joint-index 3) @@ -595,8 +561,7 @@ ;; failed to figure out what this is: (defstate play-anim (finalbosscam) :virtual #t - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self robotboss)))) (if a0-1 (deactivate a0-1) diff --git a/test/decompiler/reference/levels/finalboss/robotboss-part_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss-part_REF.gc index 8ddd9a1744..6328ac4d86 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss-part_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss-part_REF.gc @@ -6,8 +6,7 @@ :id 636 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 34) - :parts - ((sp-item 2680) + :parts ((sp-item 2680) (sp-item 2545 :binding 2542) (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2543) (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2544) @@ -41,8 +40,7 @@ :id 637 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 34) - :parts - ((sp-item 2681) + :parts ((sp-item 2681) (sp-item 2682 :period 336 :length 5) (sp-item 2682 :period 140 :length 5) (sp-item 2682 :period 61 :length 5) @@ -53,8 +51,7 @@ ;; failed to figure out what this is: (defpart 2681 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 0.1 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) @@ -76,8 +73,7 @@ ;; failed to figure out what this is: (defpart 2683 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters -2.5) (meters 1) 1.0) @@ -111,14 +107,12 @@ ;; failed to figure out what this is: (defpart 2684 - :init-specs - ((sp-flt spt-fade-a -0.07111111)) + :init-specs ((sp-flt spt-fade-a -0.07111111)) ) ;; failed to figure out what this is: (defpart 2549 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.25) (sp-rnd-flt spt-scale-x (meters 5) (meters 8) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -135,8 +129,7 @@ ;; failed to figure out what this is: (defpart 2682 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 2.0 6.0 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.5) 1.0) @@ -163,8 +156,7 @@ ;; failed to figure out what this is: (defpart 2545 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.025) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -185,8 +177,7 @@ ;; failed to figure out what this is: (defpart 2542 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -209,8 +200,7 @@ ;; failed to figure out what this is: (defpart 2543 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -230,8 +220,7 @@ ;; failed to figure out what this is: (defpart 2544 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -251,8 +240,7 @@ ;; failed to figure out what this is: (defpart 2546 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) (sp-rnd-flt spt-scale-y (meters 0.3) (meters 0.4) 1.0) @@ -273,8 +261,7 @@ ;; failed to figure out what this is: (defpart 2548 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.25) (sp-rnd-flt spt-scale-x (meters 6) (meters 3) 1.0) (sp-rnd-flt spt-scale-y (meters 4) (meters 3) 1.0) @@ -295,8 +282,7 @@ ;; failed to figure out what this is: (defpart 2547 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 5) (meters 8) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -313,8 +299,7 @@ ;; failed to figure out what this is: (defpart 2680 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -333,8 +318,7 @@ :id 644 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2591 :period 600 :length 5) + :parts ((sp-item 2591 :period 600 :length 5) (sp-item 2592 :period 600 :length 40) (sp-item 2593 :period 600 :length 40) (sp-item 2594 :period 600 :length 40) @@ -343,8 +327,7 @@ ;; failed to figure out what this is: (defpart 2592 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.8) (meters 1.6) 1.0) @@ -373,14 +356,12 @@ ;; failed to figure out what this is: (defpart 2595 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 2594 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.8)) @@ -402,8 +383,7 @@ ;; failed to figure out what this is: (defpart 2591 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 64)) @@ -420,8 +400,7 @@ ;; failed to figure out what this is: (defpart 2593 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -449,8 +428,7 @@ ;; failed to figure out what this is: (defpart 2596 - :init-specs - ((sp-flt spt-fade-r -2.1333334) + :init-specs ((sp-flt spt-fade-r -2.1333334) (sp-flt spt-fade-g -1.0666667) (sp-flt spt-fade-b 0.0) (sp-int spt-next-time 60) @@ -460,8 +438,7 @@ ;; failed to figure out what this is: (defpart 2597 - :init-specs - ((sp-flt spt-fade-r 0.0) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g -0.28444445) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.42666668) @@ -472,8 +449,7 @@ ;; failed to figure out what this is: (defpart 2598 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: @@ -481,8 +457,7 @@ :id 645 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2685 :period 36 :length 5) + :parts ((sp-item 2685 :period 36 :length 5) (sp-item 2685 :period 140 :length 5) (sp-item 2685 :period 61 :length 5) (sp-item 2599 :period 15 :length 5) @@ -492,8 +467,7 @@ ;; failed to figure out what this is: (defpart 2686 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 4) (meters 16) 1.0) @@ -510,8 +484,7 @@ ;; failed to figure out what this is: (defpart 2599 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -538,8 +511,7 @@ ;; failed to figure out what this is: (defpart 2685 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-int spt-num 0 1 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1) 1.0) @@ -571,14 +543,12 @@ :id 638 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2600 :period 600 :length 5) (sp-item 2602 :period 600 :length 40)) + :parts ((sp-item 2600 :period 600 :length 5) (sp-item 2602 :period 600 :length 40)) ) ;; failed to figure out what this is: (defpart 2600 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 64)) @@ -595,8 +565,7 @@ ;; failed to figure out what this is: (defpart 2602 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 8.0 1.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 8) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -626,8 +595,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2753) + :parts ((sp-item 2753) (sp-item 2754) (sp-item 2755 :fade-after (meters 120) :falloff-to (meters 140) :binding 2752) (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) @@ -650,8 +618,7 @@ ;; failed to figure out what this is: (defpart 2755 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) @@ -668,8 +635,7 @@ ;; failed to figure out what this is: (defpart 2752 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters 2.25)) (sp-rnd-flt spt-scale-x (meters 4) (meters 1) 1.0) @@ -690,8 +656,7 @@ ;; failed to figure out what this is: (defpart 2753 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-flt spt-y (meters 4)) (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 1.0) @@ -709,8 +674,7 @@ ;; failed to figure out what this is: (defpart 2754 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-flt spt-y (meters -3)) (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 1.0) @@ -733,14 +697,12 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2756) (sp-item 2757) (sp-item 2758) (sp-item 2759)) + :parts ((sp-item 2756) (sp-item 2757) (sp-item 2758) (sp-item 2759)) ) ;; failed to figure out what this is: (defpart 2759 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 10) (meters 16) 1.0) @@ -758,8 +720,7 @@ ;; failed to figure out what this is: (defpart 2758 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 16) (meters 6) 1.0) @@ -780,8 +741,7 @@ ;; failed to figure out what this is: (defpart 2757 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 16) (meters 6) 1.0) @@ -802,8 +762,7 @@ ;; failed to figure out what this is: (defpart 2756 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 16) (meters 6) 1.0) @@ -827,8 +786,7 @@ :id 619 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2500 :flags (is-3d) :period 900 :length 5) + :parts ((sp-item 2500 :flags (is-3d) :period 900 :length 5) (sp-item 2501 :period 900 :length 5) (sp-item 2502 :period 900 :length 40) (sp-item 2503 :period 900 :length 20 :binding 2499) @@ -855,8 +813,7 @@ ;; failed to figure out what this is: (defpart 2503 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0) @@ -882,8 +839,7 @@ ;; failed to figure out what this is: (defpart 2499 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -905,14 +861,12 @@ ;; failed to figure out what this is: (defpart 2506 - :init-specs - ((sp-flt spt-fade-r -0.14222223) (sp-flt spt-fade-g -0.14222223) (sp-flt spt-fade-b -0.14222223)) + :init-specs ((sp-flt spt-fade-r -0.14222223) (sp-flt spt-fade-g -0.14222223) (sp-flt spt-fade-b -0.14222223)) ) ;; failed to figure out what this is: (defpart 2502 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 64.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 2.6) (meters 2) 1.0) @@ -941,14 +895,12 @@ ;; failed to figure out what this is: (defpart 2507 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334)) ) ;; failed to figure out what this is: (defpart 2505 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.2) 1.0) @@ -970,8 +922,7 @@ ;; failed to figure out what this is: (defpart 2501 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 160)) @@ -989,8 +940,7 @@ ;; failed to figure out what this is: (defpart 2504 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 32.0) (sp-flt spt-y (meters 10)) (sp-rnd-flt spt-scale-x (meters 20) (meters 16) 1.0) @@ -1018,8 +968,7 @@ ;; failed to figure out what this is: (defpart 2508 - :init-specs - ((sp-flt spt-fade-r -1.6) + :init-specs ((sp-flt spt-fade-r -1.6) (sp-flt spt-fade-g -1.6) (sp-flt spt-fade-b -1.0666667) (sp-int spt-next-time 60) @@ -1029,8 +978,7 @@ ;; failed to figure out what this is: (defpart 2509 - :init-specs - ((sp-flt spt-fade-r -0.26666668) + :init-specs ((sp-flt spt-fade-r -0.26666668) (sp-flt spt-fade-g -0.26666668) (sp-flt spt-fade-b -0.17777778) (sp-flt spt-fade-a -0.16) @@ -1041,14 +989,12 @@ ;; failed to figure out what this is: (defpart 2510 - :init-specs - ((sp-flt spt-fade-r -0.114285715) (sp-flt spt-fade-g -0.114285715) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r -0.114285715) (sp-flt spt-fade-g -0.114285715) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: (defpart 2500 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 10)) (sp-flt spt-scale-x (meters 30)) @@ -1069,8 +1015,7 @@ ;; failed to figure out what this is: (defpart 2511 - :init-specs - ((sp-flt spt-fade-a -1.4222223)) + :init-specs ((sp-flt spt-fade-a -1.4222223)) ) ;; failed to figure out what this is: @@ -1078,8 +1023,7 @@ :id 640 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2799 :period 600 :length 10) + :parts ((sp-item 2799 :period 600 :length 10) (sp-item 2800 :period 600 :length 10) (sp-item 2801 :period 600 :length 20) (sp-item 2802 :period 600 :length 10) @@ -1088,8 +1032,7 @@ ;; failed to figure out what this is: (defpart 2800 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 32) (meters 128) 1.0) (sp-int spt-rot-x 4) @@ -1112,14 +1055,12 @@ ;; failed to figure out what this is: (defpart 2803 - :init-specs - ((sp-flt spt-fade-a -1.6)) + :init-specs ((sp-flt spt-fade-a -1.6)) ) ;; failed to figure out what this is: (defpart 2801 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 32) (meters 32) 1.0) (sp-int spt-rot-x 4) @@ -1141,8 +1082,7 @@ ;; failed to figure out what this is: (defpart 2802 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 100)) (sp-flt spt-rot-z (degrees 0.0)) @@ -1162,8 +1102,7 @@ ;; failed to figure out what this is: (defpart 2799 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 6)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1187,8 +1126,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2769 :binding 2766) + :parts ((sp-item 2769 :binding 2766) (sp-item 2766 :flags (bit1 start-dead launch-asap) :binding 2767) (sp-item 2767 :flags (start-dead) :binding 2768) (sp-item 2768 :flags (start-dead launch-asap)) @@ -1242,8 +1180,7 @@ ;; failed to figure out what this is: (defpart 2769 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.1)) @@ -1258,8 +1195,7 @@ ;; failed to figure out what this is: (defpart 2766 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -1283,8 +1219,7 @@ ;; failed to figure out what this is: (defpart 2770 - :init-specs - ((sp-rnd-flt spt-scale-x (meters 3) (meters 2) 1.0) + :init-specs ((sp-rnd-flt spt-scale-x (meters 3) (meters 2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 128.0 128.0 1.0) @@ -1297,8 +1232,7 @@ ;; failed to figure out what this is: (defpart 2767 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 4)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1324,14 +1258,12 @@ ;; failed to figure out what this is: (defpart 2771 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: (defpart 2768 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 5.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1363,14 +1295,12 @@ :id 646 :duration 900 :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2699) (sp-item 2700) (sp-item 2701)) + :parts ((sp-item 2699) (sp-item 2700) (sp-item 2701)) ) ;; failed to figure out what this is: (defpart 2699 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -1393,14 +1323,12 @@ ;; failed to figure out what this is: (defpart 2703 - :init-specs - ((sp-flt spt-fade-a -1.4222221)) + :init-specs ((sp-flt spt-fade-a -1.4222221)) ) ;; failed to figure out what this is: (defpart 2700 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 32) 1.0) (sp-int spt-rot-x 4) @@ -1422,8 +1350,7 @@ ;; failed to figure out what this is: (defpart 2701 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1445,8 +1372,7 @@ :id 641 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2805 :period 600 :length 10) + :parts ((sp-item 2805 :period 600 :length 10) (sp-item 2806 :period 600 :length 10) (sp-item 2807 :period 600 :length 20) (sp-item 2808 :period 600 :length 10) @@ -1455,8 +1381,7 @@ ;; failed to figure out what this is: (defpart 2806 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 32) (meters 128) 1.0) (sp-int spt-rot-x 4) @@ -1479,14 +1404,12 @@ ;; failed to figure out what this is: (defpart 2809 - :init-specs - ((sp-flt spt-fade-a -1.6)) + :init-specs ((sp-flt spt-fade-a -1.6)) ) ;; failed to figure out what this is: (defpart 2807 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 32) (meters 32) 1.0) (sp-int spt-rot-x 4) @@ -1508,8 +1431,7 @@ ;; failed to figure out what this is: (defpart 2808 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 100)) (sp-flt spt-rot-z (degrees 0.0)) @@ -1529,8 +1451,7 @@ ;; failed to figure out what this is: (defpart 2805 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 6)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1554,14 +1475,12 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2709) (sp-item 2710) (sp-item 2711)) + :parts ((sp-item 2709) (sp-item 2710) (sp-item 2711)) ) ;; failed to figure out what this is: (defpart 2710 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.4) 1.0) @@ -1578,8 +1497,7 @@ ;; failed to figure out what this is: (defpart 2711 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 6) (meters 0.8) 1.0) @@ -1596,8 +1514,7 @@ ;; failed to figure out what this is: (defpart 2709 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 0.6)) @@ -1625,14 +1542,12 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2712) (sp-item 2713) (sp-item 2714 :period 45 :length 5)) + :parts ((sp-item 2712) (sp-item 2713) (sp-item 2714 :period 45 :length 5)) ) ;; failed to figure out what this is: (defpart 2714 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 10) (meters 5) 1.0) @@ -1655,8 +1570,7 @@ ;; failed to figure out what this is: (defpart 2712 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 8.0 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) @@ -1679,8 +1593,7 @@ ;; failed to figure out what this is: (defpart 2713 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-rnd-flt spt-num 2.0 16.0 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) @@ -1708,14 +1621,12 @@ :id 648 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2626 :flags (is-3d))) + :parts ((sp-item 2626 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 2626 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 10)) (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) @@ -1736,14 +1647,12 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2772)) + :parts ((sp-item 2772)) ) ;; failed to figure out what this is: (defpart 2772 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1765,8 +1674,7 @@ :id 649 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2629 :period 600 :length 5) + :parts ((sp-item 2629 :period 600 :length 5) (sp-item 2630 :period 600 :length 40) (sp-item 2631 :period 600 :length 40) (sp-item 2632 :period 600 :length 40) @@ -1775,8 +1683,7 @@ ;; failed to figure out what this is: (defpart 2630 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.8) (meters 1.6) 1.0) @@ -1805,14 +1712,12 @@ ;; failed to figure out what this is: (defpart 2633 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 2632 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.8)) @@ -1834,8 +1739,7 @@ ;; failed to figure out what this is: (defpart 2629 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 64)) @@ -1852,8 +1756,7 @@ ;; failed to figure out what this is: (defpart 2631 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1881,8 +1784,7 @@ ;; failed to figure out what this is: (defpart 2634 - :init-specs - ((sp-flt spt-fade-r 0.0) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g -1.0666667) (sp-flt spt-fade-b -2.1333334) (sp-int spt-next-time 60) @@ -1892,8 +1794,7 @@ ;; failed to figure out what this is: (defpart 2635 - :init-specs - ((sp-flt spt-fade-r 0.0) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g -0.28444445) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.42666668) @@ -1904,8 +1805,7 @@ ;; failed to figure out what this is: (defpart 2636 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: @@ -1913,8 +1813,7 @@ :id 650 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2776 :period 36 :length 5) + :parts ((sp-item 2776 :period 36 :length 5) (sp-item 2776 :period 140 :length 5) (sp-item 2776 :period 61 :length 5) (sp-item 2637 :period 15 :length 5) @@ -1924,8 +1823,7 @@ ;; failed to figure out what this is: (defpart 2777 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0) (meters 4) 1.0) @@ -1942,8 +1840,7 @@ ;; failed to figure out what this is: (defpart 2637 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 4) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1967,8 +1864,7 @@ ;; failed to figure out what this is: (defpart 2776 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-int spt-num 0 1 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1) 1.0) @@ -2000,8 +1896,7 @@ :id 642 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2778 :period 600 :length 10) + :parts ((sp-item 2778 :period 600 :length 10) (sp-item 2779 :period 600 :length 10) (sp-item 2780 :period 600 :length 20) (sp-item 2781 :period 600 :length 10) @@ -2010,8 +1905,7 @@ ;; failed to figure out what this is: (defpart 2779 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 32) (meters 128) 1.0) (sp-int spt-rot-x 4) @@ -2034,14 +1928,12 @@ ;; failed to figure out what this is: (defpart 2782 - :init-specs - ((sp-flt spt-fade-a -1.6)) + :init-specs ((sp-flt spt-fade-a -1.6)) ) ;; failed to figure out what this is: (defpart 2780 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 32) (meters 32) 1.0) (sp-int spt-rot-x 4) @@ -2063,8 +1955,7 @@ ;; failed to figure out what this is: (defpart 2781 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 100)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2084,8 +1975,7 @@ ;; failed to figure out what this is: (defpart 2778 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 6)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2109,14 +1999,12 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2811) (sp-item 2812) (sp-item 2813)) + :parts ((sp-item 2811) (sp-item 2812) (sp-item 2813)) ) ;; failed to figure out what this is: (defpart 2811 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-scale-x (meters 16) (meters 1) 1.0) (sp-int spt-rot-x 4) @@ -2139,14 +2027,12 @@ ;; failed to figure out what this is: (defpart 2814 - :init-specs - ((sp-flt spt-fade-a -1.4222221)) + :init-specs ((sp-flt spt-fade-a -1.4222221)) ) ;; failed to figure out what this is: (defpart 2812 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 32) 1.0) (sp-int spt-rot-x 4) @@ -2168,8 +2054,7 @@ ;; failed to figure out what this is: (defpart 2813 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 10) (meters 2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2192,14 +2077,12 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2815) (sp-item 2816) (sp-item 2817) (sp-item 2818) (sp-item 2819)) + :parts ((sp-item 2815) (sp-item 2816) (sp-item 2817) (sp-item 2818) (sp-item 2819)) ) ;; failed to figure out what this is: (defpart 2816 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2222,8 +2105,7 @@ ;; failed to figure out what this is: (defpart 2819 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 8.0 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 8) (meters 4) 1.0) @@ -2245,8 +2127,7 @@ ;; failed to figure out what this is: (defpart 2815 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-rnd-flt spt-num 2.0 16.0 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) @@ -2272,8 +2153,7 @@ ;; failed to figure out what this is: (defpart 2817 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2293,8 +2173,7 @@ ;; failed to figure out what this is: (defpart 2818 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 10) (meters 1.6) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2313,8 +2192,7 @@ :id 653 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2648 :period 600 :length 5) + :parts ((sp-item 2648 :period 600 :length 5) (sp-item 2649 :period 600 :length 40) (sp-item 2650 :period 600 :length 40) (sp-item 2651 :period 600 :length 40) @@ -2323,8 +2201,7 @@ ;; failed to figure out what this is: (defpart 2649 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 1) (meters 2) 1.0) @@ -2353,14 +2230,12 @@ ;; failed to figure out what this is: (defpart 2652 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 2651 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.8)) @@ -2382,8 +2257,7 @@ ;; failed to figure out what this is: (defpart 2648 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 128)) @@ -2400,8 +2274,7 @@ ;; failed to figure out what this is: (defpart 2650 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 16) (meters 8) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2429,8 +2302,7 @@ ;; failed to figure out what this is: (defpart 2653 - :init-specs - ((sp-flt spt-fade-r 0.0) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g -1.0666667) (sp-flt spt-fade-b -2.1333334) (sp-int spt-next-time 60) @@ -2440,8 +2312,7 @@ ;; failed to figure out what this is: (defpart 2654 - :init-specs - ((sp-flt spt-fade-r -0.28444445) + :init-specs ((sp-flt spt-fade-r -0.28444445) (sp-flt spt-fade-g -0.28444445) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.42666668) @@ -2452,8 +2323,7 @@ ;; failed to figure out what this is: (defpart 2655 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: @@ -2461,8 +2331,7 @@ :id 654 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2820 :period 36 :length 5) + :parts ((sp-item 2820 :period 36 :length 5) (sp-item 2820 :period 140 :length 5) (sp-item 2820 :period 61 :length 5) (sp-item 2656 :period 15 :length 5) @@ -2472,8 +2341,7 @@ ;; failed to figure out what this is: (defpart 2821 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0) (meters 4) 1.0) @@ -2490,8 +2358,7 @@ ;; failed to figure out what this is: (defpart 2656 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2515,8 +2382,7 @@ ;; failed to figure out what this is: (defpart 2820 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-int spt-num 0 2 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1) 1.0) @@ -2548,8 +2414,7 @@ ;; failed to figure out what this is: (defpart 2852 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-int spt-rot-x 16) (sp-flt spt-r 4096.0) (sp-flt spt-g 3276.8) @@ -2565,8 +2430,7 @@ ;; failed to figure out what this is: (defpart 2657 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) (sp-int spt-rot-x 4) @@ -2590,14 +2454,12 @@ ;; failed to figure out what this is: (defpart 2661 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) ;; failed to figure out what this is: (defpart 2658 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-int spt-rot-x 4) @@ -2620,8 +2482,7 @@ ;; failed to figure out what this is: (defpart 2659 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.0) (sp-flt spt-scale-x (meters 3.5)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2639,8 +2500,7 @@ ;; failed to figure out what this is: (defpart 2660 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.0) (sp-flt spt-scale-x (meters 4)) (sp-flt spt-rot-z (degrees 0.0)) @@ -2661,8 +2521,7 @@ :id 666 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2719 :binding 2716) + :parts ((sp-item 2719 :binding 2716) (sp-item 2716 :flags (bit1 start-dead launch-asap) :binding 2717) (sp-item 2716 :flags (bit1 start-dead launch-asap) :binding 2718) (sp-item 2716 :flags (bit1 start-dead launch-asap) :binding 2717) @@ -2684,14 +2543,12 @@ :id 667 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 2723 :flags (is-3d))) + :parts ((sp-item 2723 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 2723 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) @@ -2710,8 +2567,7 @@ ;; failed to figure out what this is: (defpart 2719 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.01) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2732,8 +2588,7 @@ ;; failed to figure out what this is: (defpart 2716 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -2756,8 +2611,7 @@ ;; failed to figure out what this is: (defpart 2717 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -2777,8 +2631,7 @@ ;; failed to figure out what this is: (defpart 2718 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -2798,8 +2651,7 @@ ;; failed to figure out what this is: (defpart 2720 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.85) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.5) 1.0) @@ -2820,8 +2672,7 @@ ;; failed to figure out what this is: (defpart 2722 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2842,8 +2693,7 @@ ;; failed to figure out what this is: (defpart 2721 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 4) (meters 8) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2863,8 +2713,7 @@ :id 668 :flags (use-local-clock) :bounds (static-bspherem 0 23 0 64) - :parts - ((sp-item 2726 :binding 2724) + :parts ((sp-item 2726 :binding 2724) (sp-item 2724 :flags (bit1 start-dead launch-asap) :binding 2725) (sp-item 2724 :flags (bit1 start-dead launch-asap) :binding 2725) (sp-item 2724 :flags (bit1 start-dead launch-asap) :binding 2725) @@ -2882,8 +2731,7 @@ ;; failed to figure out what this is: (defpart 2730 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) @@ -2902,8 +2750,7 @@ ;; failed to figure out what this is: (defpart 2726 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.02) (sp-rnd-flt spt-scale-x (meters 6) (meters 3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2923,8 +2770,7 @@ ;; failed to figure out what this is: (defpart 2724 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -2947,8 +2793,7 @@ ;; failed to figure out what this is: (defpart 2725 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -2973,8 +2818,7 @@ ;; failed to figure out what this is: (defpart 2727 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.85) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.5) 1.0) @@ -2995,8 +2839,7 @@ ;; failed to figure out what this is: (defpart 2729 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -3016,8 +2859,7 @@ ;; failed to figure out what this is: (defpart 2728 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 4) (meters 8) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -3037,8 +2879,7 @@ :id 670 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2733 :binding 2731) + :parts ((sp-item 2733 :binding 2731) (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) @@ -3061,14 +2902,12 @@ :id 671 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 2737 :flags (is-3d))) + :parts ((sp-item 2737 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 2737 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) @@ -3087,8 +2926,7 @@ ;; failed to figure out what this is: (defpart 2733 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.025) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -3109,8 +2947,7 @@ ;; failed to figure out what this is: (defpart 2731 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -3133,8 +2970,7 @@ ;; failed to figure out what this is: (defpart 2732 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -3154,8 +2990,7 @@ ;; failed to figure out what this is: (defpart 2734 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.85) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.5) 1.0) @@ -3176,8 +3011,7 @@ ;; failed to figure out what this is: (defpart 2736 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.7) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -3198,8 +3032,7 @@ ;; failed to figure out what this is: (defpart 2735 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.7) (sp-rnd-flt spt-scale-x (meters 4) (meters 8) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -3219,8 +3052,7 @@ :id 672 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2740 :binding 2738) + :parts ((sp-item 2740 :binding 2738) (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) @@ -3243,14 +3075,12 @@ :id 673 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 2744 :flags (is-3d))) + :parts ((sp-item 2744 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 2744 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) @@ -3269,8 +3099,7 @@ ;; failed to figure out what this is: (defpart 2740 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.025) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -3291,8 +3120,7 @@ ;; failed to figure out what this is: (defpart 2738 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -3315,8 +3143,7 @@ ;; failed to figure out what this is: (defpart 2739 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -3335,8 +3162,7 @@ ;; failed to figure out what this is: (defpart 2741 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.85) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.5) 1.0) @@ -3357,8 +3183,7 @@ ;; failed to figure out what this is: (defpart 2743 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-scale-x (meters 4) (meters 1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -3379,8 +3204,7 @@ ;; failed to figure out what this is: (defpart 2742 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 4) (meters 8) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -3401,8 +3225,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2324)) + :parts ((sp-item 2324)) ) ;; failed to figure out what this is: @@ -3411,8 +3234,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2324)) + :parts ((sp-item 2324)) ) ;; failed to figure out what this is: @@ -3421,8 +3243,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2324)) + :parts ((sp-item 2324)) ) ;; failed to figure out what this is: @@ -3431,8 +3252,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2324)) + :parts ((sp-item 2324)) ) ;; failed to figure out what this is: diff --git a/test/decompiler/reference/levels/finalboss/robotboss-weapon_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss-weapon_REF.gc index eb63861e44..f3a8f91a88 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss-weapon_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss-weapon_REF.gc @@ -248,14 +248,12 @@ ;; failed to figure out what this is: (defstate arcing-shot-debug-trajectory (arcing-shot) - :trans - (behavior () + :trans (behavior () (arcing-shot-setup (camera-pos) (-> self entity extra trans) 40960.0) (arcing-shot-draw) (none) ) - :code - (behavior () + :code (behavior () (loop (format *stdcon* "debug trajectory~%") (suspend) @@ -303,29 +301,21 @@ ;; failed to figure out what this is: (defstate darkecobomb-explode (darkecobomb) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (send-event *target* 'reset-pickup 'eco) (sound-play-by-name (static-sound-name "explod-bomb") (new-sound-id) 1024 0 0 1 #f) (activate! *camera-smush-control* 819.2 37 600 1.0 0.995) (send-event (ppointer->process (-> self parent)) 'flash 255.0) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 619) - 900 - #f - #f - #f - (-> self root-override trans) - ) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 619) + 900 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (logior! (-> self draw status) (draw-status hidden)) (cond @@ -345,17 +335,7 @@ (if *target* (logclear! (-> *target* mask) (process-mask sleep)) ) - (let ((a1-12 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-12 from) self) - (set! (-> a1-12 num-params) 2) - (set! (-> a1-12 message) 'attack-invinc) - (set! (-> a1-12 param 0) (the-as uint #f)) - (let ((a0-21 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-21 mode) 'instant-death) - (set! (-> a1-12 param 1) (the-as uint a0-21)) - ) - (send-event-function *target* a1-12) - ) + (send-event *target* 'attack-invinc #f (static-attack-info ((mode 'instant-death)))) ) (else (send-event (ppointer->process (-> self parent)) 'bomb-done) @@ -364,8 +344,7 @@ (deactivate self) (none) ) - :post - (the-as (function none :behavior darkecobomb) ja-post) + :post (the-as (function none :behavior darkecobomb) ja-post) ) ;; definition for function darkecobomb-handler @@ -388,21 +367,17 @@ ;; failed to figure out what this is: (defstate darkecobomb-countdown (darkecobomb) - :event - darkecobomb-handler - :enter - (behavior () + :event darkecobomb-handler + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (set! (-> self next-tick) 0.9) (none) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (none) ) - :trans - (behavior () + :trans (behavior () (darkecobomb-explode-if-player-high-enough) (let ((f0-1 (fmax @@ -417,23 +392,16 @@ (set! (-> self anim-speed) (+ 1.0 f1-5)) ) (when (< (cos (* 16384.0 (- 1.0 f0-1))) (-> self next-tick)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 663) - 150 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 663) + 150 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (set! (-> self next-tick) (+ -0.06 (-> self next-tick))) (sound-play-by-name (static-sound-name "robo-warning") (new-sound-id) 1024 0 0 1 #t) @@ -450,8 +418,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "bomb-open") (new-sound-id) 1024 0 0 1 #t) (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -468,30 +435,25 @@ ) (none) ) - :post - (the-as (function none :behavior darkecobomb) transform-post) + :post (the-as (function none :behavior darkecobomb) transform-post) ) ;; failed to figure out what this is: (defstate darkecobomb-land (darkecobomb) - :event - darkecobomb-handler - :enter - (behavior () + :event darkecobomb-handler + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) 0 (none) ) - :trans - (behavior () + :trans (behavior () (darkecobomb-explode-if-player-high-enough) (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 0.5)) (go darkecobomb-countdown) ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -506,19 +468,16 @@ ) (none) ) - :post - (the-as (function none :behavior darkecobomb) transform-post) + :post (the-as (function none :behavior darkecobomb) transform-post) ) ;; failed to figure out what this is: (defstate darkecobomb-idle (darkecobomb) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (arcing-shot-calculate (-> self root-override trans) (/ (the float (- (-> *display* game-frame-counter) (-> self state-time))) (the float (-> self flight-time))) @@ -528,8 +487,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -544,8 +502,7 @@ ) (none) ) - :post - (the-as (function none :behavior darkecobomb) transform-post) + :post (the-as (function none :behavior darkecobomb) transform-post) ) ;; definition for function darkecobomb-init-by-other @@ -613,13 +570,11 @@ ;; failed to figure out what this is: (defstate greenshot-idle (greenshot) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (arcing-shot-calculate (-> self root-override trans) (/ (the float (- (-> *display* game-frame-counter) (-> self state-time))) (the float (-> self flight-time))) @@ -630,8 +585,7 @@ (spawn (-> self part) (-> self root-override trans)) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -641,8 +595,7 @@ ) (none) ) - :post - (the-as (function none :behavior greenshot) transform-post) + :post (the-as (function none :behavior greenshot) transform-post) ) ;; definition for function greenshot-init-by-other @@ -775,8 +728,7 @@ ;; failed to figure out what this is: (defstate redshot-explode (redshot) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (sound-play-by-name (static-sound-name "red-explode") (new-sound-id) 1024 0 0 1 #t) (logclear! (-> self draw status) (draw-status hidden)) @@ -785,48 +737,29 @@ (set! (-> self ring origin quad) (-> self root-override trans quad)) (+! (-> self ring origin y) (-> self ring radius-secondary)) (set-vector! (-> self ring axis) 0.0 1.0 0.0 1.0) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 648) - -1 - redshot-particle-callback - (-> self ppointer) - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) - ) - ) - ) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 648) + -1 + redshot-particle-callback + (-> self ppointer) + #f + (-> self root-override trans) + :to self + ) + ) + ) (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self ring radius-primary) (* 204.8 (the float (- (-> *display* game-frame-counter) (-> self state-time)))) ) (let ((gp-0 (new 'stack-no-clear 'vector))) (when (dummy-11 (-> self ring) gp-0) (vector-normalize! gp-0 16384.0) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack) - (set! (-> a1-2 param 0) (the-as uint #f)) - (let ((v1-8 (new 'static 'attack-info :mask #x2))) - (set! (-> v1-8 vector quad) (-> gp-0 quad)) - (set! (-> a1-2 param 1) (the-as uint v1-8)) - ) - (send-event-function *target* a1-2) - ) + (send-event *target* 'attack #f (static-attack-info ((vector gp-0)))) (send-event (ppointer->process (-> self parent)) 'hit-jak) ) ) @@ -851,16 +784,14 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja :num-func num-func-identity :frame-num (* 0.000016276043 (-> self ring radius-primary))) (suspend) ) (none) ) - :post - (the-as (function none :behavior redshot) transform-post) + :post (the-as (function none :behavior redshot) transform-post) ) ;; definition for function redshot-handler @@ -874,15 +805,12 @@ ;; failed to figure out what this is: (defstate redshot-wait (redshot) - :event - redshot-handler - :enter - (behavior () + :event redshot-handler + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (redshot-trans (- (-> self stall-time) (- (-> *display* game-frame-counter) (-> self state-time)))) (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self stall-time)) (go redshot-explode) @@ -890,28 +818,23 @@ (spawn (-> self shot-particle) (-> self root-override trans)) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior redshot) transform-post) + :post (the-as (function none :behavior redshot) transform-post) ) ;; failed to figure out what this is: (defstate redshot-idle (redshot) - :event - redshot-handler - :enter - (behavior () + :event redshot-handler + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (redshot-trans (seconds 5)) (arcing-shot-calculate (-> self root-override trans) @@ -923,15 +846,13 @@ (spawn (-> self shot-particle) (-> self root-override trans)) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior redshot) transform-post) + :post (the-as (function none :behavior redshot) transform-post) ) ;; definition for function redshot-init-by-other @@ -999,34 +920,21 @@ ;; failed to figure out what this is: (defstate yellowshot-idle (yellowshot) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (when (= (-> arg0 type) target) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((a0-2 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-2 mode) 'generic) - (set! (-> a1-3 param 1) (the-as uint a0-2)) - ) - (send-event-function *target* a1-3) - ) + (send-event *target* 'attack (-> arg3 param 0) (static-attack-info ((mode 'generic)))) (send-event (ppointer->process (-> self parent)) 'hit-jak) ) ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (arcing-shot-calculate (-> self root-override trans) (/ (the float (- (-> *display* game-frame-counter) (-> self state-time))) (the float (-> self flight-time))) @@ -1038,15 +946,13 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior yellowshot) transform-post) + :post (the-as (function none :behavior yellowshot) transform-post) ) ;; definition for function yellowshot-init-by-other diff --git a/test/decompiler/reference/levels/finalboss/robotboss_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss_REF.gc index 0e8ef52216..acefe0b4f7 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss_REF.gc @@ -165,8 +165,7 @@ ) ) cfg-37 - :delay - (empty-form) + :delay (empty-form) ) (if (or (not (-> *camera* cam-entity)) (not (string= @@ -187,18 +186,11 @@ ) ) cfg-49 - :delay - (empty-form) + :delay (empty-form) ) - (let ((a1-18 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-18 from) self) - (set! (-> a1-18 num-params) 1) - (set! (-> a1-18 message) 'query-state) - (set! (-> a1-18 param 0) (the-as uint cam-robotboss)) - (when (not (send-event-function *camera* a1-18)) - (send-event *camera* 'change-state cam-robotboss 300) - (send-event *camera* 'clear-entity) - ) + (when (not (send-event *camera* 'query-state cam-robotboss)) + (send-event *camera* 'change-state cam-robotboss (seconds 1)) + (send-event *camera* 'clear-entity) ) (b! #t cfg-66 :delay (nop!)) (label cfg-49) @@ -209,35 +201,23 @@ ) ) ) - (let ((a1-24 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-24 from) self) - (set! (-> a1-24 num-params) 1) - (set! (-> a1-24 message) 'query-state) - (set! (-> a1-24 param 0) (the-as uint cam-string)) - (when (not (send-event-function *camera* a1-24)) - (send-event *camera* 'point-of-interest #f) - (send-event *camera* 'force-blend 300) - (send-event *camera* 'clear-entity) - (send-event *camera* 'change-state cam-string 300) - ) + (when (not (send-event *camera* 'query-state cam-string)) + (send-event *camera* 'point-of-interest #f) + (send-event *camera* 'force-blend (seconds 1)) + (send-event *camera* 'clear-entity) + (send-event *camera* 'change-state cam-string (seconds 1)) ) ) (label cfg-66) - (let ((a1-29 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-29 from) self) - (set! (-> a1-29 num-params) 1) - (set! (-> a1-29 message) 'query-state) - (set! (-> a1-29 param 0) (the-as uint cam-string)) - (cond - ((send-event-function *camera* a1-29) + (cond + ((send-event *camera* 'query-state cam-string) + ) + ((-> self use-interesting) + (let ((s5-10 (new 'stack-no-clear 'vector))) + (vector<-cspace! s5-10 (-> self node-list data 87)) + (send-event *camera* 'point-of-interest s5-10) ) - ((-> self use-interesting) - (let ((s5-10 (new 'stack-no-clear 'vector))) - (vector<-cspace! s5-10 (-> self node-list data 87)) - (send-event *camera* 'point-of-interest s5-10) - ) - ) - ) + ) ) (when (and arg0 *debug-segment* (cpad-pressed? 1 x)) (logclear! (-> *cpad-list* cpads 1 button0-abs 0) (pad-buttons x)) @@ -264,19 +244,9 @@ (set! (-> self vulnerable) arg0) (let ((gp-0 (new 'stack 'sphere))) (set! (-> gp-0 w) 4096.0) - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self shot-attractor) - (ppointer->handle - (when s5-0 - (let ((t9-2 (method-of-type manipy activate))) - (t9-2 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> self root-override trans) (-> self entity) *redring-sg* gp-0) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> self shot-attractor) + (ppointer->handle (manipy-spawn (-> self root-override trans) (-> self entity) *redring-sg* gp-0 :to self)) + ) ) (send-event (handle->process (-> self shot-attractor)) 'attackable #t) (send-event (handle->process (-> self shot-attractor)) 'draw #f) @@ -370,6 +340,7 @@ ) ;; definition for function robotboss-darkecobomb +;; INFO: Return type mismatch (pointer process) vs (pointer part-tracker). ;; Used lq/sq (defbehavior robotboss-darkecobomb robotboss ((arg0 vector) (arg1 float)) (+! (-> self children-spawned) 1) @@ -378,24 +349,18 @@ (vector<-cspace! gp-0 (-> self node-list data 60)) (set! (-> s4-0 quad) (-> self entity extra trans quad)) (vector+! s4-0 s4-0 arg0) - (let ((s3-1 (get-process *default-dead-pool* darkecobomb #x4000))) - (when s3-1 - (let ((t9-2 (method-of-type darkecobomb activate))) - (t9-2 (the-as darkecobomb s3-1) self 'darkecobomb (the-as pointer #x70004000)) - ) - (run-now-in-process s3-1 darkecobomb-init-by-other gp-0 s4-0 61440.0 300 arg1) - (-> s3-1 ppointer) - ) - ) + (process-spawn darkecobomb gp-0 s4-0 61440.0 300 arg1 :to self) ) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 638) 300 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 638) + 300 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) ) @@ -482,8 +447,7 @@ ;; failed to figure out what this is: (defstate robotboss-yellow-dark-bomb-wait (robotboss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'white-eco-picked-up) @@ -514,15 +478,13 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (set! (-> self children-spawned) 0) 0 (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self des-cam-entity) #f) (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) self) @@ -587,15 +549,13 @@ (send-event (handle->process (-> self white-eco)) 'beam-off) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans (the-as (state robotboss) #f)) (spool-push *art-control* "green-sagecage-outro-beat-boss-a" 0 self (the-as float -1.0)) (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -657,14 +617,12 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) ;; failed to figure out what this is: (defstate robotboss-daxter-sacrifice-movie (robotboss) - :code - (behavior () + :code (behavior () (set-blackout-frames (seconds 100)) (entity-birth-no-kill (-> self alts 5)) (let ((a1-0 (new 'stack-no-clear 'event-message-block))) @@ -694,21 +652,18 @@ ;; failed to figure out what this is: (defstate robotboss-white-eco-movie (robotboss) - :enter - (behavior () + :enter (behavior () (logior! (-> self draw status) (draw-status hidden)) (set! (-> self children-spawned) 0) (set! (-> self state-time) (-> *display* base-frame-counter)) (ja-post) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "green-sagecage-daxter-sacrifice" 0 self (the-as float -1.0)) (when (and (< (-> self children-spawned) 1) (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.95)) @@ -717,25 +672,12 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self entity extra trans quad)) (set! (-> gp-0 y) (+ 81920.0 (-> gp-0 y))) - (let ((s5-0 (get-process *default-dead-pool* light-eco-mother #x4000))) - (set! (-> self white-eco) - (ppointer->handle - (when s5-0 - (let ((t9-2 (method-of-type light-eco-mother activate))) - (t9-2 (the-as light-eco-mother s5-0) self 'light-eco-mother (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 light-eco-mother-init-by-other (-> self entity) gp-0) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> self white-eco) (ppointer->handle (process-spawn light-eco-mother (-> self entity) gp-0 :to self))) ) ) (none) ) - :code - (behavior () + :code (behavior () (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) self) (set! (-> a1-0 num-params) 1) @@ -872,17 +814,7 @@ ) ) ) - (let* ((gp-0 (get-process *default-dead-pool* finalbosscam #x4000)) - (gp-1 (ppointer->handle (when gp-0 - (let ((t9-9 (method-of-type finalbosscam activate))) - (t9-9 (the-as finalbosscam gp-0) self 'finalbosscam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 finalbosscam-init-by-other (-> self entity)) - (-> gp-0 ppointer) - ) - ) - ) - ) + (let ((gp-1 (ppointer->handle (process-spawn finalbosscam (-> self entity) :to self)))) (send-event (handle->process gp-1) 'play-anim) (suspend) (while (movie?) @@ -908,8 +840,7 @@ ;; failed to figure out what this is: (defstate robotboss-yellow-dark-bomb (robotboss) - :enter - (behavior () + :enter (behavior () (set! (-> self old-loc quad) (-> self desired-loc quad)) (set-vector! (-> self desired-loc) 16384.0 -81920.0 716800.0 1.0) (set! (-> self loc-t) 0.0) @@ -919,8 +850,7 @@ (play-ambient (-> self ambient) "GOL-AM01" #t (the-as vector #f)) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans (the-as (state robotboss) #f)) (spool-push *art-control* "finalbosscam-white-eco" 0 self (the-as float -1.0)) (if (>= (-> self loc-t) 1.0) @@ -929,8 +859,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja :group! robotboss-dark-reveal-no-yellow-ja) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) @@ -951,8 +880,7 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) ;; definition for function robotboss-yellowshot @@ -972,25 +900,19 @@ (vector-! s5-0 s5-0 gp-0) (vector-normalize! s5-0 (the-as float 819200.0)) (vector+! s5-0 s5-0 gp-0) - (let ((s4-1 (get-process *default-dead-pool* yellowshot #x4000))) - (when s4-1 - (let ((t9-4 (method-of-type yellowshot activate))) - (t9-4 (the-as yellowshot s4-1) self 'yellowshot (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 yellowshot-init-by-other gp-0 s5-0 0.0 750) - (-> s4-1 ppointer) - ) - ) + (process-spawn yellowshot gp-0 s5-0 0.0 750 :to self) ) (send-event self 'flash 255.0) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-8 (method-of-type part-tracker activate))) - (t9-8 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 642) 300 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 642) + 300 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (sound-play-by-name (static-sound-name "bfg-fire") (new-sound-id) 1024 0 0 1 #t) @@ -1009,14 +931,10 @@ ;; failed to figure out what this is: (defstate robotboss-yellow-wait (robotboss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hit-jak) - (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-3 (the-as number (logior #x3f800000 v1-2))) - (f0-2 (+ -1.0 (the-as float v1-3))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.75 f0-2) (play-ambient (-> self ambient) "GOL-AM10" #t (the-as vector #f)) @@ -1034,10 +952,7 @@ ) ) (('missed-jak) - (let* ((v1-13 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-14 (the-as number (logior #x3f800000 v1-13))) - (f0-5 (+ -1.0 (the-as float v1-14))) - ) + (let ((f0-5 (rand-float-gen))) (if (< 0.5 f0-5) (play-ambient (-> self ambient) "GOL-AM14" #t (the-as vector #f)) (play-ambient (-> self ambient) "MAI-AM02" #t (the-as vector #f)) @@ -1049,8 +964,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self hits-to-go) -1) (set! (-> self state-time) (-> *display* game-frame-counter)) (set! (-> self till-next-shot) 300) @@ -1058,8 +972,7 @@ (set! (-> self keep-charging) #f) (none) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self shot-attractor)))) (if a0-1 (deactivate a0-1) @@ -1113,8 +1026,7 @@ (stop! (-> self looping-sound 3)) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-yellow-dark-bomb) (robotboss-shooting-trans 21) (cond @@ -1129,33 +1041,19 @@ (set! (-> self yellow-smoke) #t) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 27)) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 653) 300 #f #f #f gp-0) - (-> s5-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 653) + 300 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) - (let* ((s5-1 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 (when s5-1 - (let ((t9-10 (method-of-type manipy activate))) - (t9-10 (the-as manipy s5-1) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - manipy-init - (-> self root-override trans) - (-> self entity) - *robotboss-yelloweco-sg* - #f - ) - (-> s5-1 ppointer) - ) - ) - ) + (let ((gp-1 (manipy-spawn (-> self root-override trans) (-> self entity) *robotboss-yelloweco-sg* #f :to self))) (send-event (ppointer->process (-> self parent)) 'flash 255.0) (send-event (ppointer->process gp-1) 'anim-mode 'play1) (send-event (ppointer->process gp-1) 'rot-quat (-> self root-override quat)) @@ -1184,8 +1082,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -1245,22 +1142,15 @@ (or (robotboss-time-to-shoot-yellow) (not (ja-group? robotboss-yellow-hit-ja))) ) (set! (-> self state-time) (-> *display* game-frame-counter)) - (let* ((f30-1 (-> self dda yellow-shot-time-min)) - (f28-0 (-> self dda yellow-shot-time-rnd)) - (v1-147 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-148 (the-as number (logior #x3f800000 v1-147))) - ) - (set! (-> self till-next-shot) - (the int (+ f30-1 (the float (the int (* f28-0 (+ -1.0 (the-as float v1-148))))))) - ) + (let ((f30-1 (-> self dda yellow-shot-time-min)) + (f28-0 (-> self dda yellow-shot-time-rnd)) + ) + (set! (-> self till-next-shot) (the int (+ f30-1 (the float (the int (* f28-0 (rand-float-gen))))))) ) (stop! (-> self looping-sound 3)) (robotboss-yellowshot) (robotboss-yellow-eco-on) - (let* ((v1-154 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-155 (the-as number (logior #x3f800000 v1-154))) - (f0-29 (+ -1.0 (the-as float v1-155))) - ) + (let ((f0-29 (rand-float-gen))) (cond ((< 0.8333333 f0-29) (play-ambient (-> self ambient) "GOL-AM04" #t (the-as vector #f)) @@ -1301,8 +1191,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (when *target* (if (nonzero? (-> self yellow-gun)) (set-target! (-> self yellow-gun) (target-pos 5)) @@ -1315,10 +1204,8 @@ ;; failed to figure out what this is: (defstate robotboss-yellow (robotboss) - :event - robotboss-handler - :enter - (behavior () + :event robotboss-handler + :enter (behavior () (set! (-> self old-loc quad) (-> self desired-loc quad)) (set-vector! (-> self desired-loc) 13653.333 77824.0 491520.0 1.0) (set! (-> self loc-t) 0.0) @@ -1327,8 +1214,7 @@ (set! (-> self desired-pool-y) -18432.0) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-yellow-wait) (if (>= (-> self loc-t) 1.0) (go robotboss-yellow-wait) @@ -1336,8 +1222,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -1371,29 +1256,24 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) ;; failed to figure out what this is: (defstate robotboss-red-dark-bomb-wait (robotboss) - :event - robotboss-bomb-handler - :enter - (behavior () + :event robotboss-bomb-handler + :enter (behavior () (set! (-> self children-spawned) 0) (logior! (-> self alts 11 extra perm status) (entity-perm-status bit-3)) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self ignore-camera) #f) (set! (-> self des-cam-entity) #f) (logclear! (-> self alts 11 extra perm status) (entity-perm-status bit-3)) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-yellow) (if (and (< (-> self children-spawned) 0) (or (not *target*) (!= (-> *target* control unknown-surface00 name) 'launch-jump)) @@ -1403,8 +1283,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -1434,14 +1313,12 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) ;; failed to figure out what this is: (defstate robotboss-red-dark-bomb (robotboss) - :enter - (behavior () + :enter (behavior () (set! (-> self old-loc quad) (-> self desired-loc quad)) (set-vector! (-> self desired-loc) 0.0 -81920.0 716800.0 1.0) (set! (-> self loc-t) 0.0) @@ -1450,8 +1327,7 @@ (set! (-> self desired-pool-y) -20480.0) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-red-dark-bomb-wait) (robotboss-position) (if (>= (-> self loc-t) 1.0) @@ -1459,8 +1335,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja :group! robotboss-dark-reveal-no-red-ja) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) @@ -1481,8 +1356,7 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) ;; definition of type redshot-launch-info @@ -1532,20 +1406,16 @@ 0.0 (dotimes (s3-0 6) (let ((s1-0 (-> arg0 info s3-0))) - (let* ((f30-0 -40960.0) - (f28-0 81920.0) - (v1-4 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-5 (the-as number (logior #x3f800000 v1-4))) - ) - (set! (-> s1-0 dest x) (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-5))))) + (let ((f30-0 -40960.0) + (f28-0 81920.0) + ) + (set! (-> s1-0 dest x) (+ f30-0 (* f28-0 (rand-float-gen)))) ) (set! (-> s1-0 dest y) 0.0) - (let* ((f30-1 -40960.0) - (f28-1 81920.0) - (v1-10 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-11 (the-as number (logior #x3f800000 v1-10))) - ) - (set! (-> s1-0 dest z) (+ f30-1 (* f28-1 (+ -1.0 (the-as float v1-11))))) + (let ((f30-1 -40960.0) + (f28-1 81920.0) + ) + (set! (-> s1-0 dest z) (+ f30-1 (* f28-1 (rand-float-gen)))) ) (set! (-> s1-0 dest w) 1.0) ) @@ -1571,14 +1441,10 @@ (the-as time-frame (+ (the int (* f30-2 (+ -1.0 (the-as float v1-28)))) 180)) ) ) - (let* ((s1-3 (max 150 (- (the-as time-frame s2-0) (-> arg0 info s3-0 flight-time)))) - (f30-3 60.0) - (v1-38 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-39 (the-as number (logior #x3f800000 v1-38))) - ) - (set! (-> arg0 info s3-0 stall-time) - (the-as time-frame (+ (the int (* f30-3 (+ -1.0 (the-as float v1-39)))) 300 s1-3)) - ) + (let ((s1-3 (max 150 (- (the-as time-frame s2-0) (-> arg0 info s3-0 flight-time)))) + (f30-3 60.0) + ) + (set! (-> arg0 info s3-0 stall-time) (the-as time-frame (+ (the int (* f30-3 (rand-float-gen))) 300 s1-3))) ) (set! s2-0 (the-as int (+ (-> arg0 info s3-0 flight-time) (-> arg0 info s3-0 stall-time)))) ) @@ -1613,12 +1479,10 @@ (s0-0 gp-0) ) (set! sv-48 (-> sv-32 dest)) - (let* ((f30-0 20480.0) - (f28-0 12288.0) - (v1-10 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-11 (the-as number (logior #x3f800000 v1-10))) - ) - (set! sv-64 (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-11))))) + (let ((f30-0 20480.0) + (f28-0 12288.0) + ) + (set! sv-64 (+ f30-0 (* f28-0 (rand-float-gen)))) ) (set! sv-80 (-> sv-32 flight-time)) (set! sv-96 (-> sv-32 stall-time)) @@ -1643,14 +1507,16 @@ ) ) (when s5-0 - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 641) 300 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 641) + 300 + #f + #f + #f + gp-0 + :to *entity-pool* ) (sound-play-by-name (static-sound-name "red-fire") (new-sound-id) 1024 0 0 1 #t) ) @@ -1665,14 +1531,10 @@ ;; failed to figure out what this is: (defstate robotboss-red-wait (robotboss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hit-jak) - (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-3 (the-as number (logior #x3f800000 v1-2))) - (f0-2 (+ -1.0 (the-as float v1-3))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.75 f0-2) (play-ambient (-> self ambient) "GOL-AM10" #t (the-as vector #f)) @@ -1690,10 +1552,7 @@ ) ) (('missed-jak) - (let* ((v1-13 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-14 (the-as number (logior #x3f800000 v1-13))) - (f0-5 (+ -1.0 (the-as float v1-14))) - ) + (let ((f0-5 (rand-float-gen))) (if (< 0.5 f0-5) (play-ambient (-> self ambient) "GOL-AM14" #t (the-as vector #f)) (play-ambient (-> self ambient) "MAI-AM01" #t (the-as vector #f)) @@ -1705,8 +1564,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self hits-to-go) -1) (set! (-> self des-cam-entity) "camera-390") (set! (-> self use-interesting) #t) @@ -1715,8 +1573,7 @@ 0 (none) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self shot-attractor)))) (if a0-1 (deactivate a0-1) @@ -1780,8 +1637,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-red-dark-bomb) (robotboss-shooting-trans 40) (cond @@ -1809,27 +1665,19 @@ (set! (-> self red-smoke) #t) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 51)) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 649) 300 #f #f #f gp-0) - (-> s5-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 649) + 300 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) - (let* ((s5-1 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 - (when s5-1 - (let ((t9-10 (method-of-type manipy activate))) - (t9-10 (the-as manipy s5-1) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> self root-override trans) (-> self entity) *robotboss-redeco-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) + (let ((gp-1 (manipy-spawn (-> self root-override trans) (-> self entity) *robotboss-redeco-sg* #f :to self))) (send-event (ppointer->process (-> self parent)) 'flash 255.0) (send-event (ppointer->process gp-1) 'anim-mode 'play1) (send-event (ppointer->process gp-1) 'rot-quat (-> self root-override quat)) @@ -1848,8 +1696,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -1873,14 +1720,10 @@ ) (label cfg-24) (set! (-> self state-time) (-> *display* game-frame-counter)) - (let* ((f30-0 (-> self dda red-shot-time-min)) - (f28-0 (-> self dda red-shot-time-rnd)) - (v1-65 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-66 (the-as number (logior #x3f800000 v1-65))) - ) - (set! (-> self till-next-shot) - (the int (+ f30-0 (the float (the int (* f28-0 (+ -1.0 (the-as float v1-66))))))) - ) + (let ((f30-0 (-> self dda red-shot-time-min)) + (f28-0 (-> self dda red-shot-time-rnd)) + ) + (set! (-> self till-next-shot) (the int (+ f30-0 (the float (the int (* f28-0 (rand-float-gen))))))) ) (when (not (robotboss-is-red-hit)) (ja-channel-push! 1 (seconds 0.2)) @@ -1902,12 +1745,10 @@ (stop! (-> self looping-sound 2)) ) (when (not (ja-group? robotboss-red-last-hit-ja)) - (let* ((v1-120 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-121 (the-as number (logior #x3f800000 v1-120))) - (f30-1 (+ -1.0 (the-as float v1-121))) - (gp-1 (new 'stack-no-clear 'redshot-launch-array)) - (s5-0 (-> self dda red-shots-min)) - ) + (let ((f30-1 (rand-float-gen)) + (gp-1 (new 'stack-no-clear 'redshot-launch-array)) + (s5-0 (-> self dda red-shots-min)) + ) (robotboss-yellow-eco-on) (robotboss-redshot-fill-array gp-1) (robotboss-redshot (the-as redshot-launch-info (-> gp-1 info)) #t) @@ -1921,10 +1762,7 @@ ) ) (when (not (robotboss-is-red-hit)) - (let* ((v1-135 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-136 (the-as number (logior #x3f800000 v1-135))) - (f0-33 (+ -1.0 (the-as float v1-136))) - ) + (let ((f0-33 (rand-float-gen))) (cond ((< 0.8333333 f0-33) (play-ambient (-> self ambient) "GOL-AM04" #t (the-as vector #f)) @@ -1964,16 +1802,13 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) ;; failed to figure out what this is: (defstate robotboss-red (robotboss) - :event - robotboss-handler - :enter - (behavior () + :event robotboss-handler + :enter (behavior () (set! (-> self old-loc quad) (-> self desired-loc quad)) (set-vector! (-> self desired-loc) 8192.0 -40960.0 327680.0 1.0) (set! (-> self loc-t) 0.0) @@ -1983,8 +1818,7 @@ (set-setting! *setting-control* self 'sound-flava #f (the-as float 40.0) 48) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-red-wait) (if (>= (-> self loc-t) 1.0) (go robotboss-red-wait) @@ -1992,8 +1826,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -2019,28 +1852,23 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) ;; failed to figure out what this is: (defstate robotboss-green-dark-bomb-wait (robotboss) - :event - robotboss-bomb-handler - :enter - (behavior () + :event robotboss-bomb-handler + :enter (behavior () (set! (-> self children-spawned) 0) 0 (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self ignore-camera) #f) (set! (-> self des-cam-entity) #f) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-red) (if (and (< (-> self children-spawned) 0) (or (not *target*) (!= (-> *target* control unknown-surface00 name) 'launch-jump)) @@ -2050,8 +1878,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -2082,14 +1909,12 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) ;; failed to figure out what this is: (defstate robotboss-green-dark-bomb (robotboss) - :enter - (behavior () + :enter (behavior () (set! (-> self old-loc quad) (-> self desired-loc quad)) (set-vector! (-> self desired-loc) 16384.0 -81920.0 716800.0 1.0) (set! (-> self loc-t) 0.0) @@ -2099,8 +1924,7 @@ (play-ambient (-> self ambient) "MAI-AM01" #t (the-as vector #f)) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-green-dark-bomb-wait) (robotboss-position) (if (>= (-> self loc-t) 1.0) @@ -2108,8 +1932,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja :group! robotboss-dark-reveal-green-ja) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) @@ -2130,8 +1953,7 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) ;; definition for function robotboss-greenshot @@ -2145,25 +1967,19 @@ (set! (-> s2-0 quad) (-> self entity extra trans quad)) (set! (-> s2-0 y) (+ -40960.0 (-> s2-0 y))) (vector+! s2-0 s2-0 arg0) - (let ((s1-1 (get-process *default-dead-pool* greenshot #x4000))) - (when s1-1 - (let ((t9-2 (method-of-type greenshot activate))) - (t9-2 (the-as greenshot s1-1) self 'greenshot (the-as pointer #x70004000)) - ) - (run-now-in-process s1-1 greenshot-init-by-other gp-0 s2-0 arg1 arg2) - (-> s1-1 ppointer) - ) - ) + (process-spawn greenshot gp-0 s2-0 arg1 arg2 :to self) ) (when arg3 - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 640) 300 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 640) + 300 + #f + #f + #f + gp-0 + :to *entity-pool* ) (sound-play-by-name (static-sound-name "green-fire") (new-sound-id) 1024 0 0 1 #t) ) @@ -2173,8 +1989,7 @@ ;; failed to figure out what this is: (defstate robotboss-green-wait (robotboss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (ja-channel-push! 1 (seconds 0.2)) @@ -2197,10 +2012,7 @@ ) ) (('hit-jak) - (let* ((v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-9 (the-as number (logior #x3f800000 v1-8))) - (f0-2 (+ -1.0 (the-as float v1-9))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.75 f0-2) (play-ambient (-> self ambient) "GOL-AM10" #t (the-as vector #f)) @@ -2218,10 +2030,7 @@ ) ) (('blob-died) - (let* ((v1-19 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-20 (the-as number (logior #x3f800000 v1-19))) - (f0-5 (+ -1.0 (the-as float v1-20))) - ) + (let ((f0-5 (rand-float-gen))) (cond ((< 0.75 f0-5) (play-ambient (-> self ambient) "MAI-AM02" #t (the-as vector #f)) @@ -2243,16 +2052,14 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (set! (-> self children-spawned) 0) (robotboss-setup-for-hits 2 5) (set! (-> self des-cam-entity) "camera-385") (none) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self shot-attractor)))) (if a0-1 (deactivate a0-1) @@ -2315,8 +2122,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-green-dark-bomb) (cond ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 0.4)) @@ -2362,20 +2168,12 @@ (< (-> self children-spawned) 10) ) (+! (-> self children-spawned) 1) - (let ((gp-0 (get-process *default-dead-pool* green-eco-lurker-gen #x4000))) - (when gp-0 - (let ((t9-16 (method-of-type green-eco-lurker-gen activate))) - (t9-16 (the-as green-eco-lurker-gen gp-0) self 'green-eco-lurker-gen (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - green-eco-lurker-gen-init-by-other - (-> self entity) - (-> self entity extra trans) - (-> self dda num-blobs) - ) - (-> gp-0 ppointer) - ) + (process-spawn + green-eco-lurker-gen + (-> self entity) + (-> self entity extra trans) + (-> self dda num-blobs) + :to self ) (set! (-> self old-loc quad) (-> self desired-loc quad)) (set-vector! (-> self desired-loc) 24576.0 0.0 655360.0 1.0) @@ -2394,8 +2192,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -2419,16 +2216,13 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) ;; failed to figure out what this is: (defstate robotboss-green (robotboss) - :event - robotboss-handler - :enter - (behavior () + :event robotboss-handler + :enter (behavior () (set! (-> self old-loc quad) (-> self desired-loc quad)) (set-vector! (-> self desired-loc) 24576.0 0.0 245760.0 1.0) (set! (-> self loc-t) 0.0) @@ -2439,8 +2233,7 @@ (set-setting! *setting-control* self 'sound-flava #f (the-as float 40.0) 47) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-green-wait) (if (>= (-> self loc-t) 1.0) (go robotboss-green-wait) @@ -2448,8 +2241,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -2475,28 +2267,23 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) ;; failed to figure out what this is: (defstate robotboss-blue-dark-bomb-wait (robotboss) - :event - robotboss-bomb-handler - :enter - (behavior () + :event robotboss-bomb-handler + :enter (behavior () (set! (-> self children-spawned) 0) 0 (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self ignore-camera) #f) (set! (-> self des-cam-entity) #f) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-green) (if (and (< (-> self children-spawned) 0) (or (not *target*) (!= (-> *target* control unknown-surface00 name) 'launch-jump)) @@ -2506,8 +2293,7 @@ (robotboss-position) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -2546,14 +2332,12 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) ;; failed to figure out what this is: (defstate robotboss-blue-dark-bomb (robotboss) - :enter - (behavior () + :enter (behavior () (set! (-> self old-loc quad) (-> self desired-loc quad)) (set-vector! (-> self desired-loc) 16384.0 -118784.0 614400.0 1.0) (set! (-> self loc-t) 0.0) @@ -2562,8 +2346,7 @@ (set! (-> self desired-pool-y) -28672.0) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-blue-dark-bomb-wait) (robotboss-position) (if (>= (-> self loc-t) 1.0) @@ -2571,8 +2354,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja :group! robotboss-dark-reveal-ja) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) @@ -2593,8 +2375,7 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) ;; definition for function robotboss-blue-beam @@ -2631,31 +2412,20 @@ (a2-0 (new 'stack-no-clear 'vector)) ) (vector-! a2-0 gp-0 s4-0) - (when (>= (fill-and-probe-using-line-sphere - *collide-cache* - s4-0 - a2-0 - (the-as float 4096.0) - (collide-kind target) - self - t2-0 - 1 - ) - 0.0 + (if (>= (fill-and-probe-using-line-sphere + *collide-cache* + s4-0 + a2-0 + (the-as float 4096.0) + (collide-kind target) + self + t2-0 + 1 ) - (let ((a1-13 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-13 from) self) - (set! (-> a1-13 num-params) 2) - (set! (-> a1-13 message) 'attack) - (set! (-> a1-13 param 0) (the-as uint #f)) - (let ((v1-50 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-50 shove-up) 10240.0) - (set! (-> v1-50 shove-back) 30720.0) - (set! (-> a1-13 param 1) (the-as uint v1-50)) - ) - (send-event-function *target* a1-13) + 0.0 + ) + (send-event *target* 'attack #f (static-attack-info ((shove-up (meters 2.5)) (shove-back (meters 7.5))))) ) - ) ) ) ) @@ -2671,23 +2441,12 @@ (spawn (-> self particle 1) gp-0) (when (and arg1 (nonzero? (-> self looping-sound 1))) (update! (-> self looping-sound 1)) - (when (and *target* - (zero? (logand (-> *target* state-flags) (state-flags sf03 sf04 sf05 sf06 sf07 sf15))) - (>= 8192.0 (vector-vector-distance gp-0 (target-pos 0))) - ) - (let ((a1-16 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-16 from) self) - (set! (-> a1-16 num-params) 2) - (set! (-> a1-16 message) 'attack) - (set! (-> a1-16 param 0) (the-as uint #f)) - (let ((v1-80 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-80 shove-up) 10240.0) - (set! (-> v1-80 shove-back) 30720.0) - (set! (-> a1-16 param 1) (the-as uint v1-80)) - ) - (send-event-function *target* a1-16) + (if (and *target* + (zero? (logand (-> *target* state-flags) (state-flags sf03 sf04 sf05 sf06 sf07 sf15))) + (>= 8192.0 (vector-vector-distance gp-0 (target-pos 0))) + ) + (send-event *target* 'attack #f (static-attack-info ((shove-up (meters 2.5)) (shove-back (meters 7.5))))) ) - ) ) ) ((nonzero? (-> self looping-sound 1)) @@ -2792,10 +2551,8 @@ ;; failed to figure out what this is: (defstate robotboss-blue-wait (robotboss) - :event - robotboss-handler - :enter - (behavior () + :event robotboss-handler + :enter (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (robotboss-setup-for-hits 4 5) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) @@ -2818,8 +2575,7 @@ (robotboss-yellow-eco-on) (none) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self shot-attractor)))) (if a0-1 (deactivate a0-1) @@ -2876,8 +2632,7 @@ (robotboss-cut-cam-exit) (none) ) - :trans - (behavior () + :trans (behavior () (robotboss-always-trans robotboss-blue-dark-bomb) (robotboss-shooting-trans 9) (cond @@ -2892,27 +2647,19 @@ (set! (-> self blue-smoke) #t) (let ((gp-1 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-1 (-> self node-list data 7)) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-9 (method-of-type part-tracker activate))) - (t9-9 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 644) 300 #f #f #f gp-1) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 644) + 300 + #f + #f + #f + gp-1 + :to *entity-pool* ) ) - (let* ((s5-2 (get-process *default-dead-pool* manipy #x4000)) - (gp-2 - (when s5-2 - (let ((t9-12 (method-of-type manipy activate))) - (t9-12 (the-as manipy s5-2) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 manipy-init (-> self root-override trans) (-> self entity) *robotboss-blueeco-sg* #f) - (-> s5-2 ppointer) - ) - ) - ) + (let ((gp-2 (manipy-spawn (-> self root-override trans) (-> self entity) *robotboss-blueeco-sg* #f :to self))) (send-event (ppointer->process (-> self parent)) 'flash 255.0) (send-event (ppointer->process gp-2) 'anim-mode 'play1) (send-event (ppointer->process gp-2) 'rot-quat (-> self root-override quat)) @@ -2933,10 +2680,7 @@ (robotboss-blue-beam 8 #t) (robotboss-blue-beam 9 #f) (when (TODO-RENAME-10 (-> self ambient) (new 'stack-no-clear 'vector) (seconds 10) (the-as float 327680.0) self) - (let* ((v1-73 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-74 (the-as number (logior #x3f800000 v1-73))) - (f0-2 (+ -1.0 (the-as float v1-74))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.8 f0-2) (play-ambient (-> self ambient) "GOL-AM02" #t (the-as vector #f)) @@ -2960,8 +2704,7 @@ (robotboss-cut-cam (the-as float 5.0) (the-as float 50.0) (the-as int robotboss-blue-roar-ja)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.4)) (ja-no-eval :group! robotboss-idle-blue-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -3007,8 +2750,7 @@ ) (none) ) - :post - (the-as (function none :behavior robotboss) transform-post) + :post (the-as (function none :behavior robotboss) transform-post) ) ;; definition for method 11 of type robotboss diff --git a/test/decompiler/reference/levels/finalboss/sage-finalboss-part_REF.gc b/test/decompiler/reference/levels/finalboss/sage-finalboss-part_REF.gc index 876252cc4c..d7349af379 100644 --- a/test/decompiler/reference/levels/finalboss/sage-finalboss-part_REF.gc +++ b/test/decompiler/reference/levels/finalboss/sage-finalboss-part_REF.gc @@ -6,8 +6,7 @@ :id 682 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2825 :period 300 :length 5 :binding 2823) + :parts ((sp-item 2825 :period 300 :length 5 :binding 2823) (sp-item 2823 :flags (start-dead launch-asap) :binding 2824) (sp-item 2823 :flags (start-dead launch-asap) :binding 2824) (sp-item 2824 :flags (start-dead)) @@ -20,8 +19,7 @@ ;; failed to figure out what this is: (defpart 2825 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -2.5) (meters 5) 1.0) (sp-rnd-flt spt-y (meters -1.5) (meters 3) 1.0) @@ -38,8 +36,7 @@ ;; failed to figure out what this is: (defpart 2823 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -63,8 +60,7 @@ ;; failed to figure out what this is: (defpart 2824 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -84,8 +80,7 @@ ;; failed to figure out what this is: (defpart 2827 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters -3.90625)) (sp-flt spt-scale-x (meters 15)) @@ -101,8 +96,7 @@ ;; failed to figure out what this is: (defpart 2826 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.3) (sp-rnd-flt spt-x (meters -4) (meters 8) 1.0) (sp-rnd-flt spt-y (meters -3) (meters 6) 1.0) @@ -127,8 +121,7 @@ ;; failed to figure out what this is: (defpart 2828 - :init-specs - ((sp-flt spt-fade-a 0.0) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 300 299 1) (sp-launcher-by-id spt-next-launcher 2829) ) @@ -136,8 +129,7 @@ ;; failed to figure out what this is: (defpart 2829 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) ;; failed to figure out what this is: @@ -146,8 +138,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2921) + :parts ((sp-item 2921) (sp-item 2922 :flags (is-3d)) (sp-item 2923 :flags (is-3d)) (sp-item 2924 :flags (is-3d)) @@ -158,8 +149,7 @@ ;; failed to figure out what this is: (defpart 2921 - :init-specs - ((sp-flt spt-num 1.5) + :init-specs ((sp-flt spt-num 1.5) (sp-flt spt-x (meters 2.5)) (sp-flt spt-y (meters -0.5)) (sp-int spt-rot-x 8) @@ -177,14 +167,12 @@ ;; failed to figure out what this is: (defpart 2927 - :init-specs - ((sp-flt spt-fade-b -4.551111)) + :init-specs ((sp-flt spt-fade-b -4.551111)) ) ;; failed to figure out what this is: (defpart 2924 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 2) 1.0) (sp-flt spt-y (meters 0.1)) @@ -205,8 +193,7 @@ ;; failed to figure out what this is: (defpart 2922 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 2) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -228,8 +215,7 @@ ;; failed to figure out what this is: (defpart 2923 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-rnd-flt spt-x (meters 1.8) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) @@ -250,8 +236,7 @@ ;; failed to figure out what this is: (defpart 2925 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 3.0 1.0) (sp-rnd-flt spt-x (meters 0) (meters 5.5) 1.0) (sp-flt spt-y (meters -0.5)) @@ -276,8 +261,7 @@ ;; failed to figure out what this is: (defpart 2926 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 3.0 1.0) (sp-rnd-flt spt-x (meters 0) (meters 5) 1.0) (sp-flt spt-y (meters -0.5)) @@ -304,8 +288,7 @@ ;; failed to figure out what this is: (defpart 2928 - :init-specs - ((sp-flt spt-fade-a -0.18)) + :init-specs ((sp-flt spt-fade-a -0.18)) ) ;; failed to figure out what this is: @@ -314,14 +297,12 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2929) (sp-item 2930)) + :parts ((sp-item 2929) (sp-item 2930)) ) ;; failed to figure out what this is: (defpart 2930 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.2 1.0) (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) @@ -348,14 +329,12 @@ ;; failed to figure out what this is: (defpart 2931 - :init-specs - ((sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-a -0.10666667)) ) ;; failed to figure out what this is: (defpart 2929 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 8.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -381,8 +360,7 @@ ;; failed to figure out what this is: (defpart 2932 - :init-specs - ((sp-flt spt-userdata 2048000.0)) + :init-specs ((sp-flt spt-userdata 2048000.0)) ) ;; definition for function check-drop-level-eichar-lighteco-pops @@ -414,8 +392,7 @@ ;; failed to figure out what this is: (defpart 2934 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -432,8 +409,7 @@ ;; failed to figure out what this is: (defpart 2933 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 4.0 4.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -457,14 +433,12 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2892)) + :parts ((sp-item 2892)) ) ;; failed to figure out what this is: (defpart 2892 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 4.0 3.0 1.0) (sp-rnd-flt spt-x (meters -0.2) (meters -0.1) 1.0) (sp-rnd-flt spt-z (meters 0.2) (meters 0.1) 1.0) @@ -492,14 +466,12 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2893) (sp-item 2935)) + :parts ((sp-item 2893) (sp-item 2935)) ) ;; failed to figure out what this is: (defpart 2935 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters -0.2) (meters -0.1) 1.0) (sp-rnd-flt spt-z (meters 0.2) (meters 0.1) 1.0) @@ -519,8 +491,7 @@ ;; failed to figure out what this is: (defpart 2893 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.2) (meters -0.1) 1.0) (sp-rnd-flt spt-z (meters 0.2) (meters 0.1) 1.0) @@ -546,8 +517,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2936 :period 36 :length 5) + :parts ((sp-item 2936 :period 36 :length 5) (sp-item 2936 :period 140 :length 5) (sp-item 2936 :period 61 :length 5) (sp-item 2894 :period 15 :length 5) @@ -557,8 +527,7 @@ ;; failed to figure out what this is: (defpart 2937 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 4) (meters 16) 1.0) @@ -575,8 +544,7 @@ ;; failed to figure out what this is: (defpart 2894 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -603,8 +571,7 @@ ;; failed to figure out what this is: (defpart 2936 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-int spt-num 0 1 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1) 1.0) @@ -637,8 +604,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2939 :period 1200 :length 20 :binding 2938) + :parts ((sp-item 2939 :period 1200 :length 20 :binding 2938) (sp-item 2940 :period 1200 :length 5) (sp-item 2941 :period 1200 :length 40) (sp-item 2942 :period 1200 :length 20) @@ -666,8 +632,7 @@ ;; failed to figure out what this is: (defpart 2939 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0) @@ -693,8 +658,7 @@ ;; failed to figure out what this is: (defpart 2938 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 4) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -716,14 +680,12 @@ ;; failed to figure out what this is: (defpart 2946 - :init-specs - ((sp-flt spt-fade-g -0.14222223) (sp-flt spt-fade-b -0.14222223)) + :init-specs ((sp-flt spt-fade-g -0.14222223) (sp-flt spt-fade-b -0.14222223)) ) ;; failed to figure out what this is: (defpart 2945 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 10)) (sp-rnd-flt spt-scale-x (meters 8) (meters 60) 1.0) @@ -745,14 +707,12 @@ ;; failed to figure out what this is: (defpart 2947 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) ;; failed to figure out what this is: (defpart 2941 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 128.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 4) (meters 1) 1.0) @@ -776,14 +736,12 @@ ;; failed to figure out what this is: (defpart 2948 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 2944 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 16.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 2) (meters 1) 1.0) @@ -802,8 +760,7 @@ ;; failed to figure out what this is: (defpart 2940 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 256)) @@ -820,8 +777,7 @@ ;; failed to figure out what this is: (defpart 2942 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters -8) (meters 16) 1.0) (sp-rnd-flt spt-scale-x (meters 20) (meters 40) 1.0) @@ -848,8 +804,7 @@ ;; failed to figure out what this is: (defpart 2943 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 20.0) (sp-rnd-flt spt-y (meters -8) (meters 16) 1.0) (sp-rnd-flt spt-scale-x (meters 40) (meters 40) 1.0) @@ -880,14 +835,12 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2949) (sp-item 2950)) + :parts ((sp-item 2949) (sp-item 2950)) ) ;; failed to figure out what this is: (defpart 2950 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 128.0) (sp-rnd-flt spt-x (meters 0) (meters 5) 1.0) (sp-flt spt-y (meters -8)) @@ -915,14 +868,12 @@ ;; failed to figure out what this is: (defpart 2951 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334)) ) ;; failed to figure out what this is: (defpart 2949 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-x (meters 0) (meters 10) 1.0) (sp-flt spt-y (meters -10)) @@ -949,8 +900,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2952 :flags (is-3d)) + :parts ((sp-item 2952 :flags (is-3d)) (sp-item 2953 :flags (is-3d)) (sp-item 2954 :flags (is-3d)) (sp-item 2955) @@ -962,8 +912,7 @@ ;; failed to figure out what this is: (defpart 2952 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.1) (sp-flt spt-y (meters 10)) (sp-flt spt-z (meters 4)) @@ -986,14 +935,12 @@ ;; failed to figure out what this is: (defpart 2959 - :init-specs - ((sp-flt spt-fade-a -0.16)) + :init-specs ((sp-flt spt-fade-a -0.16)) ) ;; failed to figure out what this is: (defpart 2953 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.1) (sp-flt spt-y (meters 10)) (sp-flt spt-z (meters 4)) @@ -1016,8 +963,7 @@ ;; failed to figure out what this is: (defpart 2954 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.1) (sp-flt spt-y (meters 0.5)) (sp-flt spt-z (meters 4)) @@ -1041,8 +987,7 @@ ;; failed to figure out what this is: (defpart 2955 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-flt spt-y (meters 10)) (sp-flt spt-z (meters 8)) @@ -1067,8 +1012,7 @@ ;; failed to figure out what this is: (defpart 2956 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 10)) (sp-flt spt-z (meters 8)) @@ -1093,8 +1037,7 @@ ;; failed to figure out what this is: (defpart 2957 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters 10) (meters 40) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 20) 1.0) @@ -1116,14 +1059,12 @@ ;; failed to figure out what this is: (defpart 2960 - :init-specs - ((sp-flt spt-fade-a -0.85333335)) + :init-specs ((sp-flt spt-fade-a -0.85333335)) ) ;; failed to figure out what this is: (defpart 2958 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 10) (meters 30) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 20) 1.0) @@ -1147,8 +1088,7 @@ ;; failed to figure out what this is: (defpart 2961 - :init-specs - ((sp-flt spt-userdata 4096000.0)) + :init-specs ((sp-flt spt-userdata 4096000.0)) ) ;; definition for function check-drop-level-bigdoor-open-pops @@ -1180,8 +1120,7 @@ ;; failed to figure out what this is: (defpart 2963 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1198,8 +1137,7 @@ ;; failed to figure out what this is: (defpart 2962 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 4.0 4.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1222,14 +1160,12 @@ :id 706 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2965)) + :parts ((sp-item 2965)) ) ;; failed to figure out what this is: (defpart 2965 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters -3.90625)) (sp-flt spt-scale-x (meters 15)) diff --git a/test/decompiler/reference/levels/finalboss/sage-finalboss_REF.gc b/test/decompiler/reference/levels/finalboss/sage-finalboss_REF.gc index f48fbe9c49..7bf62e17f3 100644 --- a/test/decompiler/reference/levels/finalboss/sage-finalboss_REF.gc +++ b/test/decompiler/reference/levels/finalboss/sage-finalboss_REF.gc @@ -88,8 +88,7 @@ ;; failed to figure out what this is: (defstate plat-path-active (plat-eco-finalboss) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('target) (process-entity-status! self (entity-perm-status complete) #t) @@ -122,8 +121,7 @@ ) ) ) - :enter - (behavior ((arg0 plat)) + :enter (behavior ((arg0 plat)) (set! (-> self state-time) (-> *display* base-frame-counter)) (lods-assign! (-> self draw) (-> self lit-look)) (process-entity-status! self (entity-perm-status complete) #t) @@ -138,8 +136,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((s5-0 (eval-path-curve! (-> self path) (new 'stack-no-clear 'vector) 0.0 'interp)) (gp-0 (eval-path-curve! (-> self path) (new 'stack-no-clear 'vector) 1.0 'interp)) ) @@ -180,16 +177,9 @@ ) ) (plat-trans) - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) self) - (set! (-> a1-8 num-params) 2) - (set! (-> a1-8 message) 'query) - (set! (-> a1-8 param 0) (the-as uint 'powerup)) - (set! (-> a1-8 param 1) (the-as uint 1)) - (when (send-event-function *target* a1-8) - (process-entity-status! self (entity-perm-status complete) #t) - (set! (-> self force-dest) 0.0) - ) + (when (send-event *target* 'query 'powerup (pickup-type eco-yellow)) + (process-entity-status! self (entity-perm-status complete) #t) + (set! (-> self force-dest) 0.0) ) (none) ) @@ -310,18 +300,9 @@ (defmethod play-reminder sage-finalboss ((obj sage-finalboss)) (let ((s5-0 (entity-by-name "red-sagecage-1"))) (when s5-0 - (let ((s4-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj redsage) - (ppointer->handle (when s4-0 - (let ((t9-2 (method-of-type manipy activate))) - (t9-2 (the-as manipy s4-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 manipy-init (-> obj root-override trans) s5-0 *redsage-sg* #f) - (-> s4-0 ppointer) - ) - ) - ) - ) + (set! (-> obj redsage) + (ppointer->handle (manipy-spawn (-> obj root-override trans) s5-0 *redsage-sg* #f :to obj)) + ) (send-event (handle->process (-> obj redsage)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj redsage)) 'blend-shape #t) (send-event (handle->process (-> obj redsage)) 'center-joint 3) @@ -330,18 +311,9 @@ ) (let ((s5-1 (entity-by-name "blue-sagecage-1"))) (when s5-1 - (let ((s4-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj bluesage) - (ppointer->handle (when s4-1 - (let ((t9-10 (method-of-type manipy activate))) - (t9-10 (the-as manipy s4-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 manipy-init (-> obj root-override trans) s5-1 *bluesage-sg* #f) - (-> s4-1 ppointer) - ) - ) - ) - ) + (set! (-> obj bluesage) + (ppointer->handle (manipy-spawn (-> obj root-override trans) s5-1 *bluesage-sg* #f :to obj)) + ) (send-event (handle->process (-> obj bluesage)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj bluesage)) 'blend-shape #t) (send-event (handle->process (-> obj bluesage)) 'center-joint 3) @@ -352,19 +324,9 @@ (the-as symbol (when s5-2 - (let ((s4-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj yellowsage) - (ppointer->handle - (when s4-2 - (let ((t9-18 (method-of-type manipy activate))) - (t9-18 (the-as manipy s4-2) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s4-2 manipy-init (-> obj root-override trans) s5-2 *yellowsage-sg* #f) - (-> s4-2 ppointer) - ) - ) - ) - ) + (set! (-> obj yellowsage) + (ppointer->handle (manipy-spawn (-> obj root-override trans) s5-2 *yellowsage-sg* #f :to obj)) + ) (send-event (handle->process (-> obj yellowsage)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj yellowsage)) 'blend-shape #t) (send-event (handle->process (-> obj yellowsage)) 'center-joint 3) @@ -381,19 +343,9 @@ (the-as symbol (when s5-0 - (let ((s4-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj assistant) - (ppointer->handle - (when s4-0 - (let ((t9-2 (method-of-type manipy activate))) - (t9-2 (the-as manipy s4-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 manipy-init (-> obj root-override trans) s5-0 *assistant-lavatube-end-sg* #f) - (-> s4-0 ppointer) - ) - ) - ) - ) + (set! (-> obj assistant) + (ppointer->handle (manipy-spawn (-> obj root-override trans) s5-0 *assistant-lavatube-end-sg* #f :to obj)) + ) (let ((s5-1 (handle->process (-> obj assistant)))) (if (the-as manipy s5-1) (set! (-> (the-as manipy s5-1) draw level-index) (the-as uint (-> (level-get *level* 'finalboss) index))) @@ -422,27 +374,16 @@ :name "green-sagecage-daxter-sacrifice" :index 8 :parts 6 - :command-list - '((1 blackout 0) (236 joint "cameraB") (439 joint "camera")) + :command-list '((1 blackout 0) (236 joint "cameraB") (439 joint "camera")) ) ) (((task-status need-introduction)) (when arg0 (set-yaw-angle-clear-roll-pitch! (-> obj root-override) 0.0) (close-current! (-> obj tasks)) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj jak-white) - (ppointer->handle - (when s5-1 - (let ((t9-6 (method-of-type manipy activate))) - (t9-6 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *jak-white-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> obj jak-white) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *jak-white-sg* #f :to obj)) + ) (send-event (handle->process (-> obj jak-white)) 'eval @@ -451,19 +392,11 @@ (send-event (handle->process (-> obj jak-white)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj jak-white)) 'origin-joint-index 3) (send-event (handle->process (-> obj jak-white)) 'blend-shape #t) - (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj robotboss) - (ppointer->handle - (when s5-2 - (let ((t9-13 (method-of-type manipy activate))) - (t9-13 (the-as manipy s5-2) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 manipy-init (-> obj root-override trans) (-> obj entity) *robotboss-cinematic-sg* #f) - (-> s5-2 ppointer) - ) - ) + (set! (-> obj robotboss) + (ppointer->handle + (manipy-spawn (-> obj root-override trans) (-> obj entity) *robotboss-cinematic-sg* #f :to obj) ) - ) + ) (send-event (handle->process (-> obj robotboss)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj robotboss)) 'origin-joint-index 3) (let ((v1-67 (handle->process (-> obj robotboss)))) @@ -471,19 +404,9 @@ (set! (-> (the-as manipy v1-67) draw bounds w) 2048000.0) ) ) - (let ((s5-3 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj silodoor) - (ppointer->handle - (when s5-3 - (let ((t9-18 (method-of-type manipy activate))) - (t9-18 (the-as manipy s5-3) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-3 manipy-init (-> obj root-override trans) (-> obj entity) *silodoor-sg* #f) - (-> s5-3 ppointer) - ) - ) - ) - ) + (set! (-> obj silodoor) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *silodoor-sg* #f :to obj)) + ) (send-event (handle->process (-> obj silodoor)) 'anim-mode 'clone-anim) (let ((v1-84 (handle->process (-> obj silodoor)))) (if (the-as manipy v1-84) @@ -498,8 +421,7 @@ :name "green-sagecage-outro-beat-boss-a" :index 9 :parts 8 - :command-list - '((0 send-event self activate-particle 0) + :command-list '((0 send-event self activate-particle 0) (0 send-event self activate-particle 1) (0 send-event self activate-particle 7) (1 blackout 0) @@ -543,26 +465,11 @@ (play-reminder obj) (dummy-45 obj) (set! (-> obj kick-the-credits) #t) - (let ((s5-5 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj robotplat) - (ppointer->handle - (when s5-5 - (let ((t9-30 (method-of-type manipy activate))) - (t9-30 (the-as manipy s5-5) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-5 - manipy-init - (-> obj root-override trans) - (-> obj entity) - *plat-eco-finalboss-lit-sg* - #f - ) - (-> s5-5 ppointer) - ) - ) + (set! (-> obj robotplat) + (ppointer->handle + (manipy-spawn (-> obj root-override trans) (-> obj entity) *plat-eco-finalboss-lit-sg* #f :to obj) ) - ) + ) (send-event (handle->process (-> obj robotplat)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj robotplat)) 'origin-joint-index 3) (set! (-> obj old-target-pos trans quad) @@ -578,8 +485,7 @@ :name "green-sagecage-outro-beat-boss-b" :index 10 :parts 27 - :command-list - '((0 kill "crate-3250") + :command-list '((0 kill "crate-3250") (0 kill "crate-3251") (0 kill "crate-3252") (0 kill "crate-3253") @@ -618,12 +524,10 @@ (cond ((target-has-all-the-cells?) (new 'static 'spool-anim - :name - "green-sagecage-outro-beat-boss-enough-cells" + :name "green-sagecage-outro-beat-boss-enough-cells" :index 12 :parts 6 - :command-list - '((0 send-event self fade) + :command-list '((0 send-event self fade) (1 blackout 0) (65 joint "cameraB") (104 joint "camera") @@ -640,12 +544,10 @@ (set-setting! *setting-control* pp 'allow-progress #f 0.0 0) ) (new 'static 'spool-anim - :name - "green-sagecage-outro-beat-boss-need-cells" + :name "green-sagecage-outro-beat-boss-need-cells" :index 11 :parts 8 - :command-list - '((0 send-event self fade) + :command-list '((0 send-event self fade) (1 blackout 0) (65 joint "cameraB") (104 joint "camera") @@ -672,8 +574,7 @@ :name "green-sagecage-outro-big-finish" :index 13 :parts 7 - :command-list - '((1 blackout 0) + :command-list '((1 blackout 0) (61 joint "cameraB") (102 joint "camera") (145 joint "cameraB") @@ -741,8 +642,7 @@ ;; failed to figure out what this is: (defstate play-anim (sage-finalboss) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('fade) (let ((f0-0 1.0)) @@ -768,14 +668,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self credit-fade) 0.0) ((-> (method-of-type process-taskable play-anim) enter)) (none) ) - :exit - (behavior () + :exit (behavior () (when (= (current-status (-> self tasks)) (task-status invalid)) (cond ((not (-> self credits-played)) @@ -886,8 +784,7 @@ ((-> (method-of-type process-taskable play-anim) exit)) (none) ) - :trans - (behavior () + :trans (behavior () (local-vars (f28-0 float)) (when (-> self left-door) (let ((f30-0 (ja-aframe-num 0))) @@ -1062,16 +959,14 @@ ;; failed to figure out what this is: (defstate sage-finalboss-credits (sage-finalboss) - :exit - (behavior () + :exit (behavior () (when (= (current-status (-> self tasks)) (task-status invalid)) (set-blackout-frames 0) (initialize! *game-info* 'game (the-as game-save #f) "title-start") ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (s5-0 symbol)) (set! (-> self credits-played) #t) (set-blackout-frames 0) @@ -1176,15 +1071,13 @@ ;; failed to figure out what this is: (defstate hidden (sage-finalboss) :virtual #t - :enter - (behavior () + :enter (behavior () (sage-finalboss-extra-enter) ((-> (method-of-type process-taskable hidden) enter)) (clear-pending-settings-from-process *setting-control* self 'allow-progress) (none) ) - :trans - (behavior () + :trans (behavior () (sage-finalboss-extra-trans) ((-> (method-of-type process-taskable hidden) trans)) (none) @@ -1194,14 +1087,12 @@ ;; failed to figure out what this is: (defstate idle (sage-finalboss) :virtual #t - :enter - (behavior () + :enter (behavior () (sage-finalboss-extra-enter) ((-> (method-of-type process-taskable idle) enter)) (none) ) - :trans - (behavior () + :trans (behavior () (sage-finalboss-extra-trans) ((-> (method-of-type process-taskable idle) trans)) (none) diff --git a/test/decompiler/reference/levels/firecanyon/assistant-firecanyon_REF.gc b/test/decompiler/reference/levels/firecanyon/assistant-firecanyon_REF.gc index c1763f3b30..9553cc3346 100644 --- a/test/decompiler/reference/levels/firecanyon/assistant-firecanyon_REF.gc +++ b/test/decompiler/reference/levels/firecanyon/assistant-firecanyon_REF.gc @@ -38,8 +38,7 @@ :name "assistant-firecanyon-resolution" :index 13 :parts 11 - :command-list - '((0 want-levels village1 firecanyon) + :command-list '((0 want-levels village1 firecanyon) (151 joint "cameraB") (346 joint "camera") (346 shadow self #f) @@ -80,8 +79,7 @@ ;; failed to figure out what this is: (defstate hidden (assistant-firecanyon) :virtual #t - :trans - (behavior () + :trans (behavior () ((-> (method-of-type process-taskable hidden) trans)) (when (and (cond ((and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) @@ -138,8 +136,7 @@ ;; failed to figure out what this is: (defstate idle (assistant-firecanyon) :virtual #t - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) ) @@ -147,32 +144,23 @@ (let ((gp-0 #t)) (cond ((= (current-status (-> self tasks)) (task-status invalid)) - (let* ((v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-9 (the-as number (logior #x3f800000 v1-8))) - ) - (when (< (+ -1.0 (the-as float v1-9)) 0.5) - (ja :group! assistant-firecanyon-idle-a-ja) - (let* ((f30-0 2.0) - (v1-16 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-17 (the-as number (logior #x3f800000 v1-16))) - ) - (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-17)))) 3)) - (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) + (when (< (rand-float-gen) 0.5) + (ja :group! assistant-firecanyon-idle-a-ja) + (let* ((f30-0 2.0) + (v1-16 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-17 (the-as number (logior #x3f800000 v1-16))) + ) + (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-17)))) 3)) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) ) ) - (set! gp-0 #f) ) + (set! gp-0 #f) ) - (when (or gp-0 (let* ((v1-53 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-54 (the-as number (logior #x3f800000 v1-53))) - ) - (< (+ -1.0 (the-as float v1-54)) 0.5) - ) - ) + (when (or gp-0 (< (rand-float-gen) 0.5)) (ja-no-eval :group! assistant-firecanyon-idle-to-b-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -197,46 +185,33 @@ (ja :num! (seek!)) ) ) - (let* ((v1-140 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-141 (the-as number (logior #x3f800000 v1-140))) - ) - (when (< (+ -1.0 (the-as float v1-141)) 0.25) - (ja :group! assistant-firecanyon-idle-wipe-brow-ja) - (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) + (when (< (rand-float-gen) 0.25) + (ja :group! assistant-firecanyon-idle-wipe-brow-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) ) ) ) (else - (let* ((v1-176 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-177 (the-as number (logior #x3f800000 v1-176))) - ) - (when (< (+ -1.0 (the-as float v1-177)) 0.8) - (ja :group! assistant-firecanyon-idle-twist-ja) - (let* ((f30-2 4.0) - (v1-184 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-185 (the-as number (logior #x3f800000 v1-184))) - ) - (countdown (gp-3 (+ (the int (* f30-2 (+ -1.0 (the-as float v1-185)))) 8)) - (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) + (when (< (rand-float-gen) 0.8) + (ja :group! assistant-firecanyon-idle-twist-ja) + (let* ((f30-2 4.0) + (v1-184 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-185 (the-as number (logior #x3f800000 v1-184))) + ) + (countdown (gp-3 (+ (the int (* f30-2 (+ -1.0 (the-as float v1-185)))) 8)) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) ) ) - (set! gp-0 #f) ) + (set! gp-0 #f) ) - (when (or gp-0 (let* ((v1-221 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-222 (the-as number (logior #x3f800000 v1-221))) - ) - (< (+ -1.0 (the-as float v1-222)) 0.5) - ) - ) + (when (or gp-0 (< (rand-float-gen) 0.5)) (ja-no-eval :group! assistant-firecanyon-idle-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -261,21 +236,17 @@ (ja :num! (seek!)) ) ) - (let* ((v1-308 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-309 (the-as number (logior #x3f800000 v1-308))) - ) - (when (< (+ -1.0 (the-as float v1-309)) 0.5) - (ja :group! assistant-firecanyon-idle-fiddle-ja) - (let* ((f30-4 2.0) - (v1-316 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-317 (the-as number (logior #x3f800000 v1-316))) - ) - (countdown (gp-5 (+ (the int (* f30-4 (+ -1.0 (the-as float v1-317)))) 3)) - (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) + (when (< (rand-float-gen) 0.5) + (ja :group! assistant-firecanyon-idle-fiddle-ja) + (let* ((f30-4 2.0) + (v1-316 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-317 (the-as number (logior #x3f800000 v1-316))) + ) + (countdown (gp-5 (+ (the int (* f30-4 (+ -1.0 (the-as float v1-317)))) 3)) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) ) ) ) diff --git a/test/decompiler/reference/levels/firecanyon/firecanyon-obs_REF.gc b/test/decompiler/reference/levels/firecanyon/firecanyon-obs_REF.gc index f526b53ed8..aba54de0f7 100644 --- a/test/decompiler/reference/levels/firecanyon/firecanyon-obs_REF.gc +++ b/test/decompiler/reference/levels/firecanyon/firecanyon-obs_REF.gc @@ -31,14 +31,12 @@ :id 227 :duration 5 :bounds (static-bspherem 0 0 0 15) - :parts - ((sp-item 1006) (sp-item 1007) (sp-item 1008)) + :parts ((sp-item 1006) (sp-item 1007) (sp-item 1008)) ) ;; failed to figure out what this is: (defpart 1007 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 2) 1.0) @@ -59,8 +57,7 @@ ;; failed to figure out what this is: (defpart 1008 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-flt spt-y (meters 2)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0) @@ -84,8 +81,7 @@ ;; failed to figure out what this is: (defpart 1006 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 12)) @@ -103,29 +99,21 @@ ;; failed to figure out what this is: (defstate balloon-popping (balloon) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) (ja-post) (sound-play-by-name (static-sound-name "cool-balloon") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 227) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 227) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (suspend) (cleanup-for-death self) @@ -136,8 +124,7 @@ ;; failed to figure out what this is: (defstate balloon-idle (balloon) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (send-event arg0 'heat -10.0) @@ -145,8 +132,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (transform-post) (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) @@ -157,8 +143,7 @@ ) (none) ) - :post - (the-as (function none :behavior balloon) ja-post) + :post (the-as (function none :behavior balloon) ja-post) ) ;; definition for method 11 of type balloon @@ -217,8 +202,7 @@ ;; failed to figure out what this is: (defstate spike-up (spike) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'go-spike-up) #t @@ -226,26 +210,20 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (nonzero? (-> self num-alts)) (let ((s5-0 (/ (-> self num-alts) 2)) (gp-0 #t) ) (while (< s5-0 (+ (-> self num-alts) -1)) (let ((v1-2 (entity-actor-lookup (-> self entity) 'alt-actor s5-0))) - (if (and v1-2 (-> v1-2 extra process) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) 'go-spike-up) - (not (send-event-function - (if v1-2 - (-> v1-2 extra process) - ) - a1-1 - ) + (if (and v1-2 (-> v1-2 extra process) (not (send-event + (if v1-2 + (-> v1-2 extra process) + ) + 'go-spike-up ) - ) + ) ) (set! gp-0 #f) ) @@ -260,8 +238,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) @@ -277,8 +254,7 @@ ;; failed to figure out what this is: (defstate spike-down (spike) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'go-spike-up) (go spike-up) @@ -287,26 +263,20 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (nonzero? (-> self num-alts)) (let ((s5-0 0) (gp-0 #t) ) (while (< s5-0 (/ (-> self num-alts) 2)) (let ((v1-1 (entity-actor-lookup (-> self entity) 'alt-actor s5-0))) - (if (and v1-1 (-> v1-1 extra process) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) 'go-spike-up) - (not (send-event-function - (if v1-1 - (-> v1-1 extra process) - ) - a1-1 - ) + (if (and v1-1 (-> v1-1 extra process) (not (send-event + (if v1-1 + (-> v1-1 extra process) + ) + 'go-spike-up ) - ) + ) ) (set! gp-0 #f) ) @@ -321,8 +291,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (transform-post) (loop (suspend) @@ -333,16 +302,9 @@ ;; failed to figure out what this is: (defstate spike-idle (spike) - :trans - (behavior () + :trans (behavior () (when (and *target* - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'mode)) - (= (send-event-function *target* a1-0) 'racer) - ) + (= (send-event *target* 'query 'mode) 'racer) (< (vector-vector-distance (-> self root-override trans) (target-pos 0)) 225280.0) ) (sound-play-by-name (static-sound-name "magma-rock") (new-sound-id) 1024 0 0 1 #t) @@ -352,11 +314,7 @@ ((>= 1 v1-8) (go spike-up) ) - ((let* ((v1-11 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-12 (the-as number (logior #x3f800000 v1-11))) - ) - (< (+ -1.0 (the-as float v1-12)) 0.5) - ) + ((< (rand-float-gen) 0.5) (go spike-down) ) (else @@ -367,8 +325,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (transform-post) (loop (suspend) @@ -475,8 +432,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2100 :period 600 :length 5) + :parts ((sp-item 2100 :period 600 :length 5) (sp-item 2101 :period 600 :length 40) (sp-item 2102 :period 600 :length 20) (sp-item 2103 :period 600 :length 20) @@ -550,8 +506,7 @@ ;; failed to figure out what this is: (defpart 2104 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 2) 1.0) @@ -571,8 +526,7 @@ ;; failed to figure out what this is: (defpart 2101 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -598,14 +552,12 @@ ;; failed to figure out what this is: (defpart 2105 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 2103 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-flt spt-scale-x (meters 0.3)) @@ -624,8 +576,7 @@ ;; failed to figure out what this is: (defpart 2100 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 24)) @@ -642,8 +593,7 @@ ;; failed to figure out what this is: (defpart 2102 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) @@ -671,29 +621,21 @@ ;; failed to figure out what this is: (defstate die (crate-darkeco-cluster) :virtual #t - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) (ja-post) (sound-play-by-name (static-sound-name "dcrate-break") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 228) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 228) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (suspend) (cleanup-for-death self) @@ -705,27 +647,15 @@ ;; failed to figure out what this is: (defstate idle (crate-darkeco-cluster) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack 'touch) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((a2-2 (new 'static 'attack-info :mask #x20))) - (set! (-> a2-2 mode) 'darkeco) - (set! (-> a1-3 param 1) (the-as uint a2-2)) - ) - (send-event-function arg0 a1-3) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'darkeco)))) (go-virtual die) ) ) ) - :code - (behavior () + :code (behavior () (transform-post) (logior! (-> self mask) (process-mask sleep)) (suspend) diff --git a/test/decompiler/reference/levels/firecanyon/firecanyon-part_REF.gc b/test/decompiler/reference/levels/firecanyon/firecanyon-part_REF.gc index 6df91d8ac4..679c1fab7a 100644 --- a/test/decompiler/reference/levels/firecanyon/firecanyon-part_REF.gc +++ b/test/decompiler/reference/levels/firecanyon/firecanyon-part_REF.gc @@ -22,8 +22,7 @@ (defpartgroup group-firecanyon-lava-1 :id 229 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1011 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1011 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1012 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1013 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -39,8 +38,7 @@ ;; failed to figure out what this is: (defpart 1012 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -9) (meters 19) 1.0) (sp-flt spt-y (meters 0.5)) @@ -66,8 +64,7 @@ ;; failed to figure out what this is: (defpart 1014 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -8) (meters 17) 1.0) (sp-flt spt-y (meters 0.5)) @@ -88,8 +85,7 @@ ;; failed to figure out what this is: (defpart 1013 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.03 0.03 1.0) (sp-rnd-flt spt-x (meters -8) (meters 17) 1.0) (sp-flt spt-y (meters 0.5)) @@ -112,8 +108,7 @@ ;; failed to figure out what this is: (defpart 1011 - :init-specs - ((sp-flt spt-num 0.5) + :init-specs ((sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -9) (meters 19) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -7) (meters 6) 1.0) @@ -134,8 +129,7 @@ (defpartgroup group-firecanyon-lava-2 :id 230 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1017 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1017 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1018 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1019 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -151,8 +145,7 @@ ;; failed to figure out what this is: (defpart 1018 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -10) (meters 19) 1.0) (sp-flt spt-y (meters 0.5)) @@ -178,8 +171,7 @@ ;; failed to figure out what this is: (defpart 1020 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -9) (meters 17) 1.0) (sp-flt spt-y (meters 0.5)) @@ -200,8 +192,7 @@ ;; failed to figure out what this is: (defpart 1019 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -9) (meters 17) 1.0) (sp-flt spt-y (meters 0.5)) @@ -224,8 +215,7 @@ ;; failed to figure out what this is: (defpart 1017 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 19) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -5) (meters 12) 1.0) @@ -246,8 +236,7 @@ (defpartgroup group-firecanyon-lava-3 :id 231 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1021 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1021 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1022 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1023 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -263,8 +252,7 @@ ;; failed to figure out what this is: (defpart 1022 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -10.5) (meters 20) 1.0) (sp-flt spt-y (meters 0.5)) @@ -290,8 +278,7 @@ ;; failed to figure out what this is: (defpart 1024 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -9.5) (meters 18) 1.0) (sp-flt spt-y (meters 0.5)) @@ -312,8 +299,7 @@ ;; failed to figure out what this is: (defpart 1023 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -9.5) (meters 18) 1.0) (sp-flt spt-y (meters 0.5)) @@ -336,8 +322,7 @@ ;; failed to figure out what this is: (defpart 1021 - :init-specs - ((sp-flt spt-num 1.6) + :init-specs ((sp-flt spt-num 1.6) (sp-rnd-flt spt-x (meters -10.5) (meters 20) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -20) (meters 36) 1.0) @@ -358,8 +343,7 @@ (defpartgroup group-firecanyon-lava-5 :id 232 :bounds (static-bspherem -2 0 -2 14) - :parts - ((sp-item 1025 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1025 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1026 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1027 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -375,8 +359,7 @@ ;; failed to figure out what this is: (defpart 1028 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -6) (meters 13) 1.0) (sp-flt spt-y (meters 0)) @@ -397,8 +380,7 @@ ;; failed to figure out what this is: (defpart 1010 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -418,8 +400,7 @@ ;; failed to figure out what this is: (defpart 1027 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -6) (meters 13) 1.0) (sp-flt spt-y (meters 0)) @@ -442,8 +423,7 @@ ;; failed to figure out what this is: (defpart 1009 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -461,8 +441,7 @@ ;; failed to figure out what this is: (defpart 1025 - :init-specs - ((sp-flt spt-num 1.5) + :init-specs ((sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -8) (meters 16) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -13) (meters 20) 1.0) @@ -481,14 +460,12 @@ ;; failed to figure out what this is: (defpart 1016 - :init-specs - ((sp-flt spt-fade-b -6.826667)) + :init-specs ((sp-flt spt-fade-b -6.826667)) ) ;; failed to figure out what this is: (defpart 1026 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -8) (meters 16) 1.0) (sp-flt spt-y (meters -0.5)) @@ -514,14 +491,12 @@ ;; failed to figure out what this is: (defpart 1015 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 1029)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 1029)) ) ;; failed to figure out what this is: (defpart 1029 - :init-specs - ((sp-flt spt-fade-r -0.8) + :init-specs ((sp-flt spt-fade-r -0.8) (sp-flt spt-fade-b 0.8) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 1030) @@ -530,16 +505,14 @@ ;; failed to figure out what this is: (defpart 1030 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.14222223)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.14222223)) ) ;; failed to figure out what this is: (defpartgroup group-firecanyon-lava-6 :id 233 :bounds (static-bspherem 2 0 2 14) - :parts - ((sp-item 1031 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1031 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1032 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1033 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -555,8 +528,7 @@ ;; failed to figure out what this is: (defpart 1034 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -5) (meters 17) 1.0) (sp-flt spt-y (meters 0.5)) @@ -577,8 +549,7 @@ ;; failed to figure out what this is: (defpart 1032 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -6) (meters 19) 1.0) (sp-flt spt-y (meters 0.5)) @@ -604,8 +575,7 @@ ;; failed to figure out what this is: (defpart 1033 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -5) (meters 17) 1.0) (sp-flt spt-y (meters 0.5)) @@ -628,8 +598,7 @@ ;; failed to figure out what this is: (defpart 1031 - :init-specs - ((sp-flt spt-num 1.3) + :init-specs ((sp-flt spt-num 1.3) (sp-rnd-flt spt-x (meters -6) (meters 19) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -6.5) (meters 15) 1.0) @@ -650,8 +619,7 @@ (defpartgroup group-firecanyon-lava-7 :id 234 :bounds (static-bspherem 0 0 0 14) - :parts - ((sp-item 1035 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1035 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1036 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1037 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -667,8 +635,7 @@ ;; failed to figure out what this is: (defpart 1036 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -6.5) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) @@ -694,8 +661,7 @@ ;; failed to figure out what this is: (defpart 1038 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -5.5) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -716,8 +682,7 @@ ;; failed to figure out what this is: (defpart 1037 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -5.5) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -740,8 +705,7 @@ ;; failed to figure out what this is: (defpart 1035 - :init-specs - ((sp-flt spt-num 1.1) + :init-specs ((sp-flt spt-num 1.1) (sp-rnd-flt spt-x (meters -6.5) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -1.5) (meters 15) 1.0) @@ -762,8 +726,7 @@ (defpartgroup group-firecanyon-lava-8 :id 235 :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 1039 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1039 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1040 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1041 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -779,8 +742,7 @@ ;; failed to figure out what this is: (defpart 1040 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -9.5) (meters 14) 1.0) (sp-flt spt-y (meters 0.5)) @@ -806,8 +768,7 @@ ;; failed to figure out what this is: (defpart 1042 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -8.5) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) @@ -828,8 +789,7 @@ ;; failed to figure out what this is: (defpart 1041 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -8.5) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) @@ -852,8 +812,7 @@ ;; failed to figure out what this is: (defpart 1039 - :init-specs - ((sp-flt spt-num 1.4) + :init-specs ((sp-flt spt-num 1.4) (sp-rnd-flt spt-x (meters -9.5) (meters 14) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -13) (meters 28) 1.0) @@ -874,8 +833,7 @@ (defpartgroup group-firecanyon-lava-9 :id 236 :bounds (static-bspherem 0 0 0 9) - :parts - ((sp-item 1043 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1043 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1044 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1045 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -891,8 +849,7 @@ ;; failed to figure out what this is: (defpart 1044 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.08) (sp-rnd-flt spt-x (meters -3.5) (meters 7) 1.0) (sp-flt spt-y (meters 0.5)) @@ -918,8 +875,7 @@ ;; failed to figure out what this is: (defpart 1046 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.6) (sp-rnd-flt spt-x (meters -2.5) (meters 5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -940,8 +896,7 @@ ;; failed to figure out what this is: (defpart 1045 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.03 0.03 1.0) (sp-rnd-flt spt-x (meters -2.5) (meters 5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -964,8 +919,7 @@ ;; failed to figure out what this is: (defpart 1043 - :init-specs - ((sp-flt spt-num 0.6) + :init-specs ((sp-flt spt-num 0.6) (sp-rnd-flt spt-x (meters -3.5) (meters 7) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -7) (meters 15) 1.0) @@ -986,8 +940,7 @@ (defpartgroup group-firecanyon-lava-10 :id 237 :bounds (static-bspherem -4 0 0 15) - :parts - ((sp-item 1047 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1047 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1048 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1049 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1003,8 +956,7 @@ ;; failed to figure out what this is: (defpart 1048 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -13.5) (meters 20) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1030,8 +982,7 @@ ;; failed to figure out what this is: (defpart 1050 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -12.5) (meters 18) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1052,8 +1003,7 @@ ;; failed to figure out what this is: (defpart 1049 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -12.5) (meters 18) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1076,8 +1026,7 @@ ;; failed to figure out what this is: (defpart 1047 - :init-specs - ((sp-flt spt-num 1.5) + :init-specs ((sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -13.5) (meters 20) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -14) (meters 22) 1.0) @@ -1098,8 +1047,7 @@ (defpartgroup group-firecanyon-lava-11 :id 238 :bounds (static-bspherem -4 0 0 12) - :parts - ((sp-item 1051 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1051 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1052 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1053 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1115,8 +1063,7 @@ ;; failed to figure out what this is: (defpart 1052 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -10.5) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1142,8 +1089,7 @@ ;; failed to figure out what this is: (defpart 1054 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -9.5) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1164,8 +1110,7 @@ ;; failed to figure out what this is: (defpart 1053 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -9.5) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1188,8 +1133,7 @@ ;; failed to figure out what this is: (defpart 1051 - :init-specs - ((sp-flt spt-num 0.7) + :init-specs ((sp-flt spt-num 0.7) (sp-rnd-flt spt-x (meters -10.5) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -11) (meters 14) 1.0) @@ -1210,8 +1154,7 @@ (defpartgroup group-firecanyon-lava-14 :id 239 :bounds (static-bspherem -4 0 0 15) - :parts - ((sp-item 1055 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1055 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1056 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1057 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1227,8 +1170,7 @@ ;; failed to figure out what this is: (defpart 1056 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -17.5) (meters 25) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1254,8 +1196,7 @@ ;; failed to figure out what this is: (defpart 1058 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -16.5) (meters 23) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1276,8 +1217,7 @@ ;; failed to figure out what this is: (defpart 1057 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -16.5) (meters 23) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1300,8 +1240,7 @@ ;; failed to figure out what this is: (defpart 1055 - :init-specs - ((sp-flt spt-num 1.5) + :init-specs ((sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -17.5) (meters 25) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -12) (meters 24) 1.0) @@ -1322,8 +1261,7 @@ (defpartgroup group-firecanyon-lava-15 :id 240 :bounds (static-bspherem -4 0 0 12) - :parts - ((sp-item 1059 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1059 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1060 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1061 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1339,8 +1277,7 @@ ;; failed to figure out what this is: (defpart 1060 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -10.5) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1366,8 +1303,7 @@ ;; failed to figure out what this is: (defpart 1062 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -9.5) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1388,8 +1324,7 @@ ;; failed to figure out what this is: (defpart 1061 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.04 0.04 1.0) (sp-rnd-flt spt-x (meters -9.5) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1412,8 +1347,7 @@ ;; failed to figure out what this is: (defpart 1059 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10.5) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -11) (meters 24) 1.0) @@ -1434,8 +1368,7 @@ (defpartgroup group-firecanyon-lava-16 :id 241 :bounds (static-bspherem 0 0 0 14) - :parts - ((sp-item 1063 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1063 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1064 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1065 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1451,8 +1384,7 @@ ;; failed to figure out what this is: (defpart 1064 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -9.5) (meters 16) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1478,8 +1410,7 @@ ;; failed to figure out what this is: (defpart 1066 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -8.5) (meters 14) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1500,8 +1431,7 @@ ;; failed to figure out what this is: (defpart 1065 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -8.5) (meters 14) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1524,8 +1454,7 @@ ;; failed to figure out what this is: (defpart 1063 - :init-specs - ((sp-flt spt-num 1.1) + :init-specs ((sp-flt spt-num 1.1) (sp-rnd-flt spt-x (meters -9.5) (meters 16) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -12) (meters 26) 1.0) @@ -1546,8 +1475,7 @@ (defpartgroup group-firecanyon-lava-18 :id 242 :bounds (static-bspherem -4 0 -4 26) - :parts - ((sp-item 1067 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1067 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1068 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1069 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1563,8 +1491,7 @@ ;; failed to figure out what this is: (defpart 1068 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -11) (meters 24) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1590,8 +1517,7 @@ ;; failed to figure out what this is: (defpart 1070 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -10) (meters 22) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1612,8 +1538,7 @@ ;; failed to figure out what this is: (defpart 1069 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.07 0.07 1.0) (sp-rnd-flt spt-x (meters -10) (meters 22) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1636,8 +1561,7 @@ ;; failed to figure out what this is: (defpart 1067 - :init-specs - ((sp-flt spt-num 1.9) + :init-specs ((sp-flt spt-num 1.9) (sp-rnd-flt spt-x (meters -11) (meters 24) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -28) (meters 42) 1.0) @@ -1658,8 +1582,7 @@ (defpartgroup group-firecanyon-lava-19 :id 243 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1071 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1071 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1072 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1073 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1675,8 +1598,7 @@ ;; failed to figure out what this is: (defpart 1072 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.3) (sp-rnd-flt spt-x (meters -10) (meters 23) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1702,8 +1624,7 @@ ;; failed to figure out what this is: (defpart 1074 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -9) (meters 21) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1724,8 +1645,7 @@ ;; failed to figure out what this is: (defpart 1073 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -9) (meters 21) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1748,8 +1668,7 @@ ;; failed to figure out what this is: (defpart 1071 - :init-specs - ((sp-flt spt-num 1.4) + :init-specs ((sp-flt spt-num 1.4) (sp-rnd-flt spt-x (meters -10) (meters 23) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -18) (meters 28) 1.0) @@ -1770,8 +1689,7 @@ (defpartgroup group-firecanyon-lava-21 :id 244 :bounds (static-bspherem -4 0 4 22) - :parts - ((sp-item 1075 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1075 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1076 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1077 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1787,8 +1705,7 @@ ;; failed to figure out what this is: (defpart 1076 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.17) (sp-rnd-flt spt-x (meters -23) (meters 32) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1814,8 +1731,7 @@ ;; failed to figure out what this is: (defpart 1078 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-x (meters -22) (meters 30) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1836,8 +1752,7 @@ ;; failed to figure out what this is: (defpart 1077 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.03 0.03 1.0) (sp-rnd-flt spt-x (meters -22) (meters 30) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1860,8 +1775,7 @@ ;; failed to figure out what this is: (defpart 1075 - :init-specs - ((sp-flt spt-num 0.7) + :init-specs ((sp-flt spt-num 0.7) (sp-rnd-flt spt-x (meters -23) (meters 32) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -5) (meters 4) 1.0) @@ -1882,8 +1796,7 @@ (defpartgroup group-firecanyon-lava-22 :id 245 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1079 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1079 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1080 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1081 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -1899,8 +1812,7 @@ ;; failed to figure out what this is: (defpart 1080 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -7) (meters 25) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1926,8 +1838,7 @@ ;; failed to figure out what this is: (defpart 1082 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -6) (meters 23) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1948,8 +1859,7 @@ ;; failed to figure out what this is: (defpart 1081 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -6) (meters 23) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1972,8 +1882,7 @@ ;; failed to figure out what this is: (defpart 1079 - :init-specs - ((sp-flt spt-num 0.5) + :init-specs ((sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -7) (meters 25) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -4) (meters 6) 1.0) @@ -1994,8 +1903,7 @@ (defpartgroup group-firecanyon-lava-60 :id 246 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1083 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1083 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1084 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1085 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -2011,8 +1919,7 @@ ;; failed to figure out what this is: (defpart 1084 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -11) (meters 21) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2038,8 +1945,7 @@ ;; failed to figure out what this is: (defpart 1086 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.3) (sp-rnd-flt spt-x (meters -10) (meters 19) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2060,8 +1966,7 @@ ;; failed to figure out what this is: (defpart 1085 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters -10) (meters 19) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2084,8 +1989,7 @@ ;; failed to figure out what this is: (defpart 1083 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -11) (meters 21) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -17) (meters 30) 1.0) @@ -2106,8 +2010,7 @@ (defpartgroup group-firecanyon-lava-62 :id 247 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1087 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1087 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1088 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1089 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -2123,8 +2026,7 @@ ;; failed to figure out what this is: (defpart 1088 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -9) (meters 17) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2150,8 +2052,7 @@ ;; failed to figure out what this is: (defpart 1090 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -8) (meters 15) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2172,8 +2073,7 @@ ;; failed to figure out what this is: (defpart 1089 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.04 0.04 1.0) (sp-rnd-flt spt-x (meters -8) (meters 15) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2196,8 +2096,7 @@ ;; failed to figure out what this is: (defpart 1087 - :init-specs - ((sp-flt spt-num 0.7) + :init-specs ((sp-flt spt-num 0.7) (sp-rnd-flt spt-x (meters -9) (meters 17) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -8) (meters 14) 1.0) @@ -2218,8 +2117,7 @@ (defpartgroup group-firecanyon-lava-63 :id 248 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1091 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1091 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1092 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1093 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -2235,8 +2133,7 @@ ;; failed to figure out what this is: (defpart 1092 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -8) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2262,8 +2159,7 @@ ;; failed to figure out what this is: (defpart 1094 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -7) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2284,8 +2180,7 @@ ;; failed to figure out what this is: (defpart 1093 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.04 0.04 1.0) (sp-rnd-flt spt-x (meters -7) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2308,8 +2203,7 @@ ;; failed to figure out what this is: (defpart 1091 - :init-specs - ((sp-flt spt-num 0.7) + :init-specs ((sp-flt spt-num 0.7) (sp-rnd-flt spt-x (meters -8) (meters 12) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -10) (meters 16) 1.0) @@ -2330,8 +2224,7 @@ (defpartgroup group-firecanyon-lava-64 :id 249 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1095 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1095 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1096 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 1097 :fade-after (meters 100) :falloff-to (meters 100) :binding 1009) (sp-item 1009 :flags (start-dead)) @@ -2347,8 +2240,7 @@ ;; failed to figure out what this is: (defpart 1096 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -3) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2374,8 +2266,7 @@ ;; failed to figure out what this is: (defpart 1098 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.6) (sp-rnd-flt spt-x (meters -2) (meters 8) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2396,8 +2287,7 @@ ;; failed to figure out what this is: (defpart 1097 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.02 0.02 1.0) (sp-rnd-flt spt-x (meters -2) (meters 8) 1.0) (sp-flt spt-y (meters 0.5)) @@ -2420,8 +2310,7 @@ ;; failed to figure out what this is: (defpart 1095 - :init-specs - ((sp-flt spt-num 0.4) + :init-specs ((sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -3) (meters 10) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -5) (meters 9) 1.0) @@ -2442,16 +2331,14 @@ (defpartgroup group-firecanyon-heat-44 :id 250 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1099 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1099 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1100 :fade-after (meters 150) :falloff-to (meters 150)) ) ) ;; failed to figure out what this is: (defpart 1100 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters 0) (meters 14) 1.0) (sp-flt spt-y (meters -6)) @@ -2478,8 +2365,7 @@ ;; failed to figure out what this is: (defpart 1099 - :init-specs - ((sp-flt spt-num 1.25) + :init-specs ((sp-flt spt-num 1.25) (sp-rnd-flt spt-x (meters 0) (meters 14) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -16) (meters 18) 1.0) @@ -2500,16 +2386,14 @@ (defpartgroup group-firecanyon-heat-45 :id 251 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1101 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1101 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1102 :fade-after (meters 150) :falloff-to (meters 150)) ) ) ;; failed to figure out what this is: (defpart 1102 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters 0) (meters 12) 1.0) (sp-flt spt-y (meters -6)) @@ -2536,8 +2420,7 @@ ;; failed to figure out what this is: (defpart 1101 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 12) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -4) (meters 16) 1.0) @@ -2558,16 +2441,14 @@ (defpartgroup group-firecanyon-heat-46 :id 252 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1103 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1103 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1104 :fade-after (meters 150) :falloff-to (meters 150)) ) ) ;; failed to figure out what this is: (defpart 1104 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -3) (meters 5) 1.0) (sp-flt spt-y (meters -6)) @@ -2594,8 +2475,7 @@ ;; failed to figure out what this is: (defpart 1103 - :init-specs - ((sp-flt spt-num 0.5) + :init-specs ((sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -3) (meters 5) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters 0) (meters 14) 1.0) @@ -2616,16 +2496,14 @@ (defpartgroup group-firecanyon-heat-47 :id 253 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1105 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1105 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1106 :fade-after (meters 150) :falloff-to (meters 150)) ) ) ;; failed to figure out what this is: (defpart 1106 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.08) (sp-rnd-flt spt-x (meters 2) (meters 5) 1.0) (sp-flt spt-y (meters -6)) @@ -2652,8 +2530,7 @@ ;; failed to figure out what this is: (defpart 1105 - :init-specs - ((sp-flt spt-num 0.4) + :init-specs ((sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters 2) (meters 5) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -12) (meters 14) 1.0) @@ -2674,16 +2551,14 @@ (defpartgroup group-firecanyon-heat-48 :id 254 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1107 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1107 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1108 :fade-after (meters 150) :falloff-to (meters 150)) ) ) ;; failed to figure out what this is: (defpart 1108 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -13) (meters 17) 1.0) (sp-flt spt-y (meters -6)) @@ -2710,8 +2585,7 @@ ;; failed to figure out what this is: (defpart 1107 - :init-specs - ((sp-flt spt-num 2.0) + :init-specs ((sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -13) (meters 17) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -19) (meters 23) 1.0) @@ -2732,16 +2606,14 @@ (defpartgroup group-firecanyon-heat-50 :id 255 :bounds (static-bspherem 0 0 0 14) - :parts - ((sp-item 1109 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1109 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1110 :fade-after (meters 150) :falloff-to (meters 150)) ) ) ;; failed to figure out what this is: (defpart 1110 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -6) (meters 1) 1.0) (sp-flt spt-y (meters -6)) @@ -2768,8 +2640,7 @@ ;; failed to figure out what this is: (defpart 1109 - :init-specs - ((sp-flt spt-num 0.7) + :init-specs ((sp-flt spt-num 0.7) (sp-rnd-flt spt-x (meters -6) (meters 1) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters 0) (meters 18) 1.0) @@ -2790,16 +2661,14 @@ (defpartgroup group-firecanyon-heat-52 :id 256 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1111 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1111 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1112 :fade-after (meters 150) :falloff-to (meters 150)) ) ) ;; failed to figure out what this is: (defpart 1112 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -12) (meters 18) 1.0) (sp-flt spt-y (meters -6)) @@ -2826,8 +2695,7 @@ ;; failed to figure out what this is: (defpart 1111 - :init-specs - ((sp-flt spt-num 0.75) + :init-specs ((sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters -12) (meters 18) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -12) (meters 16) 1.0) @@ -2848,16 +2716,14 @@ (defpartgroup group-firecanyon-heat-53 :id 257 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1113 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1113 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1114 :fade-after (meters 150) :falloff-to (meters 150)) ) ) ;; failed to figure out what this is: (defpart 1114 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -10) (meters 18) 1.0) (sp-flt spt-y (meters -6)) @@ -2884,8 +2750,7 @@ ;; failed to figure out what this is: (defpart 1113 - :init-specs - ((sp-flt spt-num 0.75) + :init-specs ((sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters -10) (meters 18) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -3) (meters 16) 1.0) @@ -2906,16 +2771,14 @@ (defpartgroup group-firecanyon-heat-54 :id 258 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1115 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1115 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1116 :fade-after (meters 150) :falloff-to (meters 150)) ) ) ;; failed to figure out what this is: (defpart 1116 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.3) (sp-rnd-flt spt-x (meters -10) (meters 13) 1.0) (sp-flt spt-y (meters -6)) @@ -2942,8 +2805,7 @@ ;; failed to figure out what this is: (defpart 1115 - :init-specs - ((sp-flt spt-num 1.5) + :init-specs ((sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -10) (meters 13) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -18) (meters 20) 1.0) @@ -2964,16 +2826,14 @@ (defpartgroup group-firecanyon-heat-55 :id 259 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1117 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1117 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1118 :fade-after (meters 150) :falloff-to (meters 150)) ) ) ;; failed to figure out what this is: (defpart 1118 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.35) (sp-rnd-flt spt-x (meters -3) (meters 10) 1.0) (sp-flt spt-y (meters -6)) @@ -3000,8 +2860,7 @@ ;; failed to figure out what this is: (defpart 1117 - :init-specs - ((sp-flt spt-num 1.9) + :init-specs ((sp-flt spt-num 1.9) (sp-rnd-flt spt-x (meters -3) (meters 10) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -3) (meters 32) 1.0) @@ -3022,16 +2881,14 @@ (defpartgroup group-firecanyon-heat-56 :id 260 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1119 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1119 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1120 :fade-after (meters 150) :falloff-to (meters 150)) ) ) ;; failed to figure out what this is: (defpart 1120 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -7) (meters 16) 1.0) (sp-flt spt-y (meters -6)) @@ -3058,8 +2915,7 @@ ;; failed to figure out what this is: (defpart 1119 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -7) (meters 16) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -8) (meters 15) 1.0) @@ -3080,16 +2936,14 @@ (defpartgroup group-firecanyon-heat-57 :id 261 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1121 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1121 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1122 :fade-after (meters 150) :falloff-to (meters 150)) ) ) ;; failed to figure out what this is: (defpart 1122 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -6) (meters 8) 1.0) (sp-flt spt-y (meters -6)) @@ -3116,8 +2970,7 @@ ;; failed to figure out what this is: (defpart 1121 - :init-specs - ((sp-flt spt-num 0.75) + :init-specs ((sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters -6) (meters 8) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -2) (meters 20) 1.0) @@ -3138,16 +2991,14 @@ (defpartgroup group-firecanyon-heat-58 :id 262 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1123 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1123 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1124 :fade-after (meters 150) :falloff-to (meters 150)) ) ) ;; failed to figure out what this is: (defpart 1124 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -1) (meters 8) 1.0) (sp-flt spt-y (meters -6)) @@ -3174,8 +3025,7 @@ ;; failed to figure out what this is: (defpart 1123 - :init-specs - ((sp-flt spt-num 0.75) + :init-specs ((sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters -1) (meters 8) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -18) (meters 20) 1.0) @@ -3196,16 +3046,14 @@ (defpartgroup group-firecanyon-heat-59 :id 263 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1125 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1125 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1126 :fade-after (meters 150) :falloff-to (meters 150)) ) ) ;; failed to figure out what this is: (defpart 1126 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters -6)) @@ -3232,8 +3080,7 @@ ;; failed to figure out what this is: (defpart 1125 - :init-specs - ((sp-flt spt-num 0.75) + :init-specs ((sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters -6)) (sp-rnd-flt spt-z (meters -4) (meters 20) 1.0) diff --git a/test/decompiler/reference/levels/flut_common/flut-part_REF.gc b/test/decompiler/reference/levels/flut_common/flut-part_REF.gc index da13a206c7..b8e8b5baa1 100644 --- a/test/decompiler/reference/levels/flut_common/flut-part_REF.gc +++ b/test/decompiler/reference/levels/flut_common/flut-part_REF.gc @@ -5,8 +5,7 @@ (defpartgroup group-flut-trans-pad :id 120 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 746 :fade-after (meters 160)) + :parts ((sp-item 746 :fade-after (meters 160)) (sp-item 747 :fade-after (meters 160)) (sp-item 748 :fade-after (meters 60) :falloff-to (meters 60) :flags (is-3d)) ) @@ -14,8 +13,7 @@ ;; failed to figure out what this is: (defpart 746 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 7)) (sp-rnd-flt spt-scale-x (meters 14) (meters 1) 1.0) @@ -31,8 +29,7 @@ ;; failed to figure out what this is: (defpart 747 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 4)) (sp-rnd-flt spt-scale-x (meters 7) (meters 1) 1.0) @@ -49,8 +46,7 @@ ;; failed to figure out what this is: (defpart 748 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0.75) (meters 0.1) 1.0) (sp-flt spt-scale-x (meters 0)) @@ -78,14 +74,12 @@ :duration 10 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 749) (sp-item 750)) + :parts ((sp-item 749) (sp-item 750)) ) ;; failed to figure out what this is: (defpart 749 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 24.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -114,8 +108,7 @@ ;; failed to figure out what this is: (defpart 750 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 32.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) diff --git a/test/decompiler/reference/levels/flut_common/flutflut_REF.gc b/test/decompiler/reference/levels/flut_common/flutflut_REF.gc index 715eb28bc6..287cab2953 100644 --- a/test/decompiler/reference/levels/flut_common/flutflut_REF.gc +++ b/test/decompiler/reference/levels/flut_common/flutflut_REF.gc @@ -64,10 +64,8 @@ ;; definition for symbol *flutflut-shadow-control*, type shadow-control (define *flutflut-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #xa)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 614400.0) + :center (new 'static 'vector :w (the-as float #xa)) + :shadow-dir (new 'static 'vector :y -1.0 :w 614400.0) :bot-plane (new 'static 'plane :y 1.0 :w 81920.0) :top-plane (new 'static 'plane :y 1.0 :w -2867.2) ) @@ -94,8 +92,7 @@ ;; failed to figure out what this is: (defstate wait-for-start (flutflut) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -117,15 +114,13 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (set! (-> self root-override root-prim prim-core action) (collide-action)) (set! (-> self root-override root-prim prim-core offense) (collide-offense no-offense)) 0 (none) ) - :code - (behavior () + :code (behavior () (loop (let ((v1-0 (-> self condition))) (cond @@ -200,18 +195,14 @@ ;; failed to figure out what this is: (defstate idle (flutflut) :virtual #t - :event - (-> (method-of-type flutflut wait-for-start) event) - :enter - (behavior () + :event (-> (method-of-type flutflut wait-for-start) event) + :enter (behavior () (blocking-plane-destroy) (blocking-plane-spawn (the-as curve-control (-> self path-target))) (none) ) - :exit - (-> (method-of-type flutflut wait-for-start) exit) - :code - (behavior () + :exit (-> (method-of-type flutflut wait-for-start) exit) + :code (behavior () (ja-channel-set! 1) (ja :group! (-> self draw art-group data 3)) (set! (-> self root-override root-prim prim-core action) (collide-action solid ca-11)) @@ -264,15 +255,13 @@ ) (none) ) - :post - (the-as (function none :behavior flutflut) ja-post) + :post (the-as (function none :behavior flutflut) ja-post) ) ;; failed to figure out what this is: (defstate pickup (flutflut) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('draw) (ja-channel-set! 1) @@ -289,13 +278,11 @@ ) ) ) - :enter - (behavior ((arg0 (state flutflut))) + :enter (behavior ((arg0 (state flutflut))) ((-> arg0 enter)) (none) ) - :code - (behavior ((arg0 (state flutflut))) + :code (behavior ((arg0 (state flutflut))) (ja-channel-set! 0) (ja-post) (while (zero? (ja-group-size)) @@ -325,8 +312,7 @@ ;; failed to figure out what this is: (defstate wait-for-return (flutflut) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (or (= arg2 'touch) (= arg2 'attack)) (send-event *target* 'end-mode)) (go-virtual pickup (method-of-object self idle)) ) @@ -337,14 +323,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (blocking-plane-destroy) (blocking-plane-spawn (the-as curve-control (-> self path-flut))) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (ja-post) (loop diff --git a/test/decompiler/reference/levels/flut_common/target-flut_REF.gc b/test/decompiler/reference/levels/flut_common/target-flut_REF.gc index 489f5ca76e..95373716e9 100644 --- a/test/decompiler/reference/levels/flut_common/target-flut_REF.gc +++ b/test/decompiler/reference/levels/flut_common/target-flut_REF.gc @@ -234,8 +234,7 @@ (b! (or (= v1-2 (-> self draw art-group data 144)) (= v1-2 (-> self draw art-group data 145))) cfg-7 - :delay - (empty-form) + :delay (empty-form) ) ) (ja-channel-push! 1 (seconds 0.33)) @@ -332,9 +331,9 @@ (('shove) (when (!= (-> self next-state name) 'target-hit) (mem-copy! (the-as pointer (-> self attack-info-rec)) (the-as pointer (-> arg3 param 1)) 104) - (when (zero? (logand (-> self attack-info-rec mask) 8)) + (when (zero? (logand (-> self attack-info-rec mask) (attack-mask attacker))) (set! (-> self attack-info-rec attacker) (process->handle arg0)) - (logior! (-> self attack-info-rec mask) 8) + (logior! (-> self attack-info-rec mask) (attack-mask attacker)) ) (go target-flut-hit 'shove (-> self attack-info-rec)) ) @@ -350,22 +349,20 @@ (f30-1 (fmax 8192.0 (fmin 40960.0 (vector-xz-length s3-1)))) ) (vector-xz-normalize! s3-1 f30-1) - (let ((s5-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> s5-0 from) self) - (set! (-> s5-0 num-params) 2) - (set! (-> s5-0 message) 'shove) - (set! (-> s5-0 param 0) (the-as uint #f)) - (let ((s4-0 (new 'static 'attack-info :mask #x882))) - (set! (-> s4-0 vector quad) (-> s3-1 quad)) - (set! (-> s4-0 shove-up) - (+ (lerp-scale (the-as float 4096.0) (the-as float 16384.0) f30-1 (the-as float 4096.0) (the-as float 40960.0)) - (fmax 0.0 (- (-> gp-1 y) (-> self control trans y))) - ) + (send-event + self + 'shove + #f + (static-attack-info + ((vector s3-1) + (shove-up + (+ (lerp-scale (the-as float 4096.0) (the-as float 16384.0) f30-1 (the-as float 4096.0) (the-as float 40960.0)) + (fmax 0.0 (- (-> gp-1 y) (-> self control trans y))) ) - (set! (-> s4-0 angle) 'up) - (set! (-> s5-0 param 1) (the-as uint s4-0)) + ) + (angle 'up) + ) ) - (send-event-function self s5-0) ) ) ) @@ -423,10 +420,8 @@ ;; failed to figure out what this is: (defstate target-flut-start (target) - :event - target-flut-standard-event-handler - :exit - (behavior () + :event target-flut-standard-event-handler + :exit (behavior () (when (not (or (= (-> self next-state name) 'target-flut-stance) (= (-> self next-state name) 'target-flut-walk) (= (-> self next-state name) 'target-flut-jump) @@ -464,8 +459,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (target-exit) (set! *display-profile* #f) (set! *display-entity-errors* #f) @@ -487,25 +481,9 @@ (logior! (-> self control root-prim prim-core action) (collide-action ca-14)) (let ((s5-0 (-> self entity))) (set! (-> self entity) (the-as entity (-> self flut entity))) - (let ((s4-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self manipy) - (the-as (pointer manipy) (when s4-0 - (let ((t9-6 (method-of-type manipy activate))) - (t9-6 (the-as manipy s4-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s4-0 - manipy-init - (-> self control trans) - (-> self entity) - *flutflut-sg* - 'collide-shape-moving - ) - (-> s4-0 ppointer) - ) - ) - ) - ) + (set! (-> self manipy) + (manipy-spawn (-> self control trans) (-> self entity) *flutflut-sg* 'collide-shape-moving :to self) + ) (set! (-> self entity) s5-0) ) (when (-> self manipy) @@ -563,23 +541,18 @@ (go target-flut-get-on arg0) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-flut-stance (target) - :event - target-flut-standard-event-handler - :enter - (behavior () + :event target-flut-standard-event-handler + :enter (behavior () (set! (-> self control unknown-surface00) *flut-walk-mods*) (none) ) - :exit - (-> target-flut-start exit) - :trans - (behavior () + :exit (-> target-flut-start exit) + :trans (behavior () (if (move-legs?) (go target-flut-walk) ) @@ -615,8 +588,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 22)) (let ((v1-2 (ja-group))) (cond @@ -657,31 +629,26 @@ ) (none) ) - :post - target-flut-post + :post target-flut-post ) ;; failed to figure out what this is: (defstate target-flut-walk (target) - :event - target-flut-standard-event-handler - :enter - (behavior () + :event target-flut-standard-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *flut-walk-mods*) (set! (-> self control unknown-uint20) (the-as uint (-> self control unknown-surface00 turnv))) (set! (-> self control unknown-int21) (the-as int (-> self control unknown-surface00 target-speed))) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control unknown-surface00 turnv) (the-as float (-> self control unknown-uint20))) (set! (-> self control unknown-surface00 target-speed) (the-as float (-> self control unknown-uint30))) ((-> target-flut-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (move-legs?)) (go target-flut-stance) ) @@ -739,8 +706,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((f28-0 0.0) (f30-0 0.0) ) @@ -824,14 +790,12 @@ ) (none) ) - :post - target-flut-post + :post target-flut-post ) ;; failed to figure out what this is: (defstate target-flut-jump (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (when (and (= arg2 'touched) ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry (-> arg3 param 0)) @@ -864,8 +828,7 @@ ) ) ) - :enter - (behavior ((arg0 float) (arg1 float)) + :enter (behavior ((arg0 float) (arg1 float)) (set! (-> self state-time) (-> *display* base-frame-counter)) (sound-play-by-name (static-sound-name "jump") (new-sound-id) 1024 -762 0 1 #t) (init-var-jump arg0 arg1 (the-as vector #t) (the-as vector #t) (-> self control transv)) @@ -879,14 +842,12 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (target-exit) ((-> target-flut-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self control unknown-float123) (fmax (-> self control unknown-float123) @@ -937,8 +898,7 @@ ) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (ja-channel-push! 2 (seconds 0.12)) (ja :group! (-> self draw art-group data 143) :num! min) (ja :chan 1 @@ -993,16 +953,13 @@ ) (none) ) - :post - target-flut-post + :post target-flut-post ) ;; failed to figure out what this is: (defstate target-flut-double-jump (target) - :event - (-> target-flut-jump event) - :enter - (behavior ((arg0 float) (arg1 float)) + :event (-> target-flut-jump event) + :enter (behavior ((arg0 float) (arg1 float)) (set! (-> self state-time) (-> *display* base-frame-counter)) (init-var-jump arg0 arg1 (the-as vector #t) (the-as vector #t) (-> self control transv)) (set! (-> self control dynam gravity-max) 40960.0) @@ -1011,16 +968,14 @@ (set! (-> self control unknown-surface00) *flut-double-jump-mods*) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) (target-exit) ((-> target-flut-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (if (logtest? (-> self control status) (cshape-moving-flags onsurf)) (go target-flut-hit-ground) ) @@ -1054,8 +1009,7 @@ ) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (ja-channel-push! 1 (seconds 0.05)) (ja-no-eval :group! (-> self draw art-group data 149) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1118,16 +1072,13 @@ ) (none) ) - :post - target-flut-post + :post target-flut-post ) ;; failed to figure out what this is: (defstate target-flut-hit-ground (target) - :event - target-flut-standard-event-handler - :enter - (behavior () + :event target-flut-standard-event-handler + :enter (behavior () (target-land-effect) (if (< 40960.0 (-> self control ground-impact-vel)) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 178 (seconds 0.2)) @@ -1137,10 +1088,8 @@ (set! (-> self control unknown-surface00) *flut-walk-mods*) (none) ) - :exit - (-> target-flut-start exit) - :trans - (behavior () + :exit (-> target-flut-start exit) + :trans (behavior () (if (and (logtest? (logior (logior (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) ) @@ -1173,32 +1122,26 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((t9-0 target-flut-hit-ground-anim)) (t9-0) ) (go target-flut-stance) (none) ) - :post - target-flut-post + :post target-flut-post ) ;; failed to figure out what this is: (defstate target-flut-falling (target) - :event - (-> target-flut-jump event) - :enter - (behavior ((arg0 symbol)) + :event (-> target-flut-jump event) + :enter (behavior ((arg0 symbol)) (set! (-> self control unknown-surface00) *flut-jump-mods*) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :exit - (-> target-flut-start exit) - :trans - (behavior () + :exit (-> target-flut-start exit) + :trans (behavior () (when (or (logtest? (-> self control status) (cshape-moving-flags onsurf)) (if (and (< (target-move-dist (-> *TARGET-bank* stuck-time)) (-> *TARGET-bank* stuck-distance)) (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) @@ -1220,8 +1163,7 @@ ) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (cond ((ja-group? (-> self draw art-group data 144)) ) @@ -1245,14 +1187,12 @@ ) (none) ) - :post - target-flut-post + :post target-flut-post ) ;; failed to figure out what this is: (defstate target-flut-running-attack (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touched) (cond @@ -1313,8 +1253,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-uint20) (the-as uint 0)) (set! (-> self control unknown-int21) 0) @@ -1335,33 +1274,25 @@ (set! (-> gp-0 y) 0.0) (vector-normalize! gp-0 (+ 81920.0 (-> *TARGET-bank* yellow-projectile-speed))) (vector+! gp-0 gp-0 (-> self control transv)) - (let ((s4-0 (get-process *default-dead-pool* projectile-yellow #x4000))) - (when s4-0 - (let ((t9-6 (method-of-type projectile-yellow activate))) - (t9-6 (the-as projectile-yellow s4-0) self 'projectile-yellow (the-as pointer #x70004000)) + (process-spawn + projectile-yellow + :init projectile-init-by-other + (-> self entity) + s5-0 + gp-0 + (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) + 281 + 265 ) - (run-now-in-process - s4-0 - projectile-init-by-other - (-> self entity) - s5-0 - gp-0 - (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) - 281 - 265 - ) - #f - ) - (-> s4-0 ppointer) - ) + #f + :to self ) ) (set! (-> self control unknown-dword82) (-> *display* base-frame-counter)) ) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) (set! (-> *run-attack-mods* turnv) 0.0) @@ -1370,8 +1301,7 @@ (target-exit) (none) ) - :trans - (behavior () + :trans (behavior () (when (!= (-> self state-time) (-> *display* base-frame-counter)) (if (and (or (smack-surface? #t) (and (>= (-> self control unknown-float63) 0.7) @@ -1422,8 +1352,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.02)) (sound-play-by-name (static-sound-name "flut-hit") (new-sound-id) 1024 0 0 1 #t) (ja :group! (-> self draw art-group data 150) :num! min) @@ -1527,14 +1456,12 @@ (go target-flut-stance) (none) ) - :post - target-flut-post + :post target-flut-post ) ;; failed to figure out what this is: (defstate target-flut-air-attack (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (= arg2 'touched) ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry (-> arg3 param 0)) @@ -1559,8 +1486,7 @@ ) ) ) - :enter - (behavior ((arg0 float)) + :enter (behavior ((arg0 float)) (set-forward-vel arg0) (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self control status) (cshape-moving-flags onsurf onground tsurf)) @@ -1585,16 +1511,14 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (target-danger-set! 'harmless #f) (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) (set! (-> self control dynam gravity quad) (-> self control unknown-dynamics00 gravity quad)) (none) ) - :trans - (behavior () + :trans (behavior () (let ((s5-0 (new-stack-vector0))) (vector-z-quaternion! s5-0 (-> self control unknown-quaternion00)) (let ((gp-0 (new-stack-vector0)) @@ -1633,8 +1557,7 @@ ) (none) ) - :code - (behavior ((arg0 float)) + :code (behavior ((arg0 float)) (sound-play-by-name (static-sound-name "flut-hit") (new-sound-id) 1024 -762 0 1 #t) (ja-channel-push! 1 (seconds 0.05)) (ja-no-eval :group! (-> self draw art-group data 152) @@ -1663,16 +1586,13 @@ ) (none) ) - :post - target-flut-post + :post target-flut-post ) ;; failed to figure out what this is: (defstate target-flut-air-attack-hit-ground (target) - :event - target-flut-standard-event-handler - :enter - (behavior () + :event target-flut-standard-event-handler + :enter (behavior () (target-land-effect) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.4)) (set! (-> self control unknown-dword31) 0) @@ -1680,16 +1600,7 @@ (set! (-> self control unknown-surface00) *flut-air-attack-mods*) (sound-play-by-name (static-sound-name "flop-land") (new-sound-id) 1024 -609 0 1 #t) (dummy-10 (-> self skel effect) 'group-flut-attack-strike-ground (ja-frame-num 0) 0) - (let* ((s5-2 (get-process *default-dead-pool* touch-tracker #x4000)) - (gp-2 (when s5-2 - (let ((t9-7 (method-of-type touch-tracker activate))) - (t9-7 (the-as touch-tracker s5-2) self 'touch-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 touch-tracker-init (-> self control trans) 4096.0 30) - (-> s5-2 ppointer) - ) - ) - ) + (let ((gp-2 (process-spawn touch-tracker :init touch-tracker-init (-> self control trans) 4096.0 30 :to self))) (send-event (ppointer->process gp-2) 'event 'attack 'flut-attack) (send-event (ppointer->process gp-2) 'function (lambda :behavior target ((arg0 nav-enemy)) @@ -1705,12 +1616,9 @@ ) (none) ) - :exit - (-> target-flut-air-attack exit) - :trans - (-> target-flut-hit-ground trans) - :code - (behavior () + :exit (-> target-flut-air-attack exit) + :trans (-> target-flut-hit-ground trans) + :code (behavior () (ja-channel-set! 1) (ja-no-eval :group! (-> self draw art-group data 154) :num! (seek! (ja-aframe (the-as float 22.0) 0)) @@ -1736,16 +1644,13 @@ (go target-flut-stance) (none) ) - :post - target-flut-post + :post target-flut-post ) ;; failed to figure out what this is: (defstate target-flut-hit (target) - :event - target-flut-standard-event-handler - :exit - (behavior () + :event target-flut-standard-event-handler + :exit (behavior () (if (!= (-> self next-state name) 'target-flut-death) (logclear! (-> self state-flags) (state-flags sf03 sf15)) ) @@ -1753,8 +1658,7 @@ ((-> target-flut-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (when (= *cheat-mode* 'debug) (when (and (not *pause-lock*) (cpad-hold? (-> self control unknown-cpad-info00 number) r2)) (pickup-collectable! (-> self fact-info-target) (pickup-type eco-green) (the-as float 1.0) (the-as handle #f)) @@ -1763,8 +1667,7 @@ ) (none) ) - :code - (behavior ((arg0 symbol) (arg1 attack-info)) + :code (behavior ((arg0 symbol) (arg1 attack-info)) (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((gp-0 (-> self attack-info))) (let ((s5-0 (new 'stack-no-clear 'vector))) @@ -1788,7 +1691,7 @@ ) ) (combine! gp-0 arg1) - (when (zero? (logand (-> gp-0 mask) 2)) + (when (zero? (logand (-> gp-0 mask) (attack-mask vector))) (vector-z-quaternion! (-> gp-0 vector) (-> self control unknown-quaternion00)) (vector-xz-normalize! (-> gp-0 vector) (- (fabs (-> gp-0 shove-back)))) (set! (-> gp-0 vector y) (-> gp-0 shove-up)) @@ -1899,26 +1802,21 @@ (go target-flut-hit-ground) (none) ) - :post - target-flut-post + :post target-flut-post ) ;; failed to figure out what this is: (defstate target-flut-death (target) - :event - (-> target-death event) - :exit - (behavior () + :event (-> target-death event) + :exit (behavior () (logclear! (-> self state-flags) (state-flags sf03 sf15)) (target-exit) (clear-pending-settings-from-process *setting-control* self 'process-mask) (copy-settings-from-target! *setting-control*) (none) ) - :trans - (-> target-hit trans) - :code - (behavior ((arg0 symbol)) + :trans (-> target-hit trans) + :code (behavior ((arg0 symbol)) (local-vars (v1-104 symbol)) (logior! (-> self state-flags) (state-flags sf15)) (set! (-> self neck flex-blend) 0.0) @@ -2012,18 +1910,14 @@ (go target-flut-stance) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) ;; failed to figure out what this is: (defstate target-flut-get-on (target) - :event - target-generic-event-handler - :exit - (-> target-flut-start exit) - :code - (behavior ((arg0 handle)) + :event target-generic-event-handler + :exit (-> target-flut-start exit) + :code (behavior ((arg0 handle)) (set! (-> self control transv quad) (the-as uint128 0)) (set! (-> self alt-cam-pos quad) (-> (&-> (-> self control) unknown-qword00) 0)) (logior! (-> self state-flags) (state-flags sf10)) @@ -2079,8 +1973,7 @@ (go target-flut-stance) (none) ) - :post - (behavior () + :post (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (f30-0 (fmin 1.0 (* 0.0044444446 (the float (- (-> *display* base-frame-counter) (-> self state-time)))))) ) @@ -2113,12 +2006,9 @@ ;; failed to figure out what this is: (defstate target-flut-get-off (target) - :event - target-generic-event-handler - :exit - (-> target-flut-start exit) - :code - (behavior ((arg0 handle)) + :event target-generic-event-handler + :exit (-> target-flut-start exit) + :code (behavior ((arg0 handle)) (set-forward-vel (the-as float 0.0)) (let ((s5-0 0)) (while (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) @@ -2130,8 +2020,7 @@ (go target-flut-get-off-jump arg0) (none) ) - :post - (behavior () + :post (behavior () (target-no-stick-post) (target-flut-post-post) (none) @@ -2140,12 +2029,9 @@ ;; failed to figure out what this is: (defstate target-flut-get-off-jump (target) - :event - target-generic-event-handler - :exit - (-> target-flut-start exit) - :code - (behavior ((arg0 handle)) + :event target-generic-event-handler + :exit (-> target-flut-start exit) + :code (behavior ((arg0 handle)) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control transv quad) (the-as uint128 0)) (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -2200,8 +2086,7 @@ (go target-flut-get-off-hit-ground #f) (none) ) - :post - (behavior () + :post (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (f30-0 (fmax 0.0 (fmin 1.0 (* 0.006666667 (the float (- (-> *display* base-frame-counter) (-> self state-time)))))) @@ -2240,18 +2125,14 @@ ;; failed to figure out what this is: (defstate target-flut-get-off-hit-ground (target) - :event - target-standard-event-handler - :enter - (-> target-hit-ground enter) - :trans - (behavior () + :event target-standard-event-handler + :enter (-> target-hit-ground enter) + :trans (behavior () (logior! (-> self control status) (cshape-moving-flags onsurf onground tsurf)) ((-> target-hit-ground trans)) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-channel-set! 1) (ja-no-eval :group! (-> self draw art-group data 35) :num! (seek!) @@ -2264,14 +2145,12 @@ (go target-stance) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-flut-grab (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) (-> self state name) @@ -2291,24 +2170,20 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self control unknown-surface00) *grab-mods*) (set! (-> self neck flex-blend) 0.0) (logior! (-> self state-flags) (state-flags sf04 sf08)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self state-flags) (state-flags sf04 sf08)) (target-exit) ((-> target-flut-start exit)) (none) ) - :code - (-> target-flut-stance code) - :post - (behavior () + :code (-> target-flut-stance code) + :post (behavior () (target-no-stick-post) (target-flut-post-post) (none) @@ -2317,31 +2192,26 @@ ;; failed to figure out what this is: (defstate target-flut-clone-anim (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (= arg2 'trans) (= (-> arg3 param 0) 'restore)) (set! (-> self control unknown-uint20) (the-as uint #f)) ) ((-> target-flut-grab event) arg0 arg1 arg2 arg3) ) - :enter - (-> target-clone-anim enter) - :exit - (behavior () + :enter (-> target-clone-anim enter) + :exit (behavior () (send-event (ppointer->process (-> self sidekick)) 'matrix #f) ((-> target-clone-anim exit)) ((-> target-flut-start exit)) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (send-event (ppointer->process (-> self sidekick)) 'matrix 'play-anim) (clone-anim arg0 33 #t "") (go target-flut-stance) (none) ) - :post - (behavior () + :post (behavior () (target-no-ja-move-post) (target-flut-post-post) (none) diff --git a/test/decompiler/reference/levels/intro/evilbro_REF.gc b/test/decompiler/reference/levels/intro/evilbro_REF.gc index 2c71354c2d..83e51a7de4 100644 --- a/test/decompiler/reference/levels/intro/evilbro_REF.gc +++ b/test/decompiler/reference/levels/intro/evilbro_REF.gc @@ -53,8 +53,7 @@ ;; failed to figure out what this is: (defstate play-anim (evilbro) :virtual #t - :exit - (behavior () + :exit (behavior () (send-event (-> self evilsis extra process) 'end-mode) ((-> (method-of-type process-taskable play-anim) exit)) (none) @@ -64,8 +63,7 @@ ;; failed to figure out what this is: (defstate idle (evilbro) :virtual #t - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) ) @@ -76,14 +74,12 @@ (ja :num! (seek!)) ) (let ((gp-0 (-> *display* base-frame-counter))) - (while (let* ((s5-0 (-> *display* base-frame-counter)) - (f30-0 300.0) - (f28-0 0.16) - (f26-0 0.17000002) - (v1-29 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-30 (the-as number (logior #x3f800000 v1-29))) - ) - (< (- s5-0 (the-as time-frame (the int (* f30-0 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-30)))))))) gp-0) + (while (let ((s5-0 (-> *display* base-frame-counter)) + (f30-0 300.0) + (f28-0 0.16) + (f26-0 0.17000002) + ) + (< (- s5-0 (the-as time-frame (the int (* f30-0 (+ f28-0 (* f26-0 (rand-float-gen))))))) gp-0) ) (suspend) ) @@ -94,14 +90,12 @@ (ja :num! (seek! (ja-aframe 0.0 0))) ) (let ((gp-3 (-> *display* base-frame-counter))) - (while (let* ((s5-1 (-> *display* base-frame-counter)) - (f30-1 300.0) - (f28-1 0.16) - (f26-1 0.17000002) - (v1-54 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-55 (the-as number (logior #x3f800000 v1-54))) - ) - (< (- s5-1 (the-as time-frame (the int (* f30-1 (+ f28-1 (* f26-1 (+ -1.0 (the-as float v1-55)))))))) gp-3) + (while (let ((s5-1 (-> *display* base-frame-counter)) + (f30-1 300.0) + (f28-1 0.16) + (f26-1 0.17000002) + ) + (< (- s5-1 (the-as time-frame (the int (* f30-1 (+ f28-1 (* f26-1 (rand-float-gen))))))) gp-3) ) (suspend) ) @@ -166,8 +160,7 @@ ;; failed to figure out what this is: (defstate idle (evilsis) :virtual #t - :trans - (behavior () + :trans (behavior () (set! (-> self will-talk) #f) ((-> (method-of-type process-taskable idle) trans)) (none) diff --git a/test/decompiler/reference/levels/jungle/bouncer_REF.gc b/test/decompiler/reference/levels/jungle/bouncer_REF.gc index f861aa4459..8ce5834ebf 100644 --- a/test/decompiler/reference/levels/jungle/bouncer_REF.gc +++ b/test/decompiler/reference/levels/jungle/bouncer_REF.gc @@ -40,21 +40,12 @@ ;; failed to figure out what this is: (defstate bouncer-wait (springbox) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('bonk) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 3) - (set! (-> a1-3 message) 'jump) - (set! (-> a1-3 param 0) (the-as uint (-> self spring-height))) - (set! (-> a1-3 param 1) (the-as uint (-> self spring-height))) - (set! (-> a1-3 param 2) (the-as uint #f)) - (when (send-event-function arg0 a1-3) - (sound-play-by-name (static-sound-name "trampoline") (new-sound-id) 1024 0 0 1 #t) - (go bouncer-fire) - ) + (when (send-event arg0 'jump (-> self spring-height) (-> self spring-height) #f) + (sound-play-by-name (static-sound-name "trampoline") (new-sound-id) 1024 0 0 1 #t) + (go bouncer-fire) ) ) (('touch) @@ -70,8 +61,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) (loop @@ -84,8 +74,7 @@ ;; failed to figure out what this is: (defstate bouncer-smush (springbox) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -96,8 +85,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self smush) 0.0) (loop @@ -122,14 +110,12 @@ ) (none) ) - :post - (the-as (function none :behavior springbox) transform-post) + :post (the-as (function none :behavior springbox) transform-post) ) ;; failed to figure out what this is: (defstate bouncer-fire (springbox) - :code - (behavior () + :code (behavior () (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 178 (seconds 0.1)) (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num (ja-aframe 6.0 0)) (until (ja-done? 0) @@ -139,8 +125,7 @@ (go bouncer-wait) (none) ) - :post - (the-as (function none :behavior springbox) transform-post) + :post (the-as (function none :behavior springbox) transform-post) ) ;; definition for method 11 of type springbox diff --git a/test/decompiler/reference/levels/jungle/darkvine_REF.gc b/test/decompiler/reference/levels/jungle/darkvine_REF.gc index 3b69320213..cde0b31a3e 100644 --- a/test/decompiler/reference/levels/jungle/darkvine_REF.gc +++ b/test/decompiler/reference/levels/jungle/darkvine_REF.gc @@ -67,14 +67,12 @@ :duration 150 :flags (use-local-clock) :bounds (static-bspherem 0 2 0 3) - :parts - ((sp-item 800) (sp-item 801) (sp-item 802)) + :parts ((sp-item 800) (sp-item 801) (sp-item 802)) ) ;; failed to figure out what this is: (defpart 800 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-x (meters 0) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -97,8 +95,7 @@ ;; failed to figure out what this is: (defpart 802 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 0.25) (sp-rnd-flt spt-x (meters 0) (meters 0.6) 1.0) (sp-rnd-flt spt-scale-x (meters 0.025) (meters 0.2) 1.0) @@ -120,8 +117,7 @@ ;; failed to figure out what this is: (defpart 801 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 0) (meters 0.6) 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.4) 1.0) @@ -151,16 +147,9 @@ ((= v1-0 'touch) (do-push-aways! (-> self root-override)) (when (-> self dangerous) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'attack) - (set! (-> a1-1 param 0) (-> arg3 param 0)) - (set! (-> a1-1 param 1) (the-as uint (new 'static 'attack-info))) - (if (send-event-function arg0 a1-1) - (set-collide-offense (-> self root-override) 2 (collide-offense no-offense)) - ) - ) + (if (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) + (set-collide-offense (-> self root-override) 2 (collide-offense no-offense)) + ) ) ) ((= v1-0 'attack) @@ -186,10 +175,8 @@ ;; failed to figure out what this is: (defstate darkvine-idle (darkvine) - :event - darkvine-event-handler - :code - (behavior () + :event darkvine-event-handler + :code (behavior () (set! (-> self dangerous) #t) (set! (-> self vulnerable) #t) (let ((f30-0 0.0)) @@ -214,8 +201,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (when (and (-> self hit-player) (or (not *target*) (>= (- (-> *display* base-frame-counter) (-> self touch-time)) (seconds 0.05))) ) @@ -237,10 +223,8 @@ ;; failed to figure out what this is: (defstate darkvine-retreat (darkvine) - :event - darkvine-event-handler - :code - (behavior () + :event darkvine-event-handler + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self dangerous) #f) (set! (-> self vulnerable) #f) @@ -265,23 +249,16 @@ (suspend) ) ) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 175) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 175) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (let ((gp-2 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-2) (seconds 0.5)) @@ -299,14 +276,12 @@ (go darkvine-idle) (none) ) - :post - (-> darkvine-idle post) + :post (-> darkvine-idle post) ) ;; failed to figure out what this is: (defstate darkvine-die (darkvine) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (logclear! (-> self mask) (process-mask actor-pause)) (if arg0 (ja-channel-set! 1) @@ -321,8 +296,7 @@ (anim-loop) (none) ) - :post - (-> darkvine-idle post) + :post (-> darkvine-idle post) ) ;; definition for method 11 of type darkvine diff --git a/test/decompiler/reference/levels/jungle/fisher_REF.gc b/test/decompiler/reference/levels/jungle/fisher_REF.gc index 40fa07220b..9328e5f65a 100644 --- a/test/decompiler/reference/levels/jungle/fisher_REF.gc +++ b/test/decompiler/reference/levels/jungle/fisher_REF.gc @@ -41,14 +41,12 @@ :linger-duration 450 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 828) (sp-item 2013)) + :parts ((sp-item 828) (sp-item 2013)) ) ;; failed to figure out what this is: (defpart 828 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-y (meters 0.2)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) @@ -69,14 +67,12 @@ ;; failed to figure out what this is: (defpart 829 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) ;; failed to figure out what this is: (defpart 2013 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-x (meters -0.7) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.1) (meters 0.2) 1.0) @@ -100,14 +96,12 @@ :linger-duration 450 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2001)) + :parts ((sp-item 2001)) ) ;; failed to figure out what this is: (defpart 2001 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.25) (meters 0.5) 1.0) @@ -131,14 +125,12 @@ :linger-duration 1200 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 830) (sp-item 831)) + :parts ((sp-item 830) (sp-item 831)) ) ;; failed to figure out what this is: (defpart 831 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-scale-x (meters 5) (meters 1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -153,8 +145,7 @@ ;; failed to figure out what this is: (defpart 830 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 1.0) (sp-int spt-rot-x 4) @@ -178,8 +169,7 @@ ;; failed to figure out what this is: (defpart 832 - :init-specs - ((sp-flt spt-fade-a -0.8)) + :init-specs ((sp-flt spt-fade-a -0.8)) ) ;; definition of type fisher-params @@ -216,10 +206,7 @@ ) ;; definition for symbol *fisher-params*, type (array (inline-array fisher-params)) -(define *fisher-params* (new - 'static - 'boxed-array - :type (inline-array fisher-params) :length 6 :allocated-length 6 +(define *fisher-params* (new 'static 'boxed-array :type (inline-array fisher-params) (new 'static 'inline-array fisher-params 16 (new 'static 'fisher-params :timeout (seconds 2)) (new 'static 'fisher-params @@ -992,8 +979,7 @@ ;; failed to figure out what this is: (defstate fisher-fish-fall (fisher-fish) - :code - (behavior () + :code (behavior () (set-heading-vec! (-> self root) (TODO-RENAME-12 (-> (the-as fisher (-> self parent 0)) path) (-> self dir) (-> self pos)) @@ -1018,14 +1004,12 @@ ) (none) ) - :post - (the-as (function none :behavior fisher-fish) ja-post) + :post (the-as (function none :behavior fisher-fish) ja-post) ) ;; failed to figure out what this is: (defstate fisher-fish-caught (fisher-fish) - :code - (behavior () + :code (behavior () (case (-> self mode) (('deadly 'bad) (sound-play-by-name (static-sound-name "caught-eel") (new-sound-id) 1024 0 0 1 #t) @@ -1033,27 +1017,31 @@ (send-event (ppointer->process (-> self parent)) 'deadly) ) (('powerup) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 179) -1 #f #f #f (-> self root trans)) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 179) + -1 + #f + #f + #f + (-> self root trans) + :to *entity-pool* ) (sound-play-by-name (static-sound-name "get-big-fish") (new-sound-id) 1024 0 0 1 #t) (send-event (ppointer->process (-> self parent)) 'fisher-fish-caught 5) ) (else - (let ((gp-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-3 - (let ((t9-11 (method-of-type part-tracker activate))) - (t9-11 (the-as part-tracker gp-3) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-3 part-tracker-init (-> *part-group-id-table* 179) -1 #f #f #f (-> self root trans)) - (-> gp-3 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 179) + -1 + #f + #f + #f + (-> self root trans) + :to *entity-pool* ) (sound-play-by-name (static-sound-name "get-small-fish") (new-sound-id) 1024 0 0 1 #t) (send-event (ppointer->process (-> self parent)) 'fisher-fish-caught 1) @@ -1074,8 +1062,7 @@ ;; failed to figure out what this is: (defstate fisher-fish-die (fisher-fish) - :code - (behavior () + :code (behavior () (case (-> self mode) (('deadly 'bad) ) @@ -1087,10 +1074,7 @@ *entity-pool* (game-task none) ) - (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-3 (the-as number (logior #x3f800000 v1-2))) - (f0-2 (+ -1.0 (the-as float v1-3))) - ) + (let ((f0-2 (rand-float-gen))) (if (< 0.5 f0-2) (play-ambient (-> (the-as fisher (-> self parent 0)) ambient) "FIS-TA04" #t (-> self root trans)) (play-ambient (-> (the-as fisher (-> self parent 0)) ambient) "FIS-TA05" #t (-> self root trans)) @@ -1099,10 +1083,7 @@ (send-event (ppointer->process (-> self parent)) 'fisher-fish-die 5) ) (else - (let* ((v1-21 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-22 (the-as number (logior #x3f800000 v1-21))) - (f0-5 (+ -1.0 (the-as float v1-22))) - ) + (let ((f0-5 (rand-float-gen))) (cond ((and (< 0.8333 f0-5) (< (-> (the-as fisher (-> self parent 0)) paddle-pos z) (-> self root trans z))) (play-ambient (-> (the-as fisher (-> self parent 0)) ambient) "FIS-TA01" #t (-> self root trans)) @@ -1236,8 +1217,7 @@ :name "fisher-introduction" :index 8 :parts 9 - :command-list - '((0 want-levels village1 jungle) + :command-list '((0 want-levels village1 jungle) (0 alive "jungle-part-1") (130 blackout 10) (130 display-level village1 movie) @@ -1282,8 +1262,7 @@ :name "fisher-resolution" :index 9 :parts 4 - :command-list - '((188 blackout 10) (199 blackout 0)) + :command-list '((188 blackout 10) (199 blackout 0)) ) ) (else @@ -1334,8 +1313,7 @@ :name "fisher-accept" :index 12 :parts 6 - :command-list - '((0 send-event self emissive-on) (700 send-event self emissive-off)) + :command-list '((0 send-event self emissive-on) (700 send-event self emissive-off)) ) ) @@ -1346,8 +1324,7 @@ ;; failed to figure out what this is: (defstate fisher-done (fisher) - :enter - (behavior () + :enter (behavior () (init! (-> self query) (lookup-text! *common-text* (game-text-id play-again?) #f) @@ -1449,40 +1426,30 @@ (-> gp-2 user-uint8 6) ) ) - (let ((gp-3 (get-process *default-dead-pool* process #x4000))) - (when gp-3 - (let ((t9-15 (method-of-type process activate))) - (t9-15 gp-3 *default-pool* 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process gp-3 (lambda :behavior process - () - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 0.1)) - (suspend) - ) - ) - (ambient-hint-spawn "st-lose" (the-as vector #f) *entity-pool* 'stinger) - (none) - ) - ) - (-> gp-3 ppointer) - ) - ) + (process-spawn-function process (lambda :behavior process + () + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 0.1)) + (suspend) + ) + ) + (ambient-hint-spawn "st-lose" (the-as vector #f) *entity-pool* 'stinger) + (none) + ) + ) (send-event *target* 'lose) ) ) (none) ) - :exit - (behavior () + :exit (behavior () (when (and *target* (the-as target #f)) (send-event *target* 'end-mode) (process-grab? *target*) ) (none) ) - :trans - (behavior () + :trans (behavior () (set! *camera-look-through-other* 2) (cond ((>= (-> self caught) (-> *FISHER-bank* max-caught)) @@ -1534,19 +1501,14 @@ (spool-push *art-control* "fisher-reject" 0 self -99.0) (none) ) - :code - (the-as (function none :behavior fisher) process-taskable-anim-loop) - :post - (the-as (function none :behavior fisher) ja-post) + :code (the-as (function none :behavior fisher) process-taskable-anim-loop) + :post (the-as (function none :behavior fisher) ja-post) ) ;; definition for function fisher-spawn-ambient ;; INFO: Return type mismatch time-frame vs none. (defbehavior fisher-spawn-ambient fisher () - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - (f0-2 (+ -1.0 (the-as float v1-2))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((and (< 0.3 f0-2) (< (+ (-> *FISHER-bank* max-caught) -30) (-> self caught))) (if (and (>= (- (-> *display* base-frame-counter) (-> self ambient-almost)) (seconds 10)) @@ -1641,15 +1603,7 @@ (set! (-> self spawn-time) (-> *display* base-frame-counter)) (sound-play-by-name (static-sound-name "fish-spawn") (new-sound-id) 716 0 0 1 #t) (fisher-spawn-ambient) - (let ((s5-1 (get-process *default-dead-pool* fisher-fish #x4000))) - (when s5-1 - (let ((t9-10 (method-of-type fisher-fish activate))) - (t9-10 (the-as fisher-fish s5-1) self 'fisher-fish (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 fisher-fish-init-by-other gp-0 (-> self spawner) (* 1.85 (-> self params fish-vel))) - (-> s5-1 ppointer) - ) - ) + (process-spawn fisher-fish gp-0 (-> self spawner) (* 1.85 (-> self params fish-vel)) :to self) ) ) (let ((f1-14 (analog-input (the-as int (-> *cpad-list* cpads 0 leftx)) 128.0 32.0 110.0 28.0))) @@ -1671,8 +1625,7 @@ ;; failed to figure out what this is: (defstate fisher-playing (fisher) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-2 object)) (case arg2 (('fisher-fish-die) @@ -1697,36 +1650,29 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set-setting! *setting-control* self 'ambient-volume 'rel 50.0 0) (send-event *target* 'reset-pickup 'eco) (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (get-process *default-dead-pool* process #x4000))) - (when gp-0 - (let ((t9-5 (method-of-type process activate))) - (t9-5 gp-0 self 'process (the-as pointer #x70004000)) + (process-spawn-function + process + (lambda :behavior fisher-fish + () + (logclear! (-> self mask) (process-mask pause)) + (loop + (fisher-draw-display (the-as fisher (ppointer->process (-> self parent)))) + (suspend) ) - (run-next-time-in-process gp-0 (lambda :behavior fisher-fish - () - (logclear! (-> self mask) (process-mask pause)) - (loop - (fisher-draw-display (the-as fisher (ppointer->process (-> self parent)))) - (suspend) - ) - (none) - ) - ) - (-> gp-0 ppointer) + (none) ) + :to self ) (send-event *camera* 'change-to-entity-by-name "camera-152") (init! (-> self query) (the-as string #f) 40 150 25 #t (lookup-text! *common-text* (game-text-id quit) #f)) (none) ) - :exit - (behavior () + :exit (behavior () (clear-pending-settings-from-process *setting-control* self 'ambient-volume) (let* ((v1-2 *camera-other-matrix*) (a3-0 (-> *camera-combiner* inv-camera-rot)) @@ -1750,14 +1696,12 @@ 0 (none) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "fisher-resolution" 0 self -99.0) (spool-push *art-control* "fisher-reject" 0 self -99.0) (none) ) - :code - (behavior () + :code (behavior () (set! *display-profile* #f) (set! (-> self paddle) 0.5) (set! (-> self paddle-vel) 0.0) @@ -1792,8 +1736,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (ja-post) (none) ) @@ -1802,19 +1745,11 @@ ;; failed to figure out what this is: (defstate enter-playing (fisher) :virtual #t - :trans - (behavior () + :trans (behavior () (set-blackout-frames (seconds 0.017)) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'change-mode) - (set! (-> a1-0 param 0) (the-as uint 'fishing)) - (set! (-> a1-0 param 1) (the-as uint self)) - (if (send-event-function *target* a1-0) - (go fisher-playing) - ) - ) + (if (send-event *target* 'change-mode 'fishing self) + (go fisher-playing) + ) (none) ) ) @@ -1822,8 +1757,7 @@ ;; failed to figure out what this is: (defstate query (fisher) :virtual #t - :enter - (behavior () + :enter (behavior () (init! (-> self query) (lookup-text! *common-text* (game-text-id fish?) #f) @@ -1842,10 +1776,7 @@ (cond ((closed? (-> obj tasks) (game-task jungle-fishgame) (task-status need-reminder)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 1) 122880.0 obj) - (let* ((v1-5 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-6 (the-as number (logior #x3f800000 v1-5))) - (f0-2 (+ -1.0 (the-as float v1-6))) - ) + (let ((f0-2 (rand-float-gen))) (if (< 0.5 f0-2) (play-ambient (-> obj ambient) "FIS-LO03" #f (-> obj root-override trans)) (play-ambient (-> obj ambient) "FIS-LO05" #f (-> obj root-override trans)) @@ -1855,10 +1786,7 @@ ) (else (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-15 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-16 (the-as number (logior #x3f800000 v1-15))) - (f0-5 (+ -1.0 (the-as float v1-16))) - ) + (let ((f0-5 (rand-float-gen))) (cond ((< 0.875 f0-5) (play-ambient (-> obj ambient) "FIS-LO01" #f (-> obj root-override trans)) @@ -1894,8 +1822,7 @@ ;; failed to figure out what this is: (defstate play-accept (fisher) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 rgbaf)) (let ((v1-0 arg2)) (the-as object (cond @@ -1921,8 +1848,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (-> self training) (let ((gp-0 (new-stack-vector0))) (vector<-cspace! gp-0 (-> self node-list data 74)) @@ -1977,8 +1903,7 @@ ;; failed to figure out what this is: (defstate idle (fisher) :virtual #t - :trans - (behavior () + :trans (behavior () (let ((t9-1 (-> (the-as state (find-parent-method fisher 30)) trans))) (if t9-1 (t9-1) @@ -2098,8 +2023,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.2)) ) @@ -2200,8 +2124,7 @@ ;; failed to figure out what this is: (defstate target-fishing (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((= arg2 'bounce) (set-zero! (-> self control unknown-smush00)) @@ -2216,16 +2139,14 @@ ) ) ) - :enter - (behavior ((arg0 handle)) + :enter (behavior ((arg0 handle)) (set! (-> self control unknown-surface00) *empty-mods*) (logior! (-> self state-flags) (state-flags sf04)) (set-zero! (-> self control unknown-smush00)) (set! (-> self control unknown-uint20) (the-as uint #f)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self state-flags) (state-flags sf04)) (let ((v1-2 (-> self manipy))) (when v1-2 @@ -2236,8 +2157,7 @@ (-> target-periscope exit) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (let ((v1-1 (handle->process arg0))) (when (and v1-1 (type-type? (-> v1-1 type) fisher)) (set-vector! (-> self control trans) 1067827.2 9420.8 -955596.8 1.0) @@ -2298,10 +2218,9 @@ (until (-> self control unknown-spoolanim00) (let ((v1-42 (handle->process arg0))) (when v1-42 - (ja :num! - (seek! - (* (fmax 0.0 (- 1.0 (-> (the-as fisher v1-42) paddle))) (the float (+ (-> (ja-group) data 0 length) -1))) - ) + (ja :num! (seek! + (* (fmax 0.0 (- 1.0 (-> (the-as fisher v1-42) paddle))) (the float (+ (-> (ja-group) data 0 length) -1))) + ) ) (when (-> self manipy) (let ((s2-0 (new-stack-vector0)) @@ -2337,6 +2256,5 @@ ) (none) ) - :post - target-post + :post target-post ) diff --git a/test/decompiler/reference/levels/jungle/hopper_REF.gc b/test/decompiler/reference/levels/jungle/hopper_REF.gc index 8000940ea9..760ae2e06d 100644 --- a/test/decompiler/reference/levels/jungle/hopper_REF.gc +++ b/test/decompiler/reference/levels/jungle/hopper_REF.gc @@ -128,13 +128,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-idle (hopper) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior hopper) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (loop (dotimes (gp-0 3) @@ -157,20 +155,17 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-patrol (hopper) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior hopper) nav-enemy-jump-event-handler ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate))) ((-> (method-of-type nav-enemy nav-enemy-patrol) trans)) ) (none) ) - :code - (behavior () + :code (behavior () (vector-reset! (-> self collide-info transv)) (set! (-> self jump-length) 16384.0) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) @@ -214,20 +209,17 @@ nav-enemy-default-event-handler ) (none) ) - :post - (the-as (function none :behavior hopper) nav-enemy-jump-post) + :post (the-as (function none :behavior hopper) nav-enemy-jump-post) ) ;; failed to figure out what this is: (defstate nav-enemy-notice (hopper) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior hopper) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-chase) (none) ) @@ -236,20 +228,17 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-chase (hopper) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior hopper) nav-enemy-jump-event-handler ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate))) ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) ) (none) ) - :code - (behavior () + :code (behavior () (vector-reset! (-> self collide-info transv)) (set! (-> self jump-length) 32768.0) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) @@ -288,20 +277,17 @@ nav-enemy-default-event-handler ) (none) ) - :post - (the-as (function none :behavior hopper) nav-enemy-jump-post) + :post (the-as (function none :behavior hopper) nav-enemy-jump-post) ) ;; failed to figure out what this is: (defstate nav-enemy-stop-chase (hopper) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior hopper) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-stare) (none) ) diff --git a/test/decompiler/reference/levels/jungle/jungle-elevator_REF.gc b/test/decompiler/reference/levels/jungle/jungle-elevator_REF.gc index 8877fb8452..c3477be3b7 100644 --- a/test/decompiler/reference/levels/jungle/jungle-elevator_REF.gc +++ b/test/decompiler/reference/levels/jungle/jungle-elevator_REF.gc @@ -32,8 +32,7 @@ ;; failed to figure out what this is: (defstate plat-button-move-downward (jungle-elevator) :virtual #t - :enter - (behavior () + :enter (behavior () (let ((t9-0 (-> (method-of-type plat-button plat-button-move-downward) enter))) (if t9-0 (t9-0) @@ -45,8 +44,7 @@ (send-event *target* 'reset-pickup 'eco) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> jungle bottom-height) (-> self bottom-height)) (let ((t9-0 (-> (method-of-type plat-button plat-button-move-downward) exit))) (if t9-0 @@ -55,8 +53,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((s5-0 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -82,8 +79,7 @@ ;; failed to figure out what this is: (defstate plat-button-move-upward (jungle-elevator) :virtual #t - :enter - (behavior () + :enter (behavior () (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) enter))) (if t9-0 (t9-0) @@ -95,8 +91,7 @@ (set! (-> self grab-player?) (process-grab? *target*)) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> jungle bottom-height) (-> self bottom-height)) (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) exit))) (if t9-0 @@ -105,8 +100,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) trans))) (if t9-0 (t9-0) @@ -122,8 +116,7 @@ ;; failed to figure out what this is: (defstate plat-button-at-end (jungle-elevator) :virtual #t - :code - (behavior () + :code (behavior () (cond ((!= (-> self path-pos) 0.0) (set! (-> self draw light-index) (the-as uint 1)) diff --git a/test/decompiler/reference/levels/jungle/jungle-mirrors_REF.gc b/test/decompiler/reference/levels/jungle/jungle-mirrors_REF.gc index b6cb552f08..1ae14b0c0f 100644 --- a/test/decompiler/reference/levels/jungle/jungle-mirrors_REF.gc +++ b/test/decompiler/reference/levels/jungle/jungle-mirrors_REF.gc @@ -9,8 +9,7 @@ :id 176 :flags (screen-space) :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 803) + :parts ((sp-item 803) (sp-item 804) (sp-item 805) (sp-item 806) @@ -36,8 +35,7 @@ ;; failed to figure out what this is: (defpart 823 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x28 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x28 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-z (degrees -45.0)) @@ -55,8 +53,7 @@ ;; failed to figure out what this is: (defpart 815 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-z (degrees -15.0)) @@ -74,8 +71,7 @@ ;; failed to figure out what this is: (defpart 816 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-z (degrees 15.0)) @@ -93,8 +89,7 @@ ;; failed to figure out what this is: (defpart 817 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-z (degrees 75.0)) @@ -112,8 +107,7 @@ ;; failed to figure out what this is: (defpart 818 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-z (degrees 105.0)) @@ -131,8 +125,7 @@ ;; failed to figure out what this is: (defpart 819 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-z (degrees 165.0)) @@ -150,8 +143,7 @@ ;; failed to figure out what this is: (defpart 820 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-z (degrees 195.0)) @@ -169,8 +161,7 @@ ;; failed to figure out what this is: (defpart 821 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-z (degrees 255.0)) @@ -188,8 +179,7 @@ ;; failed to figure out what this is: (defpart 822 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-z (degrees 285.0)) @@ -207,8 +197,7 @@ ;; failed to figure out what this is: (defpart 811 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.75)) (sp-flt spt-rot-z (degrees 0.0)) @@ -226,8 +215,7 @@ ;; failed to figure out what this is: (defpart 812 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.75)) (sp-flt spt-rot-z (degrees 90.0)) @@ -245,8 +233,7 @@ ;; failed to figure out what this is: (defpart 813 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.75)) (sp-flt spt-rot-z (degrees 180.0)) @@ -264,8 +251,7 @@ ;; failed to figure out what this is: (defpart 814 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x27 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.75)) (sp-flt spt-rot-z (degrees 270.0)) @@ -283,8 +269,7 @@ ;; failed to figure out what this is: (defpart 803 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.9)) (sp-flt spt-y (meters 2.1)) @@ -301,8 +286,7 @@ ;; failed to figure out what this is: (defpart 804 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 1.11)) (sp-flt spt-y (meters 2.1)) @@ -319,8 +303,7 @@ ;; failed to figure out what this is: (defpart 805 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.11)) (sp-flt spt-y (meters 2.1)) @@ -338,8 +321,7 @@ ;; failed to figure out what this is: (defpart 806 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2.9)) (sp-flt spt-y (meters 2.1)) @@ -357,8 +339,7 @@ ;; failed to figure out what this is: (defpart 807 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.9)) (sp-flt spt-y (meters -2.1)) @@ -376,8 +357,7 @@ ;; failed to figure out what this is: (defpart 808 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 1.11)) (sp-flt spt-y (meters -2.1)) @@ -395,8 +375,7 @@ ;; failed to figure out what this is: (defpart 809 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.11)) (sp-flt spt-y (meters -2.1)) @@ -414,8 +393,7 @@ ;; failed to figure out what this is: (defpart 810 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x25 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2.9)) (sp-flt spt-y (meters -2.1)) @@ -435,14 +413,12 @@ (defpartgroup group-jungle-binoculars-aligned :id 689 :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 2840) (sp-item 2863) (sp-item 2864) (sp-item 2865)) + :parts ((sp-item 2840) (sp-item 2863) (sp-item 2864) (sp-item 2865)) ) ;; failed to figure out what this is: (defpart 2865 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 5.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -467,14 +443,12 @@ ;; failed to figure out what this is: (defpart 2866 - :init-specs - ((sp-flt spt-fade-a -0.85333335)) + :init-specs ((sp-flt spt-fade-a -0.85333335)) ) ;; failed to figure out what this is: (defpart 2864 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -498,14 +472,12 @@ ;; failed to figure out what this is: (defpart 2867 - :init-specs - ((sp-flt spt-fade-a -4.266667)) + :init-specs ((sp-flt spt-fade-a -4.266667)) ) ;; failed to figure out what this is: (defpart 2863 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -524,8 +496,7 @@ ;; failed to figure out what this is: (defpart 2840 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 13) (meters 5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -737,10 +708,8 @@ ;; failed to figure out what this is: (defstate cam-periscope (camera-slave) - :event - cam-standard-event-handler - :enter - (behavior () + :event cam-standard-event-handler + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) (let ((v1-2 (-> self change-event-from))) @@ -757,15 +726,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (sv-32 int) (sv-48 int)) (let* ((gp-0 (-> self change-event-from)) (f28-0 (the-as float (-> (the-as periscope (-> gp-0 0)) tilt))) @@ -845,8 +812,7 @@ ;; failed to figure out what this is: (defstate reflector-idle (reflector) - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) (loop (set! (-> gp-0 x) (-> self parent-override 0 tilt)) @@ -1024,8 +990,7 @@ ;; failed to figure out what this is: (defpart 825 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 4.5) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1229,127 +1194,79 @@ (gp-0 (cond ((name= arg0 "reflector-mirror-2") - (let ((s5-1 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-1 - (let ((t9-3 (method-of-type pov-camera activate))) - (t9-3 (the-as pov-camera s5-1) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - pov-camera-init-by-other - (-> gp-0 extra trans) - *junglecam-sg* - "tower1" - 0 - #f - '((0 ambient camera "gamcam14")) - ) - (-> s5-1 ppointer) - ) + (process-spawn + pov-camera + (-> gp-0 extra trans) + *junglecam-sg* + "tower1" + 0 + #f + '((0 ambient camera "gamcam14")) + :to self ) ) ((name= arg0 "periscope-11") - (let ((s5-2 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-2 - (let ((t9-7 (method-of-type pov-camera activate))) - (t9-7 (the-as pov-camera s5-2) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-2 - pov-camera-init-by-other - (-> gp-0 extra trans) - *junglecam-sg* - "tower2" - 0 - #f - '((0 ambient camera "gamcam15") (0 want-force-vis jungle #t) (0 want-force-vis village1 #t)) - ) - (-> s5-2 ppointer) - ) + (process-spawn + pov-camera + (-> gp-0 extra trans) + *junglecam-sg* + "tower2" + 0 + #f + '((0 ambient camera "gamcam15") (0 want-force-vis jungle #t) (0 want-force-vis village1 #t)) + :to self ) ) ((name= arg0 "periscope-12") - (let ((s5-3 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-3 - (let ((t9-11 (method-of-type pov-camera activate))) - (t9-11 (the-as pov-camera s5-3) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-3 - pov-camera-init-by-other - (-> gp-0 extra trans) - *junglecam-sg* - "tower3" - 0 - #f - '((0 ambient camera "gamcam16")) - ) - (-> s5-3 ppointer) - ) + (process-spawn + pov-camera + (-> gp-0 extra trans) + *junglecam-sg* + "tower3" + 0 + #f + '((0 ambient camera "gamcam16")) + :to self ) ) ((name= arg0 "periscope-13") - (let ((s5-4 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-4 - (let ((t9-15 (method-of-type pov-camera activate))) - (t9-15 (the-as pov-camera s5-4) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-4 - pov-camera-init-by-other - (-> gp-0 extra trans) - *junglecam-sg* - "tower4" - 0 - #f - '((0 ambient camera "gamcam17")) - ) - (-> s5-4 ppointer) - ) + (process-spawn + pov-camera + (-> gp-0 extra trans) + *junglecam-sg* + "tower4" + 0 + #f + '((0 ambient camera "gamcam17")) + :to self ) ) ((name= arg0 "periscope-14") - (let ((s5-5 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-5 - (let ((t9-19 (method-of-type pov-camera activate))) - (t9-19 (the-as pov-camera s5-5) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-5 - pov-camera-init-by-other - (-> gp-0 extra trans) - *junglecam-sg* - "tower5" - 0 - #f - '((0 ambient camera "gamcam18") (0 want-force-vis jungle #t) (0 want-force-vis village1 #t)) - ) - (-> s5-5 ppointer) - ) + (process-spawn + pov-camera + (-> gp-0 extra trans) + *junglecam-sg* + "tower5" + 0 + #f + '((0 ambient camera "gamcam18") (0 want-force-vis jungle #t) (0 want-force-vis village1 #t)) + :to self ) ) ((name= arg0 "periscope-15") - (let ((s5-6 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-6 - (let ((t9-23 (method-of-type pov-camera activate))) - (t9-23 (the-as pov-camera s5-6) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-6 - pov-camera-init-by-other - (-> gp-0 extra trans) - *junglecam-sg* - "beamcam" - 0 - #f - '((0 ambient camera "gamcam19") - (0 want-force-vis jungle #t) - (0 want-force-vis village1 #t) - (0 display-level village1 movie) - ) - ) - (-> s5-6 ppointer) + (process-spawn + pov-camera + (-> gp-0 extra trans) + *junglecam-sg* + "beamcam" + 0 + #f + '((0 ambient camera "gamcam19") + (0 want-force-vis jungle #t) + (0 want-force-vis village1 #t) + (0 display-level village1 movie) ) + :to self ) ) (else @@ -1374,8 +1291,7 @@ ;; failed to figure out what this is: (defstate periscope-idle (periscope) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('activate) (logclear! (-> self mask) (process-mask actor-pause)) @@ -1383,21 +1299,17 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (clear-collide-with-as (-> self root-override)) (none) ) - :exit - (behavior () + :exit (behavior () (restore-collide-with-as (-> self root-override)) (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - periscope-debug-trans - :code - (behavior () + :trans periscope-debug-trans + :code (behavior () (logior! (-> self mask) (process-mask actor-pause)) (set! (-> self raised?) #f) (set! (-> self y-offset) 0.0) @@ -1418,8 +1330,7 @@ ;; failed to figure out what this is: (defstate periscope-activate (periscope) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self rise-sound-id)) (sound-play-by-name (static-sound-name "eco-tower-stop") @@ -1432,10 +1343,8 @@ ) (none) ) - :trans - periscope-debug-trans - :code - (behavior () + :trans periscope-debug-trans + :code (behavior () (local-vars (v1-13 symbol)) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -1468,14 +1377,12 @@ (go periscope-wait-for-power-input) (none) ) - :post - periscope-post + :post periscope-post ) ;; failed to figure out what this is: (defstate periscope-wait-for-power-input (periscope) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self raised?) #t) (let ((f30-0 (+ -20480.0 (-> self height)))) @@ -1495,8 +1402,7 @@ ) (none) ) - :post - (the-as (function none :behavior periscope) ja-post) + :post (the-as (function none :behavior periscope) ja-post) ) ;; definition for function target-close-to-point? @@ -1507,8 +1413,7 @@ ;; failed to figure out what this is: (defstate periscope-wait-for-player (periscope) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) (when (and *target* (not (and (logtest? (-> *target* control unknown-surface00 flags) (surface-flags surf11)) @@ -1540,13 +1445,11 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self grips-sound-id)) (none) ) - :code - (behavior () + :code (behavior () (hide-hud) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self raised?) #t) @@ -1643,8 +1546,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (if (-> self grips-moving?) (sound-play-by-name (static-sound-name "site-moves") @@ -1665,21 +1567,18 @@ ;; failed to figure out what this is: (defstate periscope-player-control (periscope) - :exit - (behavior () + :exit (behavior () (logclear! (-> self reflector 0 draw status) (draw-status hidden)) (periscope-find-reflection-angles) (set! (-> self turn) (-> self target-turn)) (set! (-> self tilt) (-> self target-tilt)) (none) ) - :trans - (behavior () + :trans (behavior () (hide-hud) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self lock-time) (-> *display* base-frame-counter)) (link-to-next-and-prev-actor (-> self link)) (periscope-find-next) @@ -1799,92 +1698,80 @@ (close-specific-task! (game-task jungle-lurkerm) (task-status need-reminder)) ) (loop - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 0) - (set! (-> a1-6 message) 'end-mode) - (when (send-event-function *target* a1-6) - (cond - ((and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) - (let ((gp-1 (ppointer->handle (peri-beamcam-init-by-other (the-as string (-> self name)))))) + (when (send-event *target* 'end-mode) + (cond + ((and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) + (let ((gp-1 (ppointer->handle (peri-beamcam-init-by-other (the-as string (-> self name)))))) + (suspend) + (while (and *target* (= (-> *target* next-state name) 'target-periscope)) + (periscope-crosshair) (suspend) - (while (and *target* (= (-> *target* next-state name) 'target-periscope)) - (periscope-crosshair) - (suspend) - ) - (logclear! (-> self reflector 0 draw status) (draw-status hidden)) - (periscope-find-reflection-angles) - (set! (-> self turn) (-> self target-turn)) - (set! (-> self tilt) (-> self target-tilt)) - (set! *camera-init-mat* (-> self old-camera-matrix)) - (send-event *camera* 'change-state *camera-base-mode* 0) - (set! *camera-init-mat* #f) - (while (handle->process (the-as handle gp-1)) - (suspend) - ) ) - (let ((gp-2 (get-process *default-dead-pool* process #x4000))) - (when gp-2 - (let ((t9-18 (method-of-type process activate))) - (t9-18 gp-2 self 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process - gp-2 - (lambda ((arg0 string)) - (while (or (-> *setting-control* current ambient) - (-> *setting-control* current movie) - (-> *setting-control* current hint) - ) - (suspend) - ) - (cond - ((name= arg0 "periscope-11") - (level-hint-spawn - (game-text-id jungle-mirrors-follow-the-beam) - "sksp0053" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((name= arg0 "periscope-12") - (level-hint-spawn - (game-text-id jungle-mirrors-go-to-the-next-tower) - "sksp0052" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((name= arg0 "periscope-15") - (level-hint-spawn - (game-text-id jungle-mirrors-completion-talk-to-mayor) - "sksp0018" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ) - (none) - ) - (-> self name) - ) - (-> gp-2 ppointer) - ) + (logclear! (-> self reflector 0 draw status) (draw-status hidden)) + (periscope-find-reflection-angles) + (set! (-> self turn) (-> self target-turn)) + (set! (-> self tilt) (-> self target-tilt)) + (set! *camera-init-mat* (-> self old-camera-matrix)) + (send-event *camera* 'change-state *camera-base-mode* 0) + (set! *camera-init-mat* #f) + (while (handle->process (the-as handle gp-1)) + (suspend) ) ) - (else - (set! *camera-init-mat* (-> self old-camera-matrix)) - (send-event *camera* 'change-state *camera-base-mode* 0) - (set! *camera-init-mat* #f) - ) + (process-spawn-function + process + (lambda ((arg0 string)) + (while (or (-> *setting-control* current ambient) + (-> *setting-control* current movie) + (-> *setting-control* current hint) + ) + (suspend) + ) + (cond + ((name= arg0 "periscope-11") + (level-hint-spawn + (game-text-id jungle-mirrors-follow-the-beam) + "sksp0053" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((name= arg0 "periscope-12") + (level-hint-spawn + (game-text-id jungle-mirrors-go-to-the-next-tower) + "sksp0052" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((name= arg0 "periscope-15") + (level-hint-spawn + (game-text-id jungle-mirrors-completion-talk-to-mayor) + "sksp0018" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ) + (none) + ) + (-> self name) + :to self + ) + ) + (else + (set! *camera-init-mat* (-> self old-camera-matrix)) + (send-event *camera* 'change-state *camera-base-mode* 0) + (set! *camera-init-mat* #f) ) - (if (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) - (go periscope-power-on) - (go periscope-wait-for-player) - ) ) + (if (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) + (go periscope-power-on) + (go periscope-wait-for-player) + ) ) (suspend) ) @@ -1893,8 +1780,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (periscope-draw-beam) (periscope-update-joints) (ja-post) @@ -1904,10 +1790,8 @@ ;; failed to figure out what this is: (defstate periscope-power-on (periscope) - :trans - periscope-debug-trans - :code - (behavior () + :trans periscope-debug-trans + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self y-offset) (-> self height)) (link-to-next-and-prev-actor (-> self link)) @@ -1937,8 +1821,7 @@ ) (none) ) - :post - periscope-post + :post periscope-post ) ;; definition for method 11 of type periscope @@ -1992,18 +1875,7 @@ (set! (-> obj base quad) (-> obj root-override trans quad)) (set! (-> obj reflector-trans quad) (-> obj base quad)) (+! (-> obj reflector-trans y) (-> obj height)) - (let ((s5-1 (get-process *default-dead-pool* reflector #x4000))) - (set! (-> obj reflector) - (the-as (pointer reflector) (when s5-1 - (let ((t9-14 (method-of-type reflector activate))) - (t9-14 (the-as reflector s5-1) obj 'reflector (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 reflector-init-by-other (-> obj reflector-trans)) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> obj reflector) (process-spawn reflector (-> obj reflector-trans) :to obj)) (set! (-> obj link) (new 'process 'actor-link-info obj)) (periscope-find-next) (initialize-skeleton obj *periscope-base-sg* '()) @@ -2053,8 +1925,7 @@ ;; failed to figure out what this is: (defstate reflector-origin-idle (reflector-origin) - :code - (behavior () + :code (behavior () (reflector-origin-update (-> self blocker)) (while (zero? (logand (-> self blocker extra perm status) (entity-perm-status complete))) (suspend) @@ -2098,8 +1969,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (draw-power-beam (-> self reflector-trans) (-> self next-reflector-trans)) (none) ) @@ -2121,8 +1991,7 @@ ;; failed to figure out what this is: (defstate reflector-mirror-idle (reflector-mirror) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (sound-play-by-name (static-sound-name "mirror-smash") (new-sound-id) 1024 0 0 1 #t) @@ -2130,13 +1999,11 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (new-stack-vector0))) (set! (-> gp-0 quad) (-> self root-override trans quad)) (set! (-> gp-0 y) (+ 49152.0 (-> gp-0 y))) @@ -2168,14 +2035,12 @@ ) (none) ) - :post - (the-as (function none :behavior reflector-mirror) ja-post) + :post (the-as (function none :behavior reflector-mirror) ja-post) ) ;; failed to figure out what this is: (defstate reflector-mirror-broken (reflector-mirror) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) (ja-post) @@ -2203,23 +2068,8 @@ ) (when (not arg0) (ambient-hint-spawn "gamcam21" (the-as vector #f) *entity-pool* 'camera) - (let* ((gp-1 (get-process *default-dead-pool* manipy #x4000)) - (v1-11 (when gp-1 - (let ((t9-8 (method-of-type manipy activate))) - (t9-8 (the-as manipy gp-1) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - manipy-init - (-> self root-override trans) - (-> self entity) - *reflector-mirror-break-sg* - #f - ) - (-> gp-1 ppointer) - ) - ) - ) + (let ((v1-11 (manipy-spawn (-> self root-override trans) (-> self entity) *reflector-mirror-break-sg* #f :to self)) + ) (send-event (ppointer->process v1-11) 'anim-mode 'play1) ) (let ((gp-2 (-> *display* base-frame-counter))) diff --git a/test/decompiler/reference/levels/jungle/jungle-obs_REF.gc b/test/decompiler/reference/levels/jungle/jungle-obs_REF.gc index 0e4250e671..423f00494f 100644 --- a/test/decompiler/reference/levels/jungle/jungle-obs_REF.gc +++ b/test/decompiler/reference/levels/jungle/jungle-obs_REF.gc @@ -58,14 +58,12 @@ ;; failed to figure out what this is: (defstate idle (logtrap) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (or (= arg2 'touch) (= arg2 'attack)) (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) ) ) - :code - (behavior () + :code (behavior () (transform-post) (loop (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) @@ -150,8 +148,7 @@ ;; failed to figure out what this is: (defstate towertop-idle (towertop) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.4) :frame-num 0.0) (until (ja-done? 0) @@ -161,8 +158,7 @@ ) (none) ) - :post - (the-as (function none :behavior towertop) ja-post) + :post (the-as (function none :behavior towertop) ja-post) ) ;; definition for method 11 of type towertop @@ -214,8 +210,7 @@ ;; failed to figure out what this is: (defstate lurkerm-tall-sail-idle (lurkerm-tall-sail) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'stop) (process-entity-status! self (entity-perm-status complete) #t) @@ -227,10 +222,8 @@ ) ) ) - :trans - (the-as (function none :behavior lurkerm-tall-sail) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior lurkerm-tall-sail) rider-trans) + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max (* 0.5 (-> self speed))) :frame-num 0.0) (until (ja-done? 0) @@ -245,8 +238,7 @@ ) (none) ) - :post - (the-as (function none :behavior lurkerm-tall-sail) rider-post) + :post (the-as (function none :behavior lurkerm-tall-sail) rider-post) ) ;; definition for method 11 of type lurkerm-tall-sail @@ -327,8 +319,7 @@ ;; failed to figure out what this is: (defstate lurkerm-short-sail-idle (lurkerm-short-sail) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'stop) (process-entity-status! self (entity-perm-status complete) #t) @@ -340,10 +331,8 @@ ) ) ) - :trans - (the-as (function none :behavior lurkerm-short-sail) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior lurkerm-short-sail) rider-trans) + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max (* 0.5 (-> self speed))) :frame-num 0.0) (until (ja-done? 0) @@ -358,8 +347,7 @@ ) (none) ) - :post - (the-as (function none :behavior lurkerm-short-sail) rider-post) + :post (the-as (function none :behavior lurkerm-short-sail) rider-post) ) ;; definition for method 11 of type lurkerm-short-sail @@ -463,8 +451,7 @@ ;; failed to figure out what this is: (defstate lurkerm-piston-idle (lurkerm-piston) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'stop) (process-entity-status! self (entity-perm-status complete) #t) @@ -476,10 +463,8 @@ ) ) ) - :trans - (the-as (function none :behavior lurkerm-piston) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior lurkerm-piston) rider-trans) + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max (-> self speed)) :frame-num 0.0) (until (ja-done? 0) @@ -494,8 +479,7 @@ ) (none) ) - :post - (the-as (function none :behavior lurkerm-piston) rider-post) + :post (the-as (function none :behavior lurkerm-piston) rider-post) ) ;; definition for method 11 of type lurkerm-piston @@ -597,8 +581,7 @@ ;; failed to figure out what this is: (defstate accordian-idle (accordian) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'stop) (process-entity-status! self (entity-perm-status complete) #t) @@ -610,8 +593,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (loop!) :frame-num 0.0) (ja-post) (loop @@ -707,8 +689,7 @@ ;; failed to figure out what this is: (defstate pov-camera-playing (precurbridgecam) :virtual #t - :code - (behavior () + :code (behavior () (ambient-hint-spawn "gamcam30" (the-as vector #f) *entity-pool* 'camera) (ja :group! (-> self draw art-group data 8)) (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek! (ja-aframe 0.0 0)) :frame-num 0.0) @@ -781,16 +762,14 @@ ;; failed to figure out what this is: (defstate precurbridge-idle (precurbridge) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('go) (go precurbridge-activate) ) ) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 3) :num! min) (transform-post) (loop @@ -800,53 +779,39 @@ (< (-> *target* control trans y) (+ 20480.0 (-> self activation-point y))) (not (-> self child)) ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'powerup)) - (set! (-> a1-2 param 1) (the-as uint 3)) - (cond - ((send-event-function *target* a1-2) - (logclear! (-> self mask) (process-mask actor-pause)) - (logclear! (-> self mask) (process-mask platform)) - (let ((gp-1 (entity-by-name "junglecam-1"))) - (cond - (gp-1 - (let ((s5-0 (get-process *default-dead-pool* precurbridgecam #x4000))) - (when s5-0 - (let ((t9-6 (method-of-type precurbridgecam activate))) - (t9-6 (the-as precurbridgecam s5-0) self 'precurbridgecam (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> gp-1 extra trans) - *junglecam-sg* - "precurbridgecam" - 0 - #f - '() - ) - (-> s5-0 ppointer) - ) - ) - ) - (else - (format #t "ERROR: position for precursor bridge camera not found~%") - (go precurbridge-activate) + (cond + ((send-event *target* 'query 'powerup (pickup-type eco-blue)) + (logclear! (-> self mask) (process-mask actor-pause)) + (logclear! (-> self mask) (process-mask platform)) + (let ((gp-1 (entity-by-name "junglecam-1"))) + (cond + (gp-1 + (process-spawn + precurbridgecam + :init pov-camera-init-by-other + (-> gp-1 extra trans) + *junglecam-sg* + "precurbridgecam" + 0 + #f + '() + :to self ) ) + (else + (format #t "ERROR: position for precursor bridge camera not found~%") + (go precurbridge-activate) + ) ) ) - (else - (level-hint-spawn - (game-text-id jungle-precursorbridge-hint) - "sksp0039" - (the-as entity #f) - *entity-pool* - (game-task none) - ) + ) + (else + (level-hint-spawn + (game-text-id jungle-precursorbridge-hint) + "sksp0039" + (the-as entity #f) + *entity-pool* + (game-task none) ) ) ) @@ -855,21 +820,17 @@ ) (none) ) - :post - (the-as (function none :behavior precurbridge) ja-post) + :post (the-as (function none :behavior precurbridge) ja-post) ) ;; failed to figure out what this is: (defstate precurbridge-activate (precurbridge) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (the-as (function none :behavior precurbridge) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior precurbridge) rider-trans) + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (sound-play-by-name (static-sound-name "blue-eco-on") @@ -891,14 +852,12 @@ (go precurbridge-active #f) (none) ) - :post - (the-as (function none :behavior precurbridge) rider-post) + :post (the-as (function none :behavior precurbridge) rider-post) ) ;; failed to figure out what this is: (defstate precurbridge-active (precurbridge) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -915,10 +874,8 @@ ) ) ) - :trans - (the-as (function none :behavior precurbridge) rider-trans) - :code - (behavior ((arg0 symbol)) + :trans (the-as (function none :behavior precurbridge) rider-trans) + :code (behavior ((arg0 symbol)) (set! (-> self draw bounds w) 81920.0) (when arg0 (ja-channel-set! 1) @@ -951,8 +908,7 @@ ) (none) ) - :post - (the-as (function none :behavior precurbridge) rider-post) + :post (the-as (function none :behavior precurbridge) rider-post) ) ;; definition for method 11 of type precurbridge @@ -1176,8 +1132,7 @@ ;; failed to figure out what this is: (defstate maindoor-closed (maindoor) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (set! (-> self draw force-lod) 1) (logclear! (-> self draw status) (draw-status hidden)) (if arg0 @@ -1190,7 +1145,7 @@ (and (and *target* (>= (-> self thresh w) (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) ) - (send-event *target* 'query 'powerup 3) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) ) (sound-play-by-name @@ -1229,8 +1184,7 @@ ;; failed to figure out what this is: (defstate maindoor-open (maindoor) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (set! (-> self draw force-lod) 0) (logclear! (-> self draw status) (draw-status hidden)) (process-entity-status! self (entity-perm-status complete) #t) @@ -1252,8 +1206,7 @@ ) (none) ) - :post - (the-as (function none :behavior maindoor) ja-post) + :post (the-as (function none :behavior maindoor) ja-post) ) ;; definition for method 11 of type maindoor @@ -1281,7 +1234,7 @@ (and (and *target* (>= (-> obj thresh w) (vector-vector-distance (-> obj root-override trans) (-> *target* control trans))) ) - (send-event *target* 'query 'powerup 3) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) ) (go maindoor-open #t) @@ -1388,14 +1341,11 @@ ;; failed to figure out what this is: (defstate jngpusher-idle (jngpusher) - :trans - (the-as (function none :behavior jngpusher) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior jngpusher) rider-trans) + :code (behavior () (loop (ja :num-func num-func-identity - :frame-num - (get-current-value-with-mirror (-> self sync) (the float (ja-num-frames 0))) + :frame-num (get-current-value-with-mirror (-> self sync) (the float (ja-num-frames 0))) ) (cond ((< (ja-frame-num 0) (the float (/ (ja-num-frames 0) 3))) @@ -1412,8 +1362,7 @@ ) (none) ) - :post - (the-as (function none :behavior jngpusher) rider-post) + :post (the-as (function none :behavior jngpusher) rider-post) ) ;; definition for method 11 of type jngpusher @@ -1486,8 +1435,7 @@ :count 3 :converted #f :normal-scale 1.5 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 30.0 :xdiv -2 :speed 4.0) (new 'static 'ripple-wave :scale 30.0 :xdiv 1 :zdiv -1 :speed 4.0) (new 'static 'ripple-wave :scale 10.0 :xdiv -5 :zdiv -3 :speed 2.0) diff --git a/test/decompiler/reference/levels/jungle/jungle-part_REF.gc b/test/decompiler/reference/levels/jungle/jungle-part_REF.gc index d07dbc8c3d..9fea6821fe 100644 --- a/test/decompiler/reference/levels/jungle/jungle-part_REF.gc +++ b/test/decompiler/reference/levels/jungle/jungle-part_REF.gc @@ -20,8 +20,7 @@ ;; failed to figure out what this is: (defpart 833 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.9 0.9 1.0) (sp-rnd-flt spt-x (meters -8) (meters 4) 1.0) (sp-flt spt-y (meters 47.5)) @@ -47,8 +46,7 @@ ;; failed to figure out what this is: (defpart 834 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters 6) (meters 6) 1.0) (sp-flt spt-y (meters -6.5)) @@ -76,8 +74,7 @@ ;; failed to figure out what this is: (defpart 835 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 4) (meters 8) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 1) 1.0) @@ -103,8 +100,7 @@ ;; failed to figure out what this is: (defpart 836 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -8) (meters 4) 1.0) (sp-flt spt-y (meters 47.5)) @@ -131,8 +127,7 @@ ;; failed to figure out what this is: (defpart 837 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.4 1.0) (sp-rnd-flt spt-x (meters -7) (meters 3.5) 1.0) (sp-flt spt-y (meters 47.5)) @@ -159,8 +154,7 @@ ;; failed to figure out what this is: (defpart 838 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.8 0.8 1.0) (sp-rnd-flt spt-x (meters -10) (meters 4) 1.0) (sp-flt spt-y (meters 20)) @@ -187,8 +181,7 @@ ;; failed to figure out what this is: (defpart 839 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.6 0.4 1.0) (sp-rnd-flt spt-x (meters -9) (meters 3.5) 1.0) (sp-flt spt-y (meters 20)) @@ -216,8 +209,7 @@ ;; failed to figure out what this is: (defpart 840 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 4) 1.0) (sp-flt spt-y (meters 20)) @@ -245,8 +237,7 @@ ;; failed to figure out what this is: (defpart 841 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters 0) (meters 6) 1.0) (sp-flt spt-y (meters -4.5)) @@ -275,8 +266,7 @@ ;; failed to figure out what this is: (defpart 842 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters 1) (meters 7) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 1) 1.0) @@ -303,8 +293,7 @@ ;; failed to figure out what this is: (defpart 843 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 1.0 0.6 1.0) (sp-rnd-flt spt-x (meters -9) (meters 4) 1.0) (sp-flt spt-y (meters 20)) @@ -331,8 +320,7 @@ ;; failed to figure out what this is: (defpart 844 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.9 0.4 1.0) (sp-rnd-flt spt-x (meters -8) (meters 3.5) 1.0) (sp-flt spt-y (meters 20)) @@ -360,8 +348,7 @@ ;; failed to figure out what this is: (defpart 845 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -9) (meters 4) 1.0) (sp-flt spt-y (meters 20)) @@ -389,8 +376,7 @@ ;; failed to figure out what this is: (defpart 846 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters 0) (meters 6) 1.0) (sp-flt spt-y (meters -3.4)) @@ -419,8 +405,7 @@ ;; failed to figure out what this is: (defpart 847 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 7) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 1) 1.0) @@ -447,8 +432,7 @@ ;; failed to figure out what this is: (defpart 848 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.8 0.8 1.0) (sp-rnd-flt spt-x (meters -12) (meters 4) 1.0) (sp-flt spt-y (meters 25)) @@ -475,8 +459,7 @@ ;; failed to figure out what this is: (defpart 849 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.6 0.4 1.0) (sp-rnd-flt spt-x (meters -11) (meters 3.5) 1.0) (sp-flt spt-y (meters 25)) @@ -504,8 +487,7 @@ ;; failed to figure out what this is: (defpart 850 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -12) (meters 4) 1.0) (sp-flt spt-y (meters 25)) @@ -533,8 +515,7 @@ ;; failed to figure out what this is: (defpart 851 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-x (meters -3) (meters 6) 1.0) (sp-flt spt-y (meters -4.5)) @@ -563,8 +544,7 @@ ;; failed to figure out what this is: (defpart 852 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -2) (meters 7) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 1) 1.0) @@ -594,8 +574,7 @@ :id 180 :flags (always-draw) :bounds (static-bspherem 0 25 0 100) - :parts - ((sp-item 833) + :parts ((sp-item 833) (sp-item 833 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 834) (sp-item 834 :fade-after (meters 120) :falloff-to (meters 120)) @@ -610,8 +589,7 @@ :id 181 :flags (always-draw) :bounds (static-bspherem 2 9 4 90) - :parts - ((sp-item 838) + :parts ((sp-item 838) (sp-item 838 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 841) (sp-item 841 :fade-after (meters 120) :falloff-to (meters 120)) @@ -626,8 +604,7 @@ :id 182 :flags (always-draw) :bounds (static-bspherem 0 8 0 90) - :parts - ((sp-item 843) + :parts ((sp-item 843) (sp-item 843 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 846) (sp-item 846 :fade-after (meters 120) :falloff-to (meters 120)) @@ -642,8 +619,7 @@ :id 183 :flags (always-draw) :bounds (static-bspherem 0 10 8 90) - :parts - ((sp-item 848) + :parts ((sp-item 848) (sp-item 848 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 851) (sp-item 851 :fade-after (meters 120) :falloff-to (meters 120)) @@ -655,8 +631,7 @@ ;; failed to figure out what this is: (defpart 853 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -70) (meters 100) 1.0) (sp-rnd-flt spt-y (meters 3.5) (meters 4) 1.0) @@ -680,8 +655,7 @@ ;; failed to figure out what this is: (defpart 854 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) @@ -694,8 +668,7 @@ ;; failed to figure out what this is: (defpart 855 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0023333333)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0023333333)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r -0.64) (sp-flt spt-fade-g -0.85333335) @@ -707,8 +680,7 @@ ;; failed to figure out what this is: (defpart 856 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) @@ -719,8 +691,7 @@ ;; failed to figure out what this is: (defpart 857 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.0023333333)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.0023333333)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.64) (sp-flt spt-fade-g 0.85333335) @@ -731,8 +702,7 @@ ;; failed to figure out what this is: (defpart 858 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) @@ -745,8 +715,7 @@ ;; failed to figure out what this is: (defpart 859 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0023333333)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0023333333)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r -0.64) (sp-flt spt-fade-g -0.85333335) @@ -758,8 +727,7 @@ ;; failed to figure out what this is: (defpart 860 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) @@ -770,8 +738,7 @@ ;; failed to figure out what this is: (defpart 861 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.0023333333)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.0023333333)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.64) (sp-flt spt-fade-g 0.85333335) @@ -782,8 +749,7 @@ ;; failed to figure out what this is: (defpart 862 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) @@ -796,8 +762,7 @@ ;; failed to figure out what this is: (defpart 863 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) @@ -807,8 +772,7 @@ ;; failed to figure out what this is: (defpart 864 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.02) (sp-rnd-flt spt-x (meters -55) (meters 75) 1.0) (sp-flt spt-y (meters 28)) @@ -835,16 +799,14 @@ ;; failed to figure out what this is: (defpart 865 - :init-specs - ((sp-flt spt-fade-a -0.02)) + :init-specs ((sp-flt spt-fade-a -0.02)) ) ;; failed to figure out what this is: (defpartgroup group-jungle-dapple-light-1 :id 184 :bounds (static-bspherem 0 0 0 55) - :parts - ((sp-item 864 :hour-mask #b111111100000000000111111) + :parts ((sp-item 864 :hour-mask #b111111100000000000111111) (sp-item 853 :fade-after (meters 130) :falloff-to (meters 160) :hour-mask #b11111111111000000) ) ) @@ -853,8 +815,7 @@ (defpartgroup group-jungle-tower-spewer :id 185 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 866 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 866 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 866 :fade-after (meters 50) :falloff-to (meters 50)) (sp-item 867 :fade-after (meters 300) :falloff-to (meters 300)) (sp-item 868 :fade-after (meters 400) :falloff-to (meters 400)) @@ -863,8 +824,7 @@ ;; failed to figure out what this is: (defpart 866 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.25 1.0 1.0) (sp-rnd-flt spt-y (meters 1.6) (meters 2) 1.0) (sp-rnd-flt spt-scale-x (meters 5) (meters 1) 1.0) @@ -888,8 +848,7 @@ ;; failed to figure out what this is: (defpart 869 - :init-specs - ((sp-flt spt-r 64.0) + :init-specs ((sp-flt spt-r 64.0) (sp-flt spt-g 64.0) (sp-flt spt-fade-r -0.4) (sp-flt spt-fade-g -0.4) @@ -899,8 +858,7 @@ ;; failed to figure out what this is: (defpart 867 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 1.0 2.5 1.0) (sp-flt spt-y (meters 0.75)) (sp-rnd-flt spt-scale-x (meters 3) (meters 2) 1.0) @@ -920,8 +878,7 @@ ;; failed to figure out what this is: (defpart 868 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 0.1 1.25 1.0) (sp-flt spt-y (meters 0.75)) (sp-rnd-flt spt-scale-x (meters 3.5) (meters 2) 1.0) @@ -943,8 +900,7 @@ ;; failed to figure out what this is: (defpart 870 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 0.75)) (sp-flt spt-scale-x (meters 4)) @@ -969,16 +925,14 @@ ;; failed to figure out what this is: (defpart 871 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) ;; failed to figure out what this is: (defpartgroup group-jungle-lurkermachine-3 :id 186 :bounds (static-bspherem 0 6 6 16) - :parts - ((sp-item 872 :fade-after (meters 140) :falloff-to (meters 160) :period 300 :length 258) + :parts ((sp-item 872 :fade-after (meters 140) :falloff-to (meters 160) :period 300 :length 258) (sp-item 872 :fade-after (meters 140) :falloff-to (meters 160) :period 202 :length 36) (sp-item 872 :fade-after (meters 100) :falloff-to (meters 120) :period 450 :length 38) (sp-item 872 :fade-after (meters 100) :falloff-to (meters 120) :period 857 :length 106) @@ -1038,8 +992,7 @@ ;; failed to figure out what this is: (defpart 894 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters 3.8)) (sp-flt spt-y (meters 4.5)) @@ -1069,8 +1022,7 @@ ;; failed to figure out what this is: (defpart 893 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters 3.8)) (sp-flt spt-y (meters 4.5)) @@ -1101,8 +1053,7 @@ ;; failed to figure out what this is: (defpart 892 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 4.7)) @@ -1133,8 +1084,7 @@ ;; failed to figure out what this is: (defpart 891 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 4.7)) @@ -1166,8 +1116,7 @@ ;; failed to figure out what this is: (defpart 890 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters -6.5)) (sp-flt spt-y (meters 2.3)) @@ -1198,8 +1147,7 @@ ;; failed to figure out what this is: (defpart 889 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters -6.5)) (sp-flt spt-y (meters 2.3)) @@ -1233,8 +1181,7 @@ ;; failed to figure out what this is: (defpart 888 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters -6.3)) (sp-flt spt-y (meters 6.8)) @@ -1264,8 +1211,7 @@ ;; failed to figure out what this is: (defpart 887 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters -6.3)) (sp-flt spt-y (meters 6.8)) @@ -1296,8 +1242,7 @@ ;; failed to figure out what this is: (defpart 886 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters 8.7)) (sp-flt spt-y (meters 6.8)) @@ -1328,8 +1273,7 @@ ;; failed to figure out what this is: (defpart 885 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters 8.7)) (sp-flt spt-y (meters 6.8)) @@ -1361,8 +1305,7 @@ ;; failed to figure out what this is: (defpart 884 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters 6.9)) (sp-flt spt-y (meters 5.3)) @@ -1392,8 +1335,7 @@ ;; failed to figure out what this is: (defpart 883 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters 6.9)) (sp-flt spt-y (meters 5.3)) @@ -1424,8 +1366,7 @@ ;; failed to figure out what this is: (defpart 882 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters 2.9)) (sp-flt spt-y (meters 8.9)) @@ -1456,8 +1397,7 @@ ;; failed to figure out what this is: (defpart 881 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters 2.9)) (sp-flt spt-y (meters 8.9)) @@ -1489,8 +1429,7 @@ ;; failed to figure out what this is: (defpart 880 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters -7.7)) (sp-flt spt-y (meters 2.3)) @@ -1521,8 +1460,7 @@ ;; failed to figure out what this is: (defpart 879 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters -7.7)) (sp-flt spt-y (meters 2.3)) @@ -1556,14 +1494,12 @@ ;; failed to figure out what this is: (defpart 895 - :init-specs - ((sp-flt spt-vel-y (meters 0))) + :init-specs ((sp-flt spt-vel-y (meters 0))) ) ;; failed to figure out what this is: (defpart 878 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters -4.2)) (sp-flt spt-y (meters 10.9)) @@ -1593,8 +1529,7 @@ ;; failed to figure out what this is: (defpart 877 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters -4.2)) (sp-flt spt-y (meters 10.9)) @@ -1625,8 +1560,7 @@ ;; failed to figure out what this is: (defpart 876 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-flt spt-x (meters -8.2)) (sp-flt spt-y (meters 6.8)) @@ -1657,8 +1591,7 @@ ;; failed to figure out what this is: (defpart 875 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters -8.2)) (sp-flt spt-y (meters 6.8)) @@ -1690,8 +1623,7 @@ ;; failed to figure out what this is: (defpart 872 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters -2.2) (meters 2.4) 1.0) (sp-rnd-flt spt-y (meters 5.5) (meters 1.3) 1.0) @@ -1723,8 +1655,7 @@ ;; failed to figure out what this is: (defpart 873 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters -3.75) (meters 2.4) 1.0) (sp-rnd-flt spt-y (meters 8.5) (meters 1.3) 1.0) @@ -1756,8 +1687,7 @@ ;; failed to figure out what this is: (defpart 874 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-rnd-flt spt-x (meters -10.5) (meters 0.8) 1.0) (sp-flt spt-y (meters 1.3)) @@ -1791,8 +1721,7 @@ (defpartgroup group-jungle-lurkermachine-1 :id 187 :bounds (static-bspherem 0 10 0 12) - :parts - ((sp-item 896 :fade-after (meters 140) :falloff-to (meters 160) :period 300 :length 258) + :parts ((sp-item 896 :fade-after (meters 140) :falloff-to (meters 160) :period 300 :length 258) (sp-item 896 :fade-after (meters 140) :falloff-to (meters 160) :period 202 :length 36) (sp-item 896 :fade-after (meters 100) :falloff-to (meters 120) :period 450 :length 38) (sp-item 896 :fade-after (meters 100) :falloff-to (meters 120) :period 857 :length 106) @@ -1812,8 +1741,7 @@ ;; failed to figure out what this is: (defpart 896 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters 1) (meters 2.2) 1.0) (sp-rnd-flt spt-y (meters 9.4) (meters 1.3) 1.0) @@ -1845,8 +1773,7 @@ ;; failed to figure out what this is: (defpart 897 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters -1.2) (meters 2.4) 1.0) (sp-rnd-flt spt-y (meters 8.5) (meters 1.3) 1.0) @@ -1878,8 +1805,7 @@ ;; failed to figure out what this is: (defpart 898 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-flt spt-x (meters 4.4)) (sp-rnd-flt spt-y (meters 8.5) (meters 1.3) 1.0) diff --git a/test/decompiler/reference/levels/jungle/junglefish_REF.gc b/test/decompiler/reference/levels/jungle/junglefish_REF.gc index 97ac5a8772..9e70ff6ce3 100644 --- a/test/decompiler/reference/levels/jungle/junglefish_REF.gc +++ b/test/decompiler/reference/levels/jungle/junglefish_REF.gc @@ -41,23 +41,19 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-patrol (junglefish) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglefish) nav-enemy-default-event-handler ) - :exit - (behavior () + :exit (behavior () (set! (-> self target-speed) (-> self nav-info walk-travel-speed)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (loop - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info walk-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -69,8 +65,7 @@ nav-enemy-default-event-handler (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.6)) (set! (-> self target-speed) 0.0) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info idle-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -80,8 +75,7 @@ nav-enemy-default-event-handler (ja :num! (seek! max f30-0)) ) (until (not (nav-enemy-rnd-go-idle? 0.2)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info idle-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -93,8 +87,7 @@ nav-enemy-default-event-handler (set! (-> self target-speed) (-> self nav-info walk-travel-speed)) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.6)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info walk-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -113,13 +106,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-notice (junglefish) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglefish) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-chase) (none) ) @@ -128,13 +119,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-chase (junglefish) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglefish) nav-enemy-default-event-handler ) - :trans - (behavior () + :trans (behavior () ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) (if (and *target* (>= 8192.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)))) (go-virtual nav-enemy-attack) @@ -146,13 +135,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-stop-chase (junglefish) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglefish) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-patrol) (none) ) @@ -161,13 +148,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-stare (junglefish) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglefish) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-patrol) (none) ) @@ -176,13 +161,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-give-up (junglefish) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglefish) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (go-virtual nav-enemy-patrol) (none) ) @@ -191,13 +174,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-attack (junglefish) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglefish) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! junglefish-chomp-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -207,20 +188,17 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-chase) (none) ) - :post - (the-as (function none :behavior junglefish) nav-enemy-chase-post) + :post (the-as (function none :behavior junglefish) nav-enemy-chase-post) ) ;; failed to figure out what this is: (defstate nav-enemy-victory (junglefish) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglefish) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! junglefish-swim-ja :num! (seek! max 2.0) :frame-num 0.0) (until (ja-done? 0) diff --git a/test/decompiler/reference/levels/jungle/junglesnake_REF.gc b/test/decompiler/reference/levels/jungle/junglesnake_REF.gc index 0115c10d1f..bf27089016 100644 --- a/test/decompiler/reference/levels/jungle/junglesnake_REF.gc +++ b/test/decompiler/reference/levels/jungle/junglesnake_REF.gc @@ -15,14 +15,12 @@ :id 173 :flags (use-local-clock) :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 799 :period 300 :length 150)) + :parts ((sp-item 799 :period 300 :length 150)) ) ;; failed to figure out what this is: (defpart 799 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -9) (meters 18) 1.0) (sp-flt spt-y (meters -6)) @@ -156,33 +154,20 @@ ((and (-> self is-lethal?) (zero? (logand (-> *target* state-flags) (state-flags sf03 sf04 sf05 sf06 sf07 sf15))) ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (set! (-> a1-2 param 1) (the-as uint (new 'static 'attack-info))) - (when (send-event-function arg0 a1-2) - (let ((v0-1 (the-as object #t))) - (set! (-> self hit-player) (the-as symbol v0-1)) - v0-1 - ) + (when (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) + (let ((v0-1 (the-as object #t))) + (set! (-> self hit-player) (the-as symbol v0-1)) + v0-1 ) ) ) (else (do-push-aways! (-> self root-override)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'shove) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((v1-17 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-17 shove-back) 8192.0) - (set! (-> v1-17 shove-up) 2048.0) - (set! (-> a1-3 param 1) (the-as uint v1-17)) - ) - (send-event-function arg0 a1-3) + (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-back (meters 2)) (shove-up (meters 0.5)))) ) ) ) @@ -379,10 +364,8 @@ junglesnake-default-event-handler ;; failed to figure out what this is: (defstate junglesnake-sleeping (junglesnake) - :event - junglesnake-default-event-handler - :enter - (behavior () + :event junglesnake-default-event-handler + :enter (behavior () (set! (-> self skel postbind-function) #f) (set! (-> self track-player-ry) #f) (set! (-> self track-player-tilt) #f) @@ -391,8 +374,7 @@ junglesnake-default-event-handler (logior! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (when *target* (let* ((a0-1 (target-pos 0)) (f0-1 (- (-> a0-1 y) (-> self root-override trans y))) @@ -404,8 +386,7 @@ junglesnake-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 @@ -415,10 +396,8 @@ junglesnake-default-event-handler ;; failed to figure out what this is: (defstate junglesnake-wake (junglesnake) - :event - junglesnake-default-event-handler - :enter - (behavior () + :event junglesnake-default-event-handler + :enter (behavior () (logclear! (-> self draw status) (draw-status hidden)) (set! (-> self track-player-ry) #f) (set! (-> self track-player-tilt) #f) @@ -427,8 +406,7 @@ junglesnake-default-event-handler 0 (none) ) - :trans - (behavior () + :trans (behavior () (dummy-20 self) (when *target* (if *target* @@ -442,8 +420,7 @@ junglesnake-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! junglesnake-drop-down-ja :num! (seek! max 0.85) :frame-num 0.5) (until (ja-done? 0) (suspend) @@ -452,23 +429,19 @@ junglesnake-default-event-handler (go junglesnake-tracking) (none) ) - :post - (the-as (function none :behavior junglesnake) transform-post) + :post (the-as (function none :behavior junglesnake) transform-post) ) ;; failed to figure out what this is: (defstate junglesnake-tracking (junglesnake) - :event - junglesnake-default-event-handler - :enter - (behavior () + :event junglesnake-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self track-player-ry) #t) (set! (-> self track-player-tilt) #t) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (and *target* (>= 24576.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self refractory-delay)) (zero? (logand (-> *target* state-flags) (state-flags sf03 sf04 sf05 sf06 sf07 sf15))) @@ -497,8 +470,7 @@ junglesnake-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (cond ((ja-group? junglesnake-idle-ja) (while (not (ja-done? 0)) @@ -519,26 +491,21 @@ junglesnake-default-event-handler ) (none) ) - :post - (the-as (function none :behavior junglesnake) transform-post) + :post (the-as (function none :behavior junglesnake) transform-post) ) ;; failed to figure out what this is: (defstate junglesnake-attack (junglesnake) - :event - junglesnake-default-event-handler - :enter - (behavior () + :event junglesnake-default-event-handler + :enter (behavior () (set! (-> self hit-player) #f) (none) ) - :exit - (behavior () + :exit (behavior () (dummy-24 self) (none) ) - :trans - (behavior () + :trans (behavior () (dummy-20 self) (when *target* (if *target* @@ -552,8 +519,7 @@ junglesnake-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self track-player-ry) #t) (set! (-> self track-player-tilt) #t) (ja-channel-push! 2 (seconds 0.15)) @@ -596,16 +562,13 @@ junglesnake-default-event-handler (go junglesnake-tracking) (none) ) - :post - (the-as (function none :behavior junglesnake) transform-post) + :post (the-as (function none :behavior junglesnake) transform-post) ) ;; failed to figure out what this is: (defstate junglesnake-give-up (junglesnake) - :event - junglesnake-default-event-handler - :enter - (behavior () + :event junglesnake-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self track-player-ry) #f) (set! (-> self track-player-tilt) #f) @@ -613,13 +576,11 @@ junglesnake-default-event-handler (set! (-> self des-tilt) (-> self tilt)) (none) ) - :trans - (behavior () + :trans (behavior () (dummy-20 self) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new 'stack-no-clear 'vector))) (let ((s5-0 (new 'stack-no-clear 'vector))) @@ -647,19 +608,16 @@ junglesnake-default-event-handler (go junglesnake-sleeping) (none) ) - :post - (the-as (function none :behavior junglesnake) transform-post) + :post (the-as (function none :behavior junglesnake) transform-post) ) ;; failed to figure out what this is: (defstate junglesnake-die (junglesnake) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior junglesnake) process-drawable-death-event-handler ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (clear-collide-with-as (-> self root-override)) (ja-channel-push! 1 (seconds 0.15)) @@ -671,8 +629,7 @@ junglesnake-default-event-handler (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior junglesnake) ja-post) + :post (the-as (function none :behavior junglesnake) ja-post) ) ;; definition for method 23 of type junglesnake diff --git a/test/decompiler/reference/levels/jungleb/aphid_REF.gc b/test/decompiler/reference/levels/jungleb/aphid_REF.gc index 0b7e5bc3aa..43793350f7 100644 --- a/test/decompiler/reference/levels/jungleb/aphid_REF.gc +++ b/test/decompiler/reference/levels/jungleb/aphid_REF.gc @@ -62,10 +62,8 @@ ;; failed to figure out what this is: (defstate nav-enemy-chase (aphid) :virtual #t - :exit - aphid-vulnerable - :code - (behavior () + :exit aphid-vulnerable + :code (behavior () (let ((gp-0 (cond ((>= (-> self try) 15) 450 @@ -132,8 +130,7 @@ ;; failed to figure out what this is: (defstate nav-enemy-stare (aphid) :virtual #t - :code - (behavior () + :code (behavior () (set! (-> self turn-time) (seconds 0.2)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) (when (or (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) @@ -179,8 +176,7 @@ ;; failed to figure out what this is: (defstate nav-enemy-give-up (aphid) :virtual #t - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 218453.33) (set! (-> self turn-time) (seconds 0.5)) (ja-channel-push! 1 (seconds 0.15)) @@ -327,12 +323,7 @@ (set! (-> self entity) (-> arg0 entity)) (TODO-RENAME-48 self) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf12)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 0) - (set! (-> a1-3 message) 'try) - (set! (-> self try) (the-as int (send-event-function (ppointer->process (-> self parent)) a1-3))) - ) + (set! (-> self try) (the-as int (send-event (ppointer->process (-> self parent)) 'try))) (go-virtual nav-enemy-chase) (none) ) diff --git a/test/decompiler/reference/levels/jungleb/jungleb-obs_REF.gc b/test/decompiler/reference/levels/jungleb/jungleb-obs_REF.gc index 57b622581e..34dd09aa44 100644 --- a/test/decompiler/reference/levels/jungleb/jungleb-obs_REF.gc +++ b/test/decompiler/reference/levels/jungleb/jungleb-obs_REF.gc @@ -40,8 +40,7 @@ (defpartgroup group-jungle-blue-eco-room-open :id 189 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 899 :fade-after (meters 110)) + :parts ((sp-item 899 :fade-after (meters 110)) (sp-item 900 :fade-after (meters 110)) (sp-item 901 :fade-after (meters 110)) (sp-item 902 :fade-after (meters 110)) @@ -54,14 +53,12 @@ :id 190 :duration 900 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 903) (sp-item 903) (sp-item 904 :flags (bit1) :period 1200 :length 15)) + :parts ((sp-item 903) (sp-item 903) (sp-item 904 :flags (bit1) :period 1200 :length 15)) ) ;; failed to figure out what this is: (defpart 904 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 30.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 20) (meters 10) 1.0) @@ -83,20 +80,17 @@ ;; failed to figure out what this is: (defpart 905 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 225) (sp-launcher-by-id spt-next-launcher 906)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 225) (sp-launcher-by-id spt-next-launcher 906)) ) ;; failed to figure out what this is: (defpart 906 - :init-specs - ((sp-flt spt-fade-a -0.14222223)) + :init-specs ((sp-flt spt-fade-a -0.14222223)) ) ;; failed to figure out what this is: (defpart 899 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 10) (meters 2) 1.0) @@ -112,8 +106,7 @@ ;; failed to figure out what this is: (defpart 900 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 3) (meters 2) 1.0) @@ -129,8 +122,7 @@ ;; failed to figure out what this is: (defpart 901 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.5 1.0 1.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) @@ -151,8 +143,7 @@ ;; failed to figure out what this is: (defpart 907 - :init-specs - ((sp-flt spt-r 64.0) + :init-specs ((sp-flt spt-r 64.0) (sp-flt spt-g 64.0) (sp-flt spt-fade-r -1.0) (sp-flt spt-fade-g -1.0) @@ -162,8 +153,7 @@ ;; failed to figure out what this is: (defpart 902 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.5 1.0 1.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) @@ -184,8 +174,7 @@ ;; failed to figure out what this is: (defpart 903 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-y (meters -6.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 2) 1.0) @@ -209,8 +198,7 @@ ;; failed to figure out what this is: (defstate eggtop-idle (eggtop) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'notify) (case (-> arg3 param 0) @@ -224,13 +212,11 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self sound-id)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (not (-> self child)) (task-complete? *game-info* (-> self entity extra perm task))) (go eggtop-close #f) ) @@ -238,96 +224,78 @@ (sound-play-by-name (static-sound-name "electric-loop") (-> self sound-id) 1024 0 0 1 #t) (none) ) - :code - (behavior () + :code (behavior () (suspend) (update-transforms! (-> self root-override)) (anim-loop) (none) ) - :post - (the-as (function none :behavior eggtop) ja-post) + :post (the-as (function none :behavior eggtop) ja-post) ) ;; failed to figure out what this is: (defstate eggtop-close (eggtop) - :trans - (behavior () + :trans (behavior () (rider-trans) (hide-hud-quick) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (when (not arg0) (sound-play-by-name (static-sound-name "vent-switch") (new-sound-id) 2048 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 190) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 190) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) - (let ((gp-2 (get-process *default-dead-pool* camera-tracker #x4000))) - (set! (-> self cam-tracker) - (ppointer->handle (when gp-2 - (let ((t9-6 (method-of-type camera-tracker activate))) - (t9-6 (the-as camera-tracker gp-2) self 'camera-tracker (the-as pointer #x70004000)) + (set! (-> self cam-tracker) + (ppointer->handle (process-spawn + camera-tracker + :init camera-tracker-init + (lambda :behavior camera-tracker + () + (while (not (process-grab? *target*)) + (suspend) ) - (run-now-in-process - gp-2 - camera-tracker-init - (lambda :behavior camera-tracker - () - (while (not (process-grab? *target*)) - (suspend) - ) - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 1)) - (suspend) - ) - ) - (send-event *camera* 'blend-from-as-fixed) - (camera-look-at (the-as pair "ecovent-171") (the-as uint 0)) - (camera-change-to "camera-223" 0 #f) - (let ((gp-1 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-1) (seconds 3)) - (suspend) - ) - ) - (while (not (process-release? (handle->process (-> self grab-target)))) - (suspend) - ) - (send-event *camera* 'blend-from-as-fixed) - (level-hint-spawn - (game-text-id jungleb-eco-vents-opened) - "asstvb02" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (camera-look-at (the-as pair *target*) (the-as uint 0)) - (camera-change-to (the-as string 'base) 150 #f) - (send-event (ppointer->process (-> *hud-parts* fuel-cell)) 'show) - (none) + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 1)) + (suspend) ) ) - (-> gp-2 ppointer) + (send-event *camera* 'blend-from-as-fixed) + (camera-look-at (the-as pair "ecovent-171") (the-as uint 0)) + (camera-change-to "camera-223" 0 #f) + (let ((gp-1 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-1) (seconds 3)) + (suspend) + ) + ) + (while (not (process-release? (handle->process (-> self grab-target)))) + (suspend) + ) + (send-event *camera* 'blend-from-as-fixed) + (level-hint-spawn + (game-text-id jungleb-eco-vents-opened) + "asstvb02" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (camera-look-at (the-as pair *target*) (the-as uint 0)) + (camera-change-to (the-as string 'base) 150 #f) + (send-event (ppointer->process (-> *hud-parts* fuel-cell)) 'show) + (none) ) + :to self ) - ) - ) + ) + ) (save-reminder (get-task-control (-> self entity extra perm task)) 2 0) (sound-play-by-name (static-sound-name "jngb-eggtop-seq") (new-sound-id) 1024 0 0 1 #t) (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) @@ -349,8 +317,7 @@ 0 (none) ) - :post - (the-as (function none :behavior eggtop) rider-post) + :post (the-as (function none :behavior eggtop) rider-post) ) ;; definition for method 11 of type eggtop diff --git a/test/decompiler/reference/levels/jungleb/plant-boss_REF.gc b/test/decompiler/reference/levels/jungleb/plant-boss_REF.gc index 86764f9aff..cec42fcb5f 100644 --- a/test/decompiler/reference/levels/jungleb/plant-boss_REF.gc +++ b/test/decompiler/reference/levels/jungleb/plant-boss_REF.gc @@ -205,10 +205,8 @@ ;; definition for symbol *plant-boss-shadow-control*, type shadow-control (define *plant-boss-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #x2)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 409600.0) + :center (new 'static 'vector :w (the-as float #x2)) + :shadow-dir (new 'static 'vector :y -1.0 :w 409600.0) :bot-plane (new 'static 'plane :y 1.0 :w 37683.2) :top-plane (new 'static 'plane :y 1.0 :w 4096.0) ) @@ -291,8 +289,7 @@ ;; failed to figure out what this is: (defstate plant-boss-arm-idle (plant-boss-arm) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hide 'die) (go plant-boss-arm-die (the-as symbol (-> arg3 param 0))) @@ -302,8 +299,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja-channel-set! 2) (ja :group! plant-boss-arms-idle-ja :num! min) (ja :chan 1 :group! plant-boss-arms-still-ja :num! min) @@ -314,16 +310,13 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) ;; failed to figure out what this is: (defstate plant-boss-arm-hit (plant-boss-arm) - :event - (-> plant-boss-arm-idle event) - :code - (behavior ((arg0 basic)) + :event (-> plant-boss-arm-idle event) + :code (behavior ((arg0 basic)) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! plant-boss-arms-hit-ja :num! (seek! (ja-aframe (the-as float 90.0) 0)) :frame-num 0.0) (until (ja-done? 0) @@ -340,14 +333,12 @@ (go plant-boss-arm-idle) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) ;; failed to figure out what this is: (defstate plant-boss-arm-die (plant-boss-arm) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (let ((a0-1 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) prims 0))) (set! (-> self root-override root-prim local-sphere w) 81920.0) (set! (-> (the-as collide-shape-prim-mesh a0-1) local-sphere w) 69632.0) @@ -411,14 +402,12 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) ;; failed to figure out what this is: (defstate plant-boss-back-arms-idle (plant-boss-arm) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (or (= arg2 'touch) (= arg2 'attack)) (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) ) @@ -431,8 +420,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! plant-boss-back-arms-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -442,16 +430,13 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) ;; failed to figure out what this is: (defstate plant-boss-back-arms-hit (plant-boss-arm) - :event - (-> plant-boss-back-arms-idle event) - :code - (behavior ((arg0 symbol)) + :event (-> plant-boss-back-arms-idle event) + :code (behavior ((arg0 symbol)) (ja-channel-push! 1 (seconds 0.1)) (cond ((or (= arg0 'spin) (= arg0 'spin-air)) @@ -485,14 +470,12 @@ (go plant-boss-back-arms-idle) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) ;; failed to figure out what this is: (defstate plant-boss-back-arms-die (plant-boss-arm) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (cond (arg0 (ja-channel-set! 1) @@ -514,14 +497,12 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) ;; failed to figure out what this is: (defstate plant-boss-vine-idle (plant-boss-arm) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hide 'die) (go plant-boss-vine-die (the-as symbol (-> arg3 param 0))) @@ -531,8 +512,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (let ((f30-0 (rand-vu-float-range (the-as float 0.9) (the-as float 1.1)))) (loop (ja-no-eval :group! plant-boss-vine-idle-ja :num! (seek! max f30-0) :frame-num 0.0) @@ -544,16 +524,13 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) ;; failed to figure out what this is: (defstate plant-boss-vine-hit (plant-boss-arm) - :event - (-> plant-boss-vine-idle event) - :code - (behavior ((arg0 basic)) + :event (-> plant-boss-vine-idle event) + :code (behavior ((arg0 basic)) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! plant-boss-vine-hit-ja :num! (seek! (ja-aframe (the-as float 45.0) 0)) :frame-num 0.0) (until (ja-done? 0) @@ -570,14 +547,12 @@ (go plant-boss-vine-idle) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) ;; failed to figure out what this is: (defstate plant-boss-vine-die (plant-boss-arm) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (when (not arg0) (let ((f30-0 (rand-vu-float-range (the-as float 0.0) (the-as float 1.0))) (gp-0 (-> *display* base-frame-counter)) @@ -597,22 +572,19 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) ;; failed to figure out what this is: (defstate plant-boss-root-idle (plant-boss-arm) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hide 'die) (go plant-boss-root-die (the-as symbol (-> arg3 param 0))) ) ) ) - :code - (behavior () + :code (behavior () (let ((f30-0 (rand-vu-float-range (the-as float 0.9) (the-as float 1.1)))) (loop (ja-no-eval :group! plant-boss-root-idle-ja :num! (seek! max f30-0) :frame-num 0.0) @@ -624,14 +596,12 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) ;; failed to figure out what this is: (defstate plant-boss-root-die (plant-boss-arm) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (when (not arg0) (let ((gp-0 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 4)) @@ -642,8 +612,7 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-arm) ja-post) + :post (the-as (function none :behavior plant-boss-arm) ja-post) ) ;; definition for function plant-boss-arm-init @@ -773,8 +742,7 @@ ;; failed to figure out what this is: (defstate plant-boss-leaf-idle (plant-boss-leaf) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go plant-boss-leaf-open (the-as symbol (-> arg3 param 0))) @@ -784,8 +752,7 @@ ) ) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (loop (case (-> self side) ((1) @@ -810,14 +777,12 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss-leaf) ja-post) + :post (the-as (function none :behavior plant-boss-leaf) ja-post) ) ;; failed to figure out what this is: (defstate plant-boss-leaf-open (plant-boss-leaf) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('kill) (go plant-boss-leaf-close) @@ -827,10 +792,8 @@ ) ) ) - :trans - (the-as (function none :behavior plant-boss-leaf) rider-trans) - :code - (behavior ((arg0 symbol)) + :trans (the-as (function none :behavior plant-boss-leaf) rider-trans) + :code (behavior ((arg0 symbol)) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.1)) (case (-> self side) @@ -872,14 +835,12 @@ (go plant-boss-leaf-open-idle #f) (none) ) - :post - (the-as (function none :behavior plant-boss-leaf) rider-post) + :post (the-as (function none :behavior plant-boss-leaf) rider-post) ) ;; failed to figure out what this is: (defstate plant-boss-leaf-open-idle (plant-boss-leaf) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('kill) (set! (-> self state-object) #t) @@ -898,10 +859,8 @@ ) ) ) - :trans - (the-as (function none :behavior plant-boss-leaf) rider-trans) - :code - (behavior ((arg0 symbol)) + :trans (the-as (function none :behavior plant-boss-leaf) rider-trans) + :code (behavior ((arg0 symbol)) (local-vars (v1-19 symbol)) (set! (-> self state-object) arg0) (case (ja-group) @@ -925,14 +884,12 @@ (go plant-boss-leaf-close) (none) ) - :post - (the-as (function none :behavior plant-boss-leaf) rider-post) + :post (the-as (function none :behavior plant-boss-leaf) rider-post) ) ;; failed to figure out what this is: (defstate plant-boss-leaf-bounce (plant-boss-leaf) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('kill) (set! (-> self state-object) #t) @@ -946,10 +903,8 @@ ) ) ) - :trans - (the-as (function none :behavior plant-boss-leaf) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior plant-boss-leaf) rider-trans) + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (case (-> self side) ((1) @@ -972,24 +927,20 @@ (go plant-boss-leaf-open-idle (-> self state-object)) (none) ) - :post - (the-as (function none :behavior plant-boss-leaf) rider-post) + :post (the-as (function none :behavior plant-boss-leaf) rider-post) ) ;; failed to figure out what this is: (defstate plant-boss-leaf-close (plant-boss-leaf) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('die) (go plant-boss-leaf-die (the-as basic (-> arg3 param 0))) ) ) ) - :trans - (the-as (function none :behavior plant-boss-leaf) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior plant-boss-leaf) rider-trans) + :code (behavior () (case (-> self side) ((1) (sound-play-by-name (static-sound-name "plant-leaf") (new-sound-id) 1024 0 0 1 #t) @@ -1011,22 +962,19 @@ (go plant-boss-leaf-idle #f) (none) ) - :post - (the-as (function none :behavior plant-boss-leaf) rider-post) + :post (the-as (function none :behavior plant-boss-leaf) rider-post) ) ;; failed to figure out what this is: (defstate plant-boss-leaf-die (plant-boss-leaf) - :code - (behavior ((arg0 basic)) + :code (behavior ((arg0 basic)) (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) (none) ) - :post - (the-as (function none :behavior plant-boss-leaf) ja-post) + :post (the-as (function none :behavior plant-boss-leaf) ja-post) ) ;; definition for function plant-boss-leaf-init @@ -1065,8 +1013,7 @@ ;; failed to figure out what this is: (defstate plant-boss-far-idle (plant-boss) - :code - (behavior () + :code (behavior () (clear-pending-settings-from-process *setting-control* self 'music) (let ((gp-0 (-> self child))) (while gp-0 @@ -1106,14 +1053,12 @@ ) (none) ) - :post - (the-as (function none :behavior plant-boss) ja-post) + :post (the-as (function none :behavior plant-boss) ja-post) ) ;; failed to figure out what this is: (defstate plant-boss-intro (plant-boss) - :code - (behavior () + :code (behavior () (set-setting! *setting-control* self 'music 'danger (the-as float 0.0) 0) (send-event *target* 'reset-pickup 'eco) (let ((v1-9 (-> self entity extra perm))) @@ -1134,54 +1079,42 @@ (set-mode! (-> self body) (joint-mod-handler-mode world-look-at)) (b! #t cfg-17 :delay (nop!)) (label cfg-5) - (when (not (handle->process (-> self cam-tracker))) - (let ((gp-1 (get-process *default-dead-pool* camera-tracker #x4000))) + (if (not (handle->process (-> self cam-tracker))) (set! (-> self cam-tracker) - (ppointer->handle (when gp-1 - (let ((t9-9 (method-of-type camera-tracker activate))) - (t9-9 (the-as camera-tracker gp-1) self 'camera-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - camera-tracker-init - (lambda :behavior camera-tracker - () - (while (not (process-grab? *target*)) - (suspend) - ) - (ambient-hint-spawn "gamcam28" (the-as vector #f) *entity-pool* 'ambient) - (send-event *camera* 'blend-from-as-fixed) - (camera-look-at (the-as pair (ppointer->process (-> self parent))) (the-as uint 13)) - (camera-change-to "camera-220" 0 #f) - (while (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 0) - (set! (-> a1-4 message) 'intro-done?) - (not (send-event-function *camera* a1-4)) - ) - (suspend) - ) - (camera-change-to "camera-222" 600 #f) - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 2)) - (suspend) - ) - ) - (while (not (process-release? (handle->process (-> self grab-target)))) - (suspend) - ) - (send-event *camera* 'blend-from-as-fixed) - (camera-look-at (the-as pair *target*) (the-as uint 0)) - (camera-change-to (the-as string 'base) 150 #f) - (none) + (ppointer->handle (process-spawn + camera-tracker + :init camera-tracker-init + (lambda :behavior camera-tracker + () + (while (not (process-grab? *target*)) + (suspend) ) + (ambient-hint-spawn "gamcam28" (the-as vector #f) *entity-pool* 'ambient) + (send-event *camera* 'blend-from-as-fixed) + (camera-look-at (the-as pair (ppointer->process (-> self parent))) (the-as uint 13)) + (camera-change-to "camera-220" 0 #f) + (while (not (send-event *camera* 'intro-done?)) + (suspend) + ) + (camera-change-to "camera-222" 600 #f) + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 2)) + (suspend) + ) + ) + (while (not (process-release? (handle->process (-> self grab-target)))) + (suspend) + ) + (send-event *camera* 'blend-from-as-fixed) + (camera-look-at (the-as pair *target*) (the-as uint 0)) + (camera-change-to (the-as string 'base) 150 #f) + (none) ) - (-> gp-1 ppointer) + :to self ) ) ) ) - ) (let ((v1-37 (-> self neck))) (set! (-> v1-37 blend) 0.0) ) @@ -1211,24 +1144,20 @@ (go plant-boss-reset 0) (none) ) - :post - (the-as (function none :behavior plant-boss) ja-post) + :post (the-as (function none :behavior plant-boss) ja-post) ) ;; failed to figure out what this is: (defstate plant-boss-idle (plant-boss) - :event - plant-boss-default-event-handler - :enter - (behavior () + :event plant-boss-default-event-handler + :enter (behavior () (set-setting! *setting-control* self 'music 'danger (the-as float 0.0) 0) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self body flex-blend) 0.0) (set! (-> self neck flex-blend) 1.0) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (vector-vector-distance (target-pos 0) (-> self root-override trans)))) (if (< 409600.0 f30-0) (go plant-boss-far-idle) @@ -1257,8 +1186,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (cond ((ja-group? plant-boss-main-reset-ja) (ja-channel-push! 1 (seconds 0.5)) @@ -1319,16 +1247,13 @@ ) (none) ) - :post - plant-boss-post + :post plant-boss-post ) ;; failed to figure out what this is: (defstate plant-boss-spawn (plant-boss) - :event - plant-boss-default-event-handler - :enter - (behavior () + :event plant-boss-default-event-handler + :enter (behavior () (when (not (-> self try-inc)) (let ((gp-0 (-> self entity extra perm))) (logior! (-> gp-0 status) (entity-perm-status user-set-from-cstage)) @@ -1357,8 +1282,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f0-0 (vector-vector-distance (target-pos 0) (-> self root-override trans)))) (if (< 409600.0 f0-0) (go plant-boss-far-idle) @@ -1383,33 +1307,22 @@ ) ) ((>= (- (-> *display* base-frame-counter) (-> self aphid-spawn-time)) (seconds 1.4)) - (let ((gp-1 (get-process *default-dead-pool* aphid #x4000))) - (when (when gp-1 - (let ((t9-5 (method-of-type aphid activate))) - (t9-5 (the-as aphid gp-1) self 'aphid (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 aphid-init-by-other self (-> self root-override trans) (target-pos 0)) - (-> gp-1 ppointer) - ) - (+! (-> self aphid-count) 1) - (seekl! (-> self want-aphid-count) 0 1) - (set! (-> self aphid-spawn-time) (-> *display* base-frame-counter)) - ) + (when (process-spawn aphid self (-> self root-override trans) (target-pos 0) :to self) + (+! (-> self aphid-count) 1) + (seekl! (-> self want-aphid-count) 0 1) + (set! (-> self aphid-spawn-time) (-> *display* base-frame-counter)) ) ) ) (none) ) - :code - (-> plant-boss-idle code) - :post - plant-boss-post + :code (-> plant-boss-idle code) + :post plant-boss-post ) ;; failed to figure out what this is: (defstate plant-boss-vulnerable (plant-boss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (when ((method-of-type touching-shapes-entry prims-touching?) @@ -1417,17 +1330,11 @@ (the-as collide-shape-moving (-> self root-override)) (the-as uint 1) ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'shove) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (let ((v1-6 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-6 shove-up) 8192.0) - (set! (-> v1-6 shove-back) 24576.0) - (set! (-> a1-2 param 1) (the-as uint v1-6)) - ) - (send-event-function arg0 a1-2) + (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 2)) (shove-back (meters 6)))) ) (go plant-boss-hit (the-as symbol (-> arg3 param 1))) ) @@ -1437,8 +1344,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self body flex-blend) 0.0) (set! (-> self neck flex-blend) 0.0) @@ -1447,8 +1353,7 @@ (logior! (-> self attack-prim 0 prim-core action) (collide-action solid)) (none) ) - :exit - (behavior () + :exit (behavior () (send-event (ppointer->process (-> self leaf 1)) 'kill 0) (send-event (ppointer->process (-> self leaf 0)) 'kill 150) (set! (-> self attack-prim 0 local-sphere w) 16384.0) @@ -1456,8 +1361,7 @@ (logclear! (-> self attack-prim 0 prim-core action) (collide-action solid)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.25)) (ja-no-eval :group! plant-boss-main-idle2vulnerable-ja :num! (seek! (ja-aframe (the-as float 60.0) 0)) @@ -1513,14 +1417,12 @@ (go plant-boss-spawn) (none) ) - :post - plant-boss-post + :post plant-boss-post ) ;; failed to figure out what this is: (defstate plant-boss-attack (plant-boss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (when (and ((method-of-type touching-shapes-entry prims-touching?) @@ -1530,20 +1432,10 @@ ) (not (ja-group? plant-boss-main-vulnerable2idle-ja)) ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack-or-shove) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (let ((a0-8 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-8 mode) 'plant-boss) - (set! (-> a1-2 param 1) (the-as uint a0-8)) - ) - (when (send-event-function arg0 a1-2) - (let ((v0-1 (the-as object #t))) - (set! (-> self ate) (the-as symbol v0-1)) - v0-1 - ) + (when (send-event arg0 'attack-or-shove (-> arg3 param 0) (static-attack-info ((mode 'plant-boss)))) + (let ((v0-1 (the-as object #t))) + (set! (-> self ate) (the-as symbol v0-1)) + v0-1 ) ) ) @@ -1553,8 +1445,7 @@ ) ) ) - :code - (behavior ((arg0 int)) + :code (behavior ((arg0 int)) (local-vars (v1-64 symbol)) (+! (-> self snap-count) 1) (set! (-> self ate) #f) @@ -1605,16 +1496,13 @@ (go plant-boss-reset arg0) (none) ) - :post - plant-boss-post + :post plant-boss-post ) ;; failed to figure out what this is: (defstate plant-boss-eat (plant-boss) - :event - plant-boss-generic-event-handler - :exit - (behavior () + :event plant-boss-generic-event-handler + :exit (behavior () (logclear! (-> self skel status) (janim-status spool)) (let ((a0-4 (handle->process (-> self camera)))) (if a0-4 @@ -1623,8 +1511,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((f30-1 (the-as float (if (ja-group? plant-boss-main-attack-ja) (fmax 129.0 (ja-aframe-num 0)) 129.0 @@ -1647,18 +1534,7 @@ (seek! (-> self energy) (the-as float 0.5) (* 0.2 (-> *display* seconds-per-frame))) (when (and (>= (ja-aframe-num 0) 175.0) (zero? gp-0)) (set! gp-0 1) - (let ((s5-2 (get-process *default-dead-pool* othercam #x4000))) - (set! (-> self camera) - (ppointer->handle (when s5-2 - (let ((t9-11 (method-of-type othercam activate))) - (t9-11 (the-as othercam s5-2) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 othercam-init-by-other self 28 #f #t) - (-> s5-2 ppointer) - ) - ) - ) - ) + (set! (-> self camera) (ppointer->handle (process-spawn othercam self 28 #f #t :to self))) (logior! (-> self skel status) (janim-status spool)) (ambient-hint-spawn "gamcam29" (the-as vector #f) *entity-pool* 'ambient) ) @@ -1685,16 +1561,13 @@ (go plant-boss-idle) (none) ) - :post - plant-boss-post + :post plant-boss-post ) ;; failed to figure out what this is: (defstate plant-boss-reset (plant-boss) - :event - (-> plant-boss-eat event) - :code - (behavior ((arg0 int)) + :event (-> plant-boss-eat event) + :code (behavior ((arg0 int)) (let ((gp-0 #f)) (cond ((ja-group? plant-boss-main-intro-ja) @@ -1736,16 +1609,13 @@ ) (none) ) - :post - plant-boss-post + :post plant-boss-post ) ;; failed to figure out what this is: (defstate plant-boss-hit (plant-boss) - :event - (-> plant-boss-eat event) - :code - (behavior ((arg0 symbol)) + :event (-> plant-boss-eat event) + :code (behavior ((arg0 symbol)) (let ((s5-0 (-> self child))) (while s5-0 (send-event (ppointer->process s5-0) 'hit arg0) @@ -1800,16 +1670,13 @@ (go plant-boss-spawn) (none) ) - :post - plant-boss-post + :post plant-boss-post ) ;; failed to figure out what this is: (defstate plant-boss-dead (plant-boss) - :event - plant-boss-generic-event-handler - :code - (behavior ((arg0 symbol)) + :event plant-boss-generic-event-handler + :code (behavior ((arg0 symbol)) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self neck flex-blend) 0.0) (set! (-> self body flex-blend) 0.0) @@ -1899,8 +1766,7 @@ (go plant-boss-dead-idle) (none) ) - :post - (behavior () + :post (behavior () (plant-boss-post) (do-push-aways! (-> self root-override)) (none) @@ -1909,8 +1775,7 @@ ;; failed to figure out what this is: (defstate plant-boss-dead-idle (plant-boss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('bonk) (go plant-boss-dead-bounce (lerp-scale @@ -1927,8 +1792,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja-channel-set! 1) (ja :group! plant-boss-main-die-ja :num! max) (let ((gp-1 (-> *display* base-frame-counter))) @@ -1948,12 +1812,9 @@ ;; failed to figure out what this is: (defstate plant-boss-dead-bounce (plant-boss) - :event - plant-boss-generic-event-handler - :trans - (the-as (function none :behavior plant-boss) rider-trans) - :code - (behavior ((arg0 float)) + :event plant-boss-generic-event-handler + :trans (the-as (function none :behavior plant-boss) rider-trans) + :code (behavior ((arg0 float)) (let ((v1-2 (-> self entity extra perm))) (if (and (< 0.3 arg0) (and (not (handle->process (-> self money))) (< (-> v1-2 user-int8 1) 5))) (set! (-> self money) (ppointer->handle (birth-pickup-at-point @@ -1979,8 +1840,7 @@ (go plant-boss-dead-idle) (none) ) - :post - (the-as (function none :behavior plant-boss) rider-post) + :post (the-as (function none :behavior plant-boss) rider-post) ) ;; definition for method 11 of type plant-boss @@ -2047,211 +1907,120 @@ (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *plant-boss-sg* '()) (set! (-> obj draw shadow-ctrl) *plant-boss-shadow-control*) - (let ((s5-1 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-1 - (let ((t9-18 (method-of-type plant-boss-arm activate))) - (t9-18 (the-as plant-boss-arm s5-1) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - plant-boss-arm-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x -24576.0 :z 8192.0 :w 1.0)) - -8192.0 - 1 - ) - (-> s5-1 ppointer) - ) + (process-spawn + plant-boss-arm + :init plant-boss-arm-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x -24576.0 :z 8192.0 :w 1.0)) + -8192.0 + 1 + :to obj ) - (let ((s5-2 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-2 - (let ((t9-21 (method-of-type plant-boss-arm activate))) - (t9-21 (the-as plant-boss-arm s5-2) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-2 - plant-boss-arm-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x 24576.0 :z 8192.0 :w 1.0)) - 8192.0 - 0 - ) - (-> s5-2 ppointer) - ) + (process-spawn + plant-boss-arm + :init plant-boss-arm-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x 24576.0 :z 8192.0 :w 1.0)) + 8192.0 + 0 + :to obj ) - (let ((s5-3 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-3 - (let ((t9-24 (method-of-type plant-boss-arm activate))) - (t9-24 (the-as plant-boss-arm s5-3) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-3 - plant-boss-back-arms-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :w 1.0)) - 0.0 - 2 - ) - (-> s5-3 ppointer) - ) + (process-spawn + plant-boss-arm + :init plant-boss-back-arms-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :w 1.0)) + 0.0 + 2 + :to obj ) - (let ((s5-4 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-4 - (let ((t9-27 (method-of-type plant-boss-arm activate))) - (t9-27 (the-as plant-boss-arm s5-4) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-4 - plant-boss-vine-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x 38912.0 :z 8192.0 :w 1.0)) - (new 'static 'vector :y 14563.556) - 1.0 - 3 - ) - (-> s5-4 ppointer) - ) + (process-spawn + plant-boss-arm + :init plant-boss-vine-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x 38912.0 :z 8192.0 :w 1.0)) + (new 'static 'vector :y 14563.556) + 1.0 + 3 + :to obj ) - (let ((s5-5 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-5 - (let ((t9-30 (method-of-type plant-boss-arm activate))) - (t9-30 (the-as plant-boss-arm s5-5) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-5 - plant-boss-vine-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x -40960.0 :z 8192.0 :w 1.0)) - (new 'static 'vector :y -5461.3335) - 1.0 - 3 - ) - (-> s5-5 ppointer) - ) + (process-spawn + plant-boss-arm + :init plant-boss-vine-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x -40960.0 :z 8192.0 :w 1.0)) + (new 'static 'vector :y -5461.3335) + 1.0 + 3 + :to obj ) - (let ((s5-6 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-6 - (let ((t9-33 (method-of-type plant-boss-arm activate))) - (t9-33 (the-as plant-boss-arm s5-6) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-6 - plant-boss-vine-init - (vector+! - (new-stack-vector0) - (-> obj root-override trans) - (new 'static 'vector :x -29491.2 :z -7168.0 :w 1.0) + (process-spawn + plant-boss-arm + :init plant-boss-vine-init + (vector+! + (new-stack-vector0) + (-> obj root-override trans) + (new 'static 'vector :x -29491.2 :z -7168.0 :w 1.0) + ) + (new 'static 'vector :x -1820.4445 :y -11286.756) + 0.8 + 3 + :to obj + ) + (process-spawn + plant-boss-arm + :init plant-boss-vine-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x 32768.0 :z -3072.0 :w 1.0)) + (new 'static 'vector :x -910.2222 :y 22755.555) + 0.8 + 3 + :to obj + ) + (process-spawn + plant-boss-arm + :init plant-boss-root-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x 18841.6 :z 4096.0 :w 1.0)) + (new 'static 'vector :y -4096.0) + (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) + 4 + :to obj + ) + (process-spawn + plant-boss-arm + :init plant-boss-root-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x -18841.6 :z 4096.0 :w 1.0)) + (new 'static 'vector :x 364.0889 :y 4096.0) + (new 'static 'vector :x 1.0 :y 1.25 :z 1.0) + 4 + :to obj + ) + (process-spawn + plant-boss-arm + :init plant-boss-root-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :z -2048.0 :w 1.0)) + (new 'static 'vector :x 1820.4445) + (new 'static 'vector :x 0.9 :y 1.5 :z 1.0) + 4 + :to obj + ) + (set! (-> obj leaf 0) + (process-spawn + plant-boss-leaf + :init plant-boss-leaf-init + (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :w 1.0)) + 0.0 + 0 + :to obj ) - (new 'static 'vector :x -1820.4445 :y -11286.756) - 0.8 - 3 ) - (-> s5-6 ppointer) - ) - ) - (let ((s5-7 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-7 - (let ((t9-36 (method-of-type plant-boss-arm activate))) - (t9-36 (the-as plant-boss-arm s5-7) obj 'plant-boss-arm (the-as pointer #x70004000)) + (set! (-> obj leaf 1) (process-spawn + plant-boss-leaf + :init plant-boss-leaf-init + (vector+! + (new-stack-vector0) + (-> obj root-override trans) + (new 'static 'vector :x -13189.12 :y 2838.528 :z 12288.0 :w 1.0) + ) + 0.0 + 1 + :to obj + ) ) - (run-now-in-process - s5-7 - plant-boss-vine-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x 32768.0 :z -3072.0 :w 1.0)) - (new 'static 'vector :x -910.2222 :y 22755.555) - 0.8 - 3 - ) - (-> s5-7 ppointer) - ) - ) - (let ((s5-8 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-8 - (let ((t9-39 (method-of-type plant-boss-arm activate))) - (t9-39 (the-as plant-boss-arm s5-8) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-8 - plant-boss-root-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x 18841.6 :z 4096.0 :w 1.0)) - (new 'static 'vector :y -4096.0) - (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) - 4 - ) - (-> s5-8 ppointer) - ) - ) - (let ((s5-9 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-9 - (let ((t9-42 (method-of-type plant-boss-arm activate))) - (t9-42 (the-as plant-boss-arm s5-9) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-9 - plant-boss-root-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :x -18841.6 :z 4096.0 :w 1.0)) - (new 'static 'vector :x 364.0889 :y 4096.0) - (new 'static 'vector :x 1.0 :y 1.25 :z 1.0) - 4 - ) - (-> s5-9 ppointer) - ) - ) - (let ((s5-10 (get-process *default-dead-pool* plant-boss-arm #x4000))) - (when s5-10 - (let ((t9-45 (method-of-type plant-boss-arm activate))) - (t9-45 (the-as plant-boss-arm s5-10) obj 'plant-boss-arm (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-10 - plant-boss-root-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :z -2048.0 :w 1.0)) - (new 'static 'vector :x 1820.4445) - (new 'static 'vector :x 0.9 :y 1.5 :z 1.0) - 4 - ) - (-> s5-10 ppointer) - ) - ) - (let ((s5-11 (get-process *default-dead-pool* plant-boss-leaf #x4000))) - (set! (-> obj leaf 0) - (the-as - (pointer plant-boss-leaf) - (when s5-11 - (let ((t9-48 (method-of-type plant-boss-leaf activate))) - (t9-48 (the-as plant-boss-leaf s5-11) obj 'plant-boss-leaf (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-11 - plant-boss-leaf-init - (vector+! (new-stack-vector0) (-> obj root-override trans) (new 'static 'vector :w 1.0)) - 0.0 - 0 - ) - (-> s5-11 ppointer) - ) - ) - ) - ) - (let ((s5-12 (get-process *default-dead-pool* plant-boss-leaf #x4000))) - (set! (-> obj leaf 1) - (the-as - (pointer plant-boss-leaf) - (when s5-12 - (let ((t9-51 (method-of-type plant-boss-leaf activate))) - (t9-51 (the-as plant-boss-leaf s5-12) obj 'plant-boss-leaf (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-12 - plant-boss-leaf-init - (vector+! - (new-stack-vector0) - (-> obj root-override trans) - (new 'static 'vector :x -13189.12 :y 2838.528 :z 12288.0 :w 1.0) - ) - 0.0 - 1 - ) - (-> s5-12 ppointer) - ) - ) - ) - ) (set! (-> obj energy) 0.25) (set! (-> obj health) 3.0) (set! (-> obj cam-tracker) (the-as handle #f)) diff --git a/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc b/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc index 01ea75a2cc..df9e3f9f3e 100644 --- a/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc +++ b/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc @@ -50,25 +50,22 @@ ;; failed to figure out what this is: (defstate plat-flip-idle (plat-flip) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'bonk) (activate! (-> self smush) -1.0 90 300 1.0 1.0) ) ((= v1-0 'touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) (the-as smush-control #f) ) ) ) ) ) - :trans - (the-as (function none :behavior plat-flip) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior plat-flip) rider-trans) + :code (behavior () (local-vars (f30-0 float) (f30-1 float)) (let ((gp-0 #f)) (loop @@ -84,8 +81,7 @@ (sound-play-by-name (static-sound-name "plat-flip") (new-sound-id) 1024 0 0 1 #t) ) (ja :group! plat-flip-turn-down-ja - :num! - (identity (/ (* f30-0 (the float (+ (-> (the-as art-joint-anim plat-flip-turn-down-ja) data 0 length) -1))) + :num! (identity (/ (* f30-0 (the float (+ (-> (the-as art-joint-anim plat-flip-turn-down-ja) data 0 length) -1))) (-> self turn-down-time) ) ) @@ -102,8 +98,7 @@ ) (let ((f30-2 (- f30-1 (-> self before-turn-up-time)))) (ja :group! plat-flip-turn-up-ja - :num! - (identity (/ (* f30-2 (the float (+ (-> (the-as art-joint-anim plat-flip-turn-up-ja) data 0 length) -1))) + :num! (identity (/ (* f30-2 (the float (+ (-> (the-as art-joint-anim plat-flip-turn-up-ja) data 0 length) -1))) (-> self turn-up-time) ) ) @@ -122,8 +117,7 @@ ) (none) ) - :post - (the-as (function none :behavior plat-flip) rider-post) + :post (the-as (function none :behavior plat-flip) rider-post) ) ;; definition for method 11 of type plat-flip diff --git a/test/decompiler/reference/levels/lavatube/assistant-lavatube_REF.gc b/test/decompiler/reference/levels/lavatube/assistant-lavatube_REF.gc index 4acec12709..30ff5e2639 100644 --- a/test/decompiler/reference/levels/lavatube/assistant-lavatube_REF.gc +++ b/test/decompiler/reference/levels/lavatube/assistant-lavatube_REF.gc @@ -38,8 +38,7 @@ :name "assistant-lavatube-start-resolution" :index 5 :parts 11 - :command-list - '((232 joint "cameraB") (491 joint "camera") (866 joint "cameraB") (1061 joint "camera")) + :command-list '((232 joint "cameraB") (491 joint "camera") (866 joint "cameraB") (1061 joint "camera")) ) ) (else @@ -64,8 +63,7 @@ ;; failed to figure out what this is: (defstate hidden (assistant-lavatube-start) :virtual #t - :trans - (behavior () + :trans (behavior () ((-> (method-of-type process-taskable hidden) trans)) (when (and (cond ((and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) @@ -122,8 +120,7 @@ ;; failed to figure out what this is: (defstate idle (assistant-lavatube-start) :virtual #t - :code - (behavior () + :code (behavior () (loop (when (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) diff --git a/test/decompiler/reference/levels/lavatube/lavatube-energy_REF.gc b/test/decompiler/reference/levels/lavatube/lavatube-energy_REF.gc index 3978f012ac..14bfc5ba58 100644 --- a/test/decompiler/reference/levels/lavatube/lavatube-energy_REF.gc +++ b/test/decompiler/reference/levels/lavatube/lavatube-energy_REF.gc @@ -11,14 +11,12 @@ (defpartgroup group-energyarm :id 544 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1931 :fade-after (meters 120)) (sp-item 2167 :fade-after (meters 60) :falloff-to (meters 60))) + :parts ((sp-item 1931 :fade-after (meters 120)) (sp-item 2167 :fade-after (meters 60) :falloff-to (meters 60))) ) ;; failed to figure out what this is: (defpart 1931 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -37,8 +35,7 @@ ;; failed to figure out what this is: (defpart 2167 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 8.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -65,8 +62,7 @@ (defpartgroup group-energyball-always :id 545 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2168 :fade-after (meters 80) :falloff-to (meters 80)) + :parts ((sp-item 2168 :fade-after (meters 80) :falloff-to (meters 80)) (sp-item 2169 :fade-after (meters 120)) (sp-item 2170 :fade-after (meters 120)) (sp-item 2171 :fade-after (meters 120) :flags (is-3d)) @@ -79,8 +75,7 @@ ;; failed to figure out what this is: (defpart 2168 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-y (meters -5.5)) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) @@ -106,8 +101,7 @@ ;; failed to figure out what this is: (defpart 2176 - :init-specs - ((sp-flt spt-scale-x (meters 1.2)) + :init-specs ((sp-flt spt-scale-x (meters 1.2)) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-a 48.0) (sp-int spt-timer 5) @@ -116,8 +110,7 @@ ;; failed to figure out what this is: (defpart 2177 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -141,8 +134,7 @@ ;; failed to figure out what this is: (defpart 2169 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -5.5)) (sp-rnd-flt spt-scale-x (meters 8) (meters 4) 1.0) @@ -158,8 +150,7 @@ ;; failed to figure out what this is: (defpart 2170 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -5.5)) (sp-rnd-flt spt-scale-x (meters 12) (meters 8) 1.0) @@ -176,8 +167,7 @@ ;; failed to figure out what this is: (defpart 2171 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -5)) (sp-rnd-flt spt-scale-x (meters 12) (meters 8) 1.0) @@ -197,8 +187,7 @@ ;; failed to figure out what this is: (defpart 2172 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-y (meters -5.5)) (sp-flt spt-scale-x (meters 0.5)) @@ -219,8 +208,7 @@ ;; failed to figure out what this is: (defpart 2173 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 6) 1.0) (sp-int spt-rot-x 4) @@ -240,14 +228,12 @@ ;; failed to figure out what this is: (defpart 2178 - :init-specs - ((sp-flt spt-b 0.0) (sp-flt spt-a 64.0) (sp-flt spt-fade-g -4.266667)) + :init-specs ((sp-flt spt-b 0.0) (sp-flt spt-a 64.0) (sp-flt spt-fade-g -4.266667)) ) ;; failed to figure out what this is: (defpart 2174 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 4) 1.0) (sp-int spt-rot-x 4) @@ -267,8 +253,7 @@ ;; failed to figure out what this is: (defpart 2175 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 8) (meters 4) 1.0) (sp-int spt-rot-x 4) @@ -291,8 +276,7 @@ :id 546 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 45) - :parts - ((sp-item 2179 :period 600 :length 5) + :parts ((sp-item 2179 :period 600 :length 5) (sp-item 2180 :period 600 :length 40) (sp-item 2181 :period 600 :length 20) (sp-item 2182 :period 600 :length 20) @@ -301,8 +285,7 @@ ;; failed to figure out what this is: (defpart 2180 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0) @@ -328,14 +311,12 @@ ;; failed to figure out what this is: (defpart 2183 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 2182 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.4)) @@ -354,8 +335,7 @@ ;; failed to figure out what this is: (defpart 2179 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 40)) @@ -372,8 +352,7 @@ ;; failed to figure out what this is: (defpart 2181 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters -2) (meters 4) 1.0) @@ -469,10 +448,8 @@ ;; failed to figure out what this is: (defstate energydoor-closing (energydoor) - :event - energydoor-closed-handler - :code - (behavior () + :event energydoor-closed-handler + :code (behavior () (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) @@ -486,16 +463,13 @@ ) (none) ) - :post - (the-as (function none :behavior energydoor) transform-post) + :post (the-as (function none :behavior energydoor) transform-post) ) ;; failed to figure out what this is: (defstate energydoor-opened (energydoor) - :event - energydoor-open-handler - :trans - (behavior () + :event energydoor-open-handler + :trans (behavior () (let ((f30-0 (energydoor-player-dist))) (cond ((< f30-0 -450560.0) @@ -526,8 +500,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja :num-func num-func-identity :frame-num max) (transform-post) (loop @@ -539,10 +512,8 @@ ;; failed to figure out what this is: (defstate energydoor-opening (energydoor) - :event - energydoor-open-handler - :code - (behavior () + :event energydoor-open-handler + :code (behavior () (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -551,16 +522,13 @@ (go energydoor-opened) (none) ) - :post - (the-as (function none :behavior energydoor) transform-post) + :post (the-as (function none :behavior energydoor) transform-post) ) ;; failed to figure out what this is: (defstate energydoor-closed-till-task (energydoor) - :event - energydoor-closed-handler - :trans - (behavior () + :event energydoor-closed-handler + :trans (behavior () (cond ((task-closed? (-> self entity extra perm task) (task-status need-resolution)) (go energydoor-opening) @@ -585,8 +553,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja :num-func num-func-identity :frame-num 0.0) (transform-post) (loop @@ -598,17 +565,14 @@ ;; failed to figure out what this is: (defstate energydoor-closed-till-near (energydoor) - :event - energydoor-closed-handler - :trans - (behavior () + :event energydoor-closed-handler + :trans (behavior () (if (< -409600.0 (energydoor-player-dist)) (go energydoor-opening) ) (none) ) - :code - (behavior () + :code (behavior () (ja :num-func num-func-identity :frame-num 0.0) (transform-post) (loop @@ -714,8 +678,7 @@ ;; failed to figure out what this is: (defstate energybase-stopped (energybase) - :code - (behavior () + :code (behavior () (ja-post) (loop (suspend) @@ -726,8 +689,7 @@ ;; failed to figure out what this is: (defstate energybase-stopping (energybase) - :code - (behavior () + :code (behavior () (let ((f30-0 1.0)) (loop (ja-no-eval :group! (ja-group) :num! (seek! max f30-0) :frame-num 0.0) @@ -743,22 +705,19 @@ ) (none) ) - :post - (the-as (function none :behavior energybase) ja-post) + :post (the-as (function none :behavior energybase) ja-post) ) ;; failed to figure out what this is: (defstate energybase-idle (energybase) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('stop) (go energybase-stopping) ) ) ) - :code - (behavior () + :code (behavior () (loop (if (and *target* (>= 307200.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) (level-hint-spawn @@ -777,8 +736,7 @@ ) (none) ) - :post - (the-as (function none :behavior energybase) ja-post) + :post (the-as (function none :behavior energybase) ja-post) ) ;; definition for method 11 of type energybase @@ -909,42 +867,31 @@ ;; failed to figure out what this is: (defstate energyball-idle (energyball) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as - object - (when (= v1-0 'attack) - (when (and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) - (increment-success-for-hint (game-text-id lavatube-shoot-the-spheres)) - (sound-play-by-name (static-sound-name "dcrate-break") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 546) - 600 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (the-as object (when (= v1-0 'attack) + (when (and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) + (increment-success-for-hint (game-text-id lavatube-shoot-the-spheres)) + (sound-play-by-name (static-sound-name "dcrate-break") (new-sound-id) 1024 0 0 1 #t) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 546) + 600 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* + ) + (cleanup-for-death self) + (deactivate self) + ) + ) ) - (cleanup-for-death self) - (deactivate self) - ) - ) - ) ) ) - :trans - (behavior () + :trans (behavior () (rider-trans) (spawn (-> self part) (-> self root-override trans)) (let* ((v1-3 (-> self parent-overide)) @@ -972,8 +919,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -983,8 +929,7 @@ ) (none) ) - :post - (the-as (function none :behavior energyball) rider-post) + :post (the-as (function none :behavior energyball) rider-post) ) ;; definition for function energyball-init @@ -1070,20 +1015,17 @@ ;; failed to figure out what this is: (defstate energyarm-stop (energyarm) - :enter - (behavior () + :enter (behavior () '() (none) ) - :trans - (behavior () + :trans (behavior () (update! (-> self x-rotation) 0.0) (update! (-> self y-chatter-rotation) 0.0) (energyarm-trans) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1093,27 +1035,23 @@ ) (none) ) - :post - (the-as (function none :behavior energyarm) rider-post) + :post (the-as (function none :behavior energyarm) rider-post) ) ;; failed to figure out what this is: (defstate energyarm-no-ball (energyarm) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('stop) (go energyarm-stop) ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self y-chatter-rotation osc target) 1.0) (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self x-correction) (fmax -1.0 (+ -0.1 (-> self x-correction)))) (update! (-> self x-rotation) 0.0) (when (at-min? (-> self x-rotation)) @@ -1139,8 +1077,7 @@ (energyarm-trans) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1150,19 +1087,16 @@ ) (none) ) - :post - (the-as (function none :behavior energyarm) rider-post) + :post (the-as (function none :behavior energyarm) rider-post) ) ;; failed to figure out what this is: (defstate energyarm-fall (energyarm) - :enter - (behavior () + :enter (behavior () (set! (-> self x-fall-rotation osc target) 1.0) (none) ) - :trans - (behavior () + :trans (behavior () (update! (-> self x-fall-rotation) 0.0) (update! (-> self y-chatter-rotation) 0.0) (when (at-max? (-> self x-fall-rotation)) @@ -1175,8 +1109,7 @@ (energyarm-trans) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1186,22 +1119,19 @@ ) (none) ) - :post - (the-as (function none :behavior energyarm) rider-post) + :post (the-as (function none :behavior energyarm) rider-post) ) ;; failed to figure out what this is: (defstate energyarm-idle (energyarm) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('stop) (go energyarm-stop) ) ) ) - :trans - (behavior () + :trans (behavior () (update! (-> self x-rotation) 0.0) (when (at-min? (-> self x-rotation)) (let* ((f30-0 0.15) @@ -1239,15 +1169,10 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (-> self skel root-channel 0))) (set! (-> gp-0 num-func) num-func-identity) - (let* ((v1-4 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-5 (the-as number (logior #x3f800000 v1-4))) - ) - (set! (-> gp-0 frame-num) (* (+ -1.0 (the-as float v1-5)) (the float (ja-num-frames 0)))) - ) + (set! (-> gp-0 frame-num) (* (rand-float-gen) (the float (ja-num-frames 0)))) ) (loop (suspend) @@ -1262,8 +1187,7 @@ ) (none) ) - :post - (the-as (function none :behavior energyarm) rider-post) + :post (the-as (function none :behavior energyarm) rider-post) ) ;; definition for function energyarm-init @@ -1327,18 +1251,7 @@ (go energyarm-stop) ) (else - (let ((gp-1 (get-process *default-dead-pool* energyball #x4000))) - (set! (-> self ball) - (ppointer->handle (when gp-1 - (let ((t9-10 (method-of-type energyball activate))) - (t9-10 (the-as energyball gp-1) self 'energyball (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 energyball-init-by-other (-> self root-override trans)) - (-> gp-1 ppointer) - ) - ) - ) - ) + (set! (-> self ball) (ppointer->handle (process-spawn energyball (-> self root-override trans) :to self))) (go energyarm-idle) ) ) @@ -1410,8 +1323,7 @@ ;; failed to figure out what this is: (defstate energyhub-stopped (energyhub) - :enter - (behavior () + :enter (behavior () (set! (-> self rotation-speed target) 0.0) (set! (-> self rotation-speed accel) 0.0005) (dotimes (gp-0 5) @@ -1422,15 +1334,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (update! (-> self rotation-speed) 0.0) (energyhub-trans) (energyhub-set-lava-height -122880.0) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (let* ((f30-0 1.0) @@ -1444,14 +1354,12 @@ ) (none) ) - :post - (the-as (function none :behavior energyhub) ja-post) + :post (the-as (function none :behavior energyhub) ja-post) ) ;; failed to figure out what this is: (defstate energyhub-stop (energyhub) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'flash) (let ((f0-0 1.9921875)) @@ -1462,8 +1370,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self rotation-speed target) 0.0) (set! (-> self rotation-speed accel) 0.0005) (let ((a1-0 (new 'stack-no-clear 'event-message-block))) @@ -1509,8 +1416,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (update! (-> self rotation-speed) 0.0) (energyhub-trans) (energyhub-set-lava-height -122880.0) @@ -1519,8 +1425,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (let* ((f30-0 1.0) @@ -1534,14 +1439,12 @@ ) (none) ) - :post - (the-as (function none :behavior energyhub) ja-post) + :post (the-as (function none :behavior energyhub) ja-post) ) ;; failed to figure out what this is: (defstate energyhub-idle (energyhub) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'flash) (let ((f0-0 1.9921875)) @@ -1552,8 +1455,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (nonzero? (-> self sound)) (update! (-> self sound)) ) @@ -1602,8 +1504,7 @@ (energyhub-trans) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (let* ((f30-0 1.0) @@ -1617,8 +1518,7 @@ ) (none) ) - :post - (the-as (function none :behavior energyhub) ja-post) + :post (the-as (function none :behavior energyhub) ja-post) ) ;; definition for method 11 of type energyhub @@ -1641,18 +1541,7 @@ (set-vector! s5-2 0.0 2457.6 -24576.0 1.0) (matrix-rotate-y! s4-1 f30-0) (dotimes (s3-0 5) - (let ((s2-0 (get-process *default-dead-pool* energyarm #x4000))) - (set! (-> obj arm s3-0) - (ppointer->handle (when s2-0 - (let ((t9-9 (method-of-type energyarm activate))) - (t9-9 (the-as energyarm s2-0) obj 'energyarm (the-as pointer #x70004000)) - ) - (run-now-in-process s2-0 energyarm-init-by-other s5-2 (* (the float s3-0) f30-0)) - (-> s2-0 ppointer) - ) - ) - ) - ) + (set! (-> obj arm s3-0) (ppointer->handle (process-spawn energyarm s5-2 (* (the float s3-0) f30-0) :to obj))) (vector-matrix*! s5-2 s5-2 s4-1) ) ) @@ -1700,8 +1589,7 @@ ;; failed to figure out what this is: (defstate energylava-idle (energylava) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1711,8 +1599,7 @@ ) (none) ) - :post - (the-as (function none :behavior energylava) ja-post) + :post (the-as (function none :behavior energylava) ja-post) ) ;; definition for method 11 of type energylava diff --git a/test/decompiler/reference/levels/lavatube/lavatube-obs_REF.gc b/test/decompiler/reference/levels/lavatube/lavatube-obs_REF.gc index ca3f733f8d..d705a58317 100644 --- a/test/decompiler/reference/levels/lavatube/lavatube-obs_REF.gc +++ b/test/decompiler/reference/levels/lavatube/lavatube-obs_REF.gc @@ -40,8 +40,7 @@ ;; failed to figure out what this is: (defstate lavabase-idle (lavabase) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -51,8 +50,7 @@ ) (none) ) - :post - (the-as (function none :behavior lavabase) ja-post) + :post (the-as (function none :behavior lavabase) ja-post) ) ;; definition for method 11 of type lavabase @@ -94,8 +92,7 @@ ;; failed to figure out what this is: (defstate lavafall-idle (lavafall) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -105,8 +102,7 @@ ) (none) ) - :post - (the-as (function none :behavior lavafall) ja-post) + :post (the-as (function none :behavior lavafall) ja-post) ) ;; definition for method 11 of type lavafall @@ -148,8 +144,7 @@ ;; failed to figure out what this is: (defstate lavashortcut-idle (lavashortcut) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -159,8 +154,7 @@ ) (none) ) - :post - (the-as (function none :behavior lavashortcut) ja-post) + :post (the-as (function none :behavior lavashortcut) ja-post) ) ;; definition for method 11 of type lavashortcut @@ -178,14 +172,12 @@ :id 540 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1932 :period 15 :length 5)) + :parts ((sp-item 1932 :period 15 :length 5)) ) ;; failed to figure out what this is: (defpart 1932 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 2) 1.0) @@ -214,8 +206,7 @@ :id 541 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2125 :period 600 :length 5) + :parts ((sp-item 2125 :period 600 :length 5) (sp-item 2126 :period 600 :length 40) (sp-item 2127 :period 600 :length 20) (sp-item 2128 :period 600 :length 20) @@ -289,8 +280,7 @@ ;; failed to figure out what this is: (defpart 2166 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters -2) (meters 4) 1.0) @@ -310,8 +300,7 @@ ;; failed to figure out what this is: (defpart 2126 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -337,14 +326,12 @@ ;; failed to figure out what this is: (defpart 2129 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 2128 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.4)) @@ -363,8 +350,7 @@ ;; failed to figure out what this is: (defpart 2125 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 32)) @@ -381,8 +367,7 @@ ;; failed to figure out what this is: (defpart 2127 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 2) 1.0) @@ -604,8 +589,7 @@ ;; failed to figure out what this is: (defstate darkecobarrel-mover-die (darkecobarrel-mover) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) (ja-post) @@ -613,14 +597,16 @@ (let ((gp-1 (new 'stack-no-clear 'vector))) (set! (-> gp-1 quad) (-> self root-override trans quad)) (set! (-> gp-1 y) (+ -49152.0 (-> gp-1 y))) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 541) 600 #f #f #f gp-1) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 541) + 600 + #f + #f + #f + gp-1 + :to *entity-pool* ) ) (suspend) @@ -636,8 +622,7 @@ ;; failed to figure out what this is: (defstate darkecobarrel-mover-move (darkecobarrel-mover) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (cond @@ -649,17 +634,7 @@ (-> self root-override) (the-as uint 1) ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack-invinc) - (set! (-> a1-2 param 0) s5-0) - (let ((a0-4 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-4 mode) 'death) - (set! (-> a1-2 param 1) (the-as uint a0-4)) - ) - (send-event-function arg0 a1-2) - ) + (send-event arg0 'attack-invinc s5-0 (static-attack-info ((mode 'death)))) ) (go darkecobarrel-mover-die) ) @@ -709,8 +684,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (update! (-> self y-offset) 0.0) (if (and (at-min? (-> self y-offset)) (< (-> self y-offset osc vel) 0.03)) (set! (-> self y-offset osc vel) (fabs (update! (-> self y-offset-tgt)))) @@ -719,22 +693,15 @@ (darkecobarrel-mover-pos) (none) ) - :code - (behavior () - (let* ((f30-0 0.9) - (f28-0 0.25) - (v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-2)))) + :code (behavior () + (let ((f30-0 0.9) + (f28-0 0.25) + ) + (+ f30-0 (* f28-0 (rand-float-gen))) ) (let ((gp-0 (-> self skel root-channel 0))) (set! (-> gp-0 num-func) num-func-identity) - (let* ((v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-9 (the-as number (logior #x3f800000 v1-8))) - ) - (set! (-> gp-0 frame-num) (* (+ -1.0 (the-as float v1-9)) (the float (ja-num-frames 0)))) - ) + (set! (-> gp-0 frame-num) (* (rand-float-gen) (the float (ja-num-frames 0)))) ) (loop (ja :num-func num-func-identity :frame-num 0.0) @@ -742,8 +709,7 @@ ) (none) ) - :post - (the-as (function none :behavior darkecobarrel-mover) pusher-post) + :post (the-as (function none :behavior darkecobarrel-mover) pusher-post) ) ;; definition for function darkecobarrel-mover-init-by-other @@ -820,29 +786,20 @@ ;; failed to figure out what this is: (defstate darkecobarrel-spawner (darkecobarrel) - :trans - (behavior () + :trans (behavior () (let ((gp-1 (mod (darkecobarrel-base-time) (darkecobarrel-cycle-time)))) (if (and (> (-> self cur-spawn) 0) (< gp-1 (-> self spawn-array (+ (-> self cur-spawn) -1)))) (+! gp-1 (darkecobarrel-cycle-time)) ) (let ((gp-2 (- gp-1 (-> self spawn-array (-> self cur-spawn))))) (when (>= gp-2 0) - (let ((s5-0 (get-process *default-dead-pool* darkecobarrel-mover #x4000))) - (when s5-0 - (let ((t9-4 (method-of-type darkecobarrel-mover activate))) - (t9-4 (the-as darkecobarrel-mover s5-0) self 'darkecobarrel-mover (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - darkecobarrel-mover-init-by-other - (-> self entity) - (-> self speed) - (- (darkecobarrel-base-time) (the-as time-frame gp-2)) - (-> self sync) - ) - (-> s5-0 ppointer) - ) + (process-spawn + darkecobarrel-mover + (-> self entity) + (-> self speed) + (- (darkecobarrel-base-time) (the-as time-frame gp-2)) + (-> self sync) + :to self ) (darkecobarrel-advance-curspawn) ) @@ -853,8 +810,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -921,15 +877,7 @@ (s5-4 (- (darkecobarrel-base-time) (the-as time-frame (- s5-3 (-> obj spawn-array (-> obj cur-spawn)))))) ) (until (darkecobarrel-base-done? (darkecobarrel-base-pos s5-4)) - (let ((s3-0 (get-process *default-dead-pool* darkecobarrel-mover #x4000))) - (when s3-0 - (let ((t9-14 (method-of-type darkecobarrel-mover activate))) - (t9-14 (the-as darkecobarrel-mover s3-0) obj 'darkecobarrel-mover (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 darkecobarrel-mover-init-by-other (-> obj entity) (-> obj speed) s5-4 (-> obj sync)) - (-> s3-0 ppointer) - ) - ) + (process-spawn darkecobarrel-mover (-> obj entity) (-> obj speed) s5-4 (-> obj sync) :to obj) (set! s5-4 (- s5-4 (the-as time-frame (-> obj spawn-array s4-0)))) (+! s4-0 -1) (if (< s4-0 0) @@ -972,8 +920,7 @@ ;; failed to figure out what this is: (defstate lavafallsewera-idle (lavafallsewera) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -983,8 +930,7 @@ ) (none) ) - :post - (the-as (function none :behavior lavafallsewera) ja-post) + :post (the-as (function none :behavior lavafallsewera) ja-post) ) ;; definition for method 11 of type lavafallsewera @@ -1025,8 +971,7 @@ ;; failed to figure out what this is: (defstate lavafallsewerb-idle (lavafallsewerb) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1036,8 +981,7 @@ ) (none) ) - :post - (the-as (function none :behavior lavafallsewerb) ja-post) + :post (the-as (function none :behavior lavafallsewerb) ja-post) ) ;; definition for method 11 of type lavafallsewerb @@ -1077,8 +1021,7 @@ :id 542 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2132 :period 600 :length 5) + :parts ((sp-item 2132 :period 600 :length 5) (sp-item 2133 :period 600 :length 40) (sp-item 2134 :period 600 :length 20) (sp-item 2135 :period 600 :length 20) @@ -1087,8 +1030,7 @@ ;; failed to figure out what this is: (defpart 2133 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -1116,14 +1058,12 @@ ;; failed to figure out what this is: (defpart 2136 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 2135 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.4)) @@ -1144,8 +1084,7 @@ ;; failed to figure out what this is: (defpart 2132 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 32)) @@ -1162,8 +1101,7 @@ ;; failed to figure out what this is: (defpart 2134 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1191,8 +1129,7 @@ ;; failed to figure out what this is: (defpart 2137 - :init-specs - ((sp-flt spt-fade-r -1.0666667) + :init-specs ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g -1.0666667) (sp-flt spt-fade-b -2.1166666) (sp-int spt-next-time 60) @@ -1202,8 +1139,7 @@ ;; failed to figure out what this is: (defpart 2138 - :init-specs - ((sp-flt spt-fade-r -0.5688889) + :init-specs ((sp-flt spt-fade-r -0.5688889) (sp-flt spt-fade-g -0.28444445) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334) @@ -1214,8 +1150,7 @@ ;; failed to figure out what this is: (defpart 2139 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: @@ -1228,8 +1163,7 @@ ;; failed to figure out what this is: (defstate die (chainmine) :virtual #t - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) (ja-post) @@ -1237,14 +1171,16 @@ (let ((gp-1 (new 'stack-no-clear 'vector))) (set! (-> gp-1 quad) (-> self root-override trans quad)) (set! (-> gp-1 y) (+ -73728.0 (-> gp-1 y))) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 542) 600 #f #f #f gp-1) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 542) + 600 + #f + #f + #f + gp-1 + :to *entity-pool* ) ) (suspend) @@ -1261,27 +1197,15 @@ ;; failed to figure out what this is: (defstate idle (chainmine) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack 'touch) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((a2-2 (new 'static 'attack-info :mask #x20))) - (set! (-> a2-2 mode) 'deadly) - (set! (-> a1-3 param 1) (the-as uint a2-2)) - ) - (send-event-function arg0 a1-3) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'deadly)))) (go-virtual die) ) ) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1294,8 +1218,7 @@ ) (none) ) - :post - (the-as (function none :behavior chainmine) ja-post) + :post (the-as (function none :behavior chainmine) ja-post) ) ;; definition for method 11 of type chainmine @@ -1365,14 +1288,12 @@ :id 543 :duration 5 :bounds (static-bspherem 0 0 0 15) - :parts - ((sp-item 1987) (sp-item 1988) (sp-item 1989)) + :parts ((sp-item 1987) (sp-item 1988) (sp-item 1989)) ) ;; failed to figure out what this is: (defpart 1988 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 2) 1.0) @@ -1393,8 +1314,7 @@ ;; failed to figure out what this is: (defpart 1989 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-flt spt-y (meters 2)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0) @@ -1418,8 +1338,7 @@ ;; failed to figure out what this is: (defpart 1987 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 12)) @@ -1438,29 +1357,21 @@ ;; failed to figure out what this is: (defstate die (lavaballoon) :virtual #t - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) (ja-post) (sound-play-by-name (static-sound-name "cool-balloon") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 543) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 543) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (suspend) (cleanup-for-death self) @@ -1472,8 +1383,7 @@ ;; failed to figure out what this is: (defstate idle (lavaballoon) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (send-event arg0 'heat -10.0) @@ -1481,8 +1391,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (zero? (logand (-> self path flags) (path-control-flag not-found))) (let ((f0-4 (* 0.5 (+ 1.0 (sin (* (-> self move-per-tick) (the float (-> *display* base-frame-counter)))))))) (eval-path-curve! (-> self path) (-> self root-override trans) f0-4 'interp) @@ -1490,8 +1399,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1501,8 +1409,7 @@ ) (none) ) - :post - (the-as (function none :behavior lavaballoon) transform-post) + :post (the-as (function none :behavior lavaballoon) transform-post) ) ;; definition for method 11 of type lavaballoon @@ -1556,8 +1463,7 @@ (define ripple-for-lavatube-lava (new 'static 'ripple-wave-set :count 2 :converted #f - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 2 :speed 3.0) (new 'static 'ripple-wave :scale 40.0 :xdiv -2 :zdiv 2 :speed 1.8) (new 'static 'ripple-wave) @@ -1569,8 +1475,7 @@ ;; failed to figure out what this is: (defstate water-vol-idle (lavatube-lava) :virtual #t - :post - (behavior () + :post (behavior () (let ((t9-0 (-> (method-of-type water-anim water-vol-idle) post))) (if t9-0 ((the-as (function none :behavior lavatube-lava) t9-0)) @@ -1626,8 +1531,7 @@ ;; failed to figure out what this is: (defstate lavayellowtarp-idle (lavayellowtarp) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1637,8 +1541,7 @@ ) (none) ) - :post - (the-as (function none :behavior lavayellowtarp) ja-post) + :post (the-as (function none :behavior lavayellowtarp) ja-post) ) ;; definition for method 11 of type lavayellowtarp diff --git a/test/decompiler/reference/levels/lavatube/lavatube-part_REF.gc b/test/decompiler/reference/levels/lavatube/lavatube-part_REF.gc index adf7dfcbb0..13e47c5acb 100644 --- a/test/decompiler/reference/levels/lavatube/lavatube-part_REF.gc +++ b/test/decompiler/reference/levels/lavatube/lavatube-part_REF.gc @@ -22,22 +22,19 @@ (defpartgroup group-lavatube-crust-20x20 :id 616 :bounds (static-bspherem 0 0 0 14) - :parts - ((sp-item 2489 :fade-after (meters 140) :falloff-to (meters 140))) + :parts ((sp-item 2489 :fade-after (meters 140) :falloff-to (meters 140))) ) ;; failed to figure out what this is: (defpartgroup group-lavatube-lowlava-20x20 :id 617 :bounds (static-bspherem 0 12 0 48) - :parts - ((sp-item 2490 :fade-after (meters 190) :falloff-to (meters 190))) + :parts ((sp-item 2490 :fade-after (meters 190) :falloff-to (meters 190))) ) ;; failed to figure out what this is: (defpart 2490 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 3)) @@ -64,14 +61,12 @@ ;; failed to figure out what this is: (defpart 2491 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 2492)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 2492)) ) ;; failed to figure out what this is: (defpart 2492 - :init-specs - ((sp-flt spt-fade-r -1.28) + :init-specs ((sp-flt spt-fade-r -1.28) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.42666668) (sp-int spt-next-time 150) @@ -81,14 +76,12 @@ ;; failed to figure out what this is: (defpart 2493 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.035555556)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.035555556)) ) ;; failed to figure out what this is: (defpart 2489 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0)) @@ -115,14 +108,12 @@ ;; failed to figure out what this is: (defpart 2494 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 2496)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 2496)) ) ;; failed to figure out what this is: (defpart 2496 - :init-specs - ((sp-flt spt-fade-r -0.85333335) + :init-specs ((sp-flt spt-fade-r -0.85333335) (sp-flt spt-fade-g -0.42666668) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 2497) @@ -131,30 +122,26 @@ ;; failed to figure out what this is: (defpart 2497 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a -0.026666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a -0.026666667)) ) ;; failed to figure out what this is: (defpartgroup group-lavatube-crust-40x40 :id 629 :bounds (static-bspherem 0 0 0 32) - :parts - ((sp-item 2529 :fade-after (meters 180) :falloff-to (meters 180))) + :parts ((sp-item 2529 :fade-after (meters 180) :falloff-to (meters 180))) ) ;; failed to figure out what this is: (defpartgroup group-lavatube-lowlava-40x40 :id 630 :bounds (static-bspherem 0 12 0 32) - :parts - ((sp-item 2530 :fade-after (meters 200) :falloff-to (meters 200))) + :parts ((sp-item 2530 :fade-after (meters 200) :falloff-to (meters 200))) ) ;; failed to figure out what this is: (defpart 2530 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters 3)) @@ -181,8 +168,7 @@ ;; failed to figure out what this is: (defpart 2529 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters 0)) @@ -211,8 +197,7 @@ (defpartgroup group-lavatube-green-smoke-down-1 :id 621 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) + :parts ((sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) (sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 770 :length 96) (sp-item 2516 :fade-after (meters 140) :falloff-to (meters 160) :period 936 :length 60) (sp-item 2517 :fade-after (meters 100) :falloff-to (meters 100)) @@ -223,8 +208,7 @@ (defpartgroup group-lavatube-green-smoke-down-2 :id 622 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 1536 :length 75) + :parts ((sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 1536 :length 75) (sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 596 :length 96) (sp-item 2516 :fade-after (meters 140) :falloff-to (meters 160) :period 1070 :length 60) (sp-item 2517 :fade-after (meters 100) :falloff-to (meters 100)) @@ -235,8 +219,7 @@ (defpartgroup group-lavatube-green-smoke-down-3 :id 623 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 1161 :length 75) + :parts ((sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 1161 :length 75) (sp-item 2516 :fade-after (meters 100) :falloff-to (meters 120) :period 869 :length 96) (sp-item 2516 :fade-after (meters 140) :falloff-to (meters 160) :period 1029 :length 60) (sp-item 2517 :fade-after (meters 100) :falloff-to (meters 100)) @@ -245,8 +228,7 @@ ;; failed to figure out what this is: (defpart 2517 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-rnd-flt spt-x (meters 0) (meters 3) 1.0) (sp-flt spt-y (meters -1)) @@ -275,14 +257,12 @@ ;; failed to figure out what this is: (defpart 2518 - :init-specs - ((sp-flt spt-fade-a -0.47407407)) + :init-specs ((sp-flt spt-fade-a -0.47407407)) ) ;; failed to figure out what this is: (defpart 2516 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.7 0.6 1.0) (sp-sound (static-sound-spec "steam-release" :num 0.05 :volume 100.0)) (sp-rnd-flt spt-x (meters 0) (meters 3) 1.0) @@ -316,8 +296,7 @@ (defpartgroup group-lavatube-green-smoke-angle-1 :id 624 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 1050 :length 75) + :parts ((sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 1050 :length 75) (sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 886 :length 96) (sp-item 2519 :fade-after (meters 140) :falloff-to (meters 160) :period 1276 :length 60) (sp-item 2520 :fade-after (meters 100) :falloff-to (meters 100)) @@ -328,8 +307,7 @@ (defpartgroup group-lavatube-green-smoke-angle-2 :id 625 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 1830 :length 75) + :parts ((sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 1830 :length 75) (sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 970 :length 96) (sp-item 2519 :fade-after (meters 140) :falloff-to (meters 160) :period 1102 :length 60) (sp-item 2520 :fade-after (meters 100) :falloff-to (meters 100)) @@ -340,8 +318,7 @@ (defpartgroup group-lavatube-green-smoke-angle-3 :id 626 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 1530 :length 75) + :parts ((sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 1530 :length 75) (sp-item 2519 :fade-after (meters 100) :falloff-to (meters 120) :period 1189 :length 96) (sp-item 2519 :fade-after (meters 140) :falloff-to (meters 160) :period 862 :length 60) (sp-item 2520 :fade-after (meters 100) :falloff-to (meters 100)) @@ -350,8 +327,7 @@ ;; failed to figure out what this is: (defpart 2520 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.5 1.0) (sp-rnd-flt spt-scale-x (meters 5) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -378,8 +354,7 @@ ;; failed to figure out what this is: (defpart 2519 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.4 0.3 1.0) (sp-sound (static-sound-spec "steam-release" :num 0.05 :volume 100.0)) (sp-rnd-flt spt-scale-x (meters 6) (meters 4) 1.0) @@ -410,16 +385,14 @@ (defpartgroup group-lavatube-fountain :id 627 :bounds (static-bspherem 0 -10 0 12) - :parts - ((sp-item 2521 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 2521 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 2522 :fade-after (meters 100) :falloff-to (meters 100)) ) ) ;; failed to figure out what this is: (defpart 2522 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-y (meters -0.75) (meters 0.25) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -444,8 +417,7 @@ ;; failed to figure out what this is: (defpart 2521 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.1 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -471,8 +443,7 @@ ;; failed to figure out what this is: (defpart 2523 - :init-specs - ((sp-flt spt-fade-r -0.64) + :init-specs ((sp-flt spt-fade-r -0.64) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.21333334) (sp-flt spt-fade-a -0.08) @@ -483,22 +454,19 @@ ;; failed to figure out what this is: (defpart 2524 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: (defpartgroup group-lavatube-vents :id 628 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2525 :fade-after (meters 160) :falloff-to (meters 160))) + :parts ((sp-item 2525 :fade-after (meters 160) :falloff-to (meters 160))) ) ;; failed to figure out what this is: (defpart 2525 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.3 1.0) (sp-flt spt-y (meters -1)) (sp-rnd-flt spt-scale-x (meters 8) (meters 6) 1.0) @@ -525,8 +493,7 @@ ;; failed to figure out what this is: (defpart 2526 - :init-specs - ((sp-flt spt-fade-r -1.28) + :init-specs ((sp-flt spt-fade-r -1.28) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.42666668) (sp-flt spt-fade-a -0.10666667) @@ -537,22 +504,19 @@ ;; failed to figure out what this is: (defpart 2527 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: (defpartgroup group-lavatube-heavy-smoke :id 631 :bounds (static-bspherem 0 10 0 22) - :parts - ((sp-item 2531 :fade-after (meters 140) :falloff-to (meters 140))) + :parts ((sp-item 2531 :fade-after (meters 140) :falloff-to (meters 140))) ) ;; failed to figure out what this is: (defpart 2531 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 0.4 1.0) (sp-rnd-flt spt-x (meters -16) (meters 32) 1.0) (sp-rnd-flt spt-z (meters -16) (meters 32) 1.0) @@ -578,8 +542,7 @@ ;; failed to figure out what this is: (defpart 2532 - :init-specs - ((sp-flt spt-fade-r -0.64) + :init-specs ((sp-flt spt-fade-r -0.64) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.21333334) (sp-flt spt-fade-a -0.08) @@ -590,24 +553,21 @@ ;; failed to figure out what this is: (defpart 2533 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: (defpartgroup group-lavatube-heavy-smoke-start :id 632 :bounds (static-bspherem 0 10 0 22) - :parts - ((sp-item 2534 :fade-after (meters 140) :falloff-to (meters 140)) + :parts ((sp-item 2534 :fade-after (meters 140) :falloff-to (meters 140)) (sp-item 2535 :fade-after (meters 200) :falloff-to (meters 200)) ) ) ;; failed to figure out what this is: (defpart 2534 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 5.0 1.0) (sp-rnd-flt spt-x (meters -14) (meters 28) 1.0) (sp-rnd-flt spt-y (meters 8) (meters 8) 1.0) @@ -633,8 +593,7 @@ ;; failed to figure out what this is: (defpart 2535 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.4 0.8 1.0) (sp-rnd-flt spt-x (meters -16) (meters 32) 1.0) (sp-rnd-flt spt-y (meters -14) (meters 30) 1.0) @@ -663,16 +622,14 @@ (defpartgroup group-lavatube-heavy-smoke-end :id 633 :bounds (static-bspherem 0 10 0 22) - :parts - ((sp-item 2536 :fade-after (meters 140) :falloff-to (meters 140)) + :parts ((sp-item 2536 :fade-after (meters 140) :falloff-to (meters 140)) (sp-item 2537 :fade-after (meters 200) :falloff-to (meters 200)) ) ) ;; failed to figure out what this is: (defpart 2536 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 3.0 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 8) 1.0) @@ -698,8 +655,7 @@ ;; failed to figure out what this is: (defpart 2537 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.4 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-rnd-flt spt-y (meters -22) (meters 30) 1.0) diff --git a/test/decompiler/reference/levels/maincave/baby-spider_REF.gc b/test/decompiler/reference/levels/maincave/baby-spider_REF.gc index 9320ba3704..70bd01b4f5 100644 --- a/test/decompiler/reference/levels/maincave/baby-spider_REF.gc +++ b/test/decompiler/reference/levels/maincave/baby-spider_REF.gc @@ -351,10 +351,8 @@ baby-spider-default-event-handler ;; failed to figure out what this is: (defstate baby-spider-hatching (baby-spider) - :event - baby-spider-default-event-handler - :code - (behavior () + :event baby-spider-default-event-handler + :code (behavior () (ja-channel-push! 1 0) (ja-no-eval :group! baby-spider-birth-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -367,16 +365,13 @@ baby-spider-default-event-handler (go baby-spider-resume) (none) ) - :post - (the-as (function none :behavior baby-spider) nav-enemy-simple-post) + :post (the-as (function none :behavior baby-spider) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate baby-spider-resume (baby-spider) - :event - baby-spider-default-event-handler - :code - (behavior () + :event baby-spider-default-event-handler + :code (behavior () (cond ((not *target*) (go-virtual nav-enemy-idle) @@ -403,10 +398,8 @@ baby-spider-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-idle (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :enter - (behavior () + :event baby-spider-default-event-handler + :enter (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self collide-info trans quad)) (let ((t9-0 (-> (method-of-type nav-enemy nav-enemy-idle) enter))) @@ -420,8 +413,7 @@ baby-spider-default-event-handler ) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -432,8 +424,7 @@ baby-spider-default-event-handler ) (none) ) - :post - (behavior () + :post (behavior () (ja-post) (none) ) @@ -442,10 +433,8 @@ baby-spider-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-patrol (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :trans - (behavior () + :event baby-spider-default-event-handler + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -456,12 +445,10 @@ baby-spider-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (loop - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info walk-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -478,10 +465,8 @@ baby-spider-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-notice (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :trans - (behavior () + :event baby-spider-default-event-handler + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -492,8 +477,7 @@ baby-spider-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.17)) (ja-no-eval :group! baby-spider-notice-ja :num! (seek!) :frame-num 0.0) @@ -511,10 +495,8 @@ baby-spider-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-chase (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :trans - (behavior () + :event baby-spider-default-event-handler + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -528,8 +510,7 @@ baby-spider-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self target-nav-time) (-> *display* base-frame-counter)) (set! (-> self wiggle-time) (+ (-> *display* base-frame-counter) (seconds -10))) (set! (-> self wiggle-angle) 0.0) @@ -546,8 +527,7 @@ baby-spider-default-event-handler ) (none) ) - :post - (behavior () + :post (behavior () (dummy-52 self (target-pos 0)) (nav-enemy-travel-post) (none) @@ -557,10 +537,8 @@ baby-spider-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-stop-chase (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :trans - (behavior () + :event baby-spider-default-event-handler + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -571,17 +549,14 @@ baby-spider-default-event-handler ) (none) ) - :code - (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) + :code (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) ) ;; failed to figure out what this is: (defstate nav-enemy-stare (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :trans - (behavior () + :event baby-spider-default-event-handler + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -592,8 +567,7 @@ baby-spider-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 1456355.5) (set! (-> self turn-time) (seconds 0.075)) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) @@ -626,10 +600,8 @@ baby-spider-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-give-up (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :trans - (behavior () + :event baby-spider-default-event-handler + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -640,8 +612,7 @@ baby-spider-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! baby-spider-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -669,10 +640,8 @@ baby-spider-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-attack (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :trans - (behavior () + :event baby-spider-default-event-handler + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -683,8 +652,7 @@ baby-spider-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! baby-spider-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -699,10 +667,8 @@ baby-spider-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-victory (baby-spider) :virtual #t - :event - baby-spider-default-event-handler - :trans - (behavior () + :event baby-spider-default-event-handler + :trans (behavior () (if (dummy-53 self) (go baby-spider-die-fast) ) @@ -713,20 +679,17 @@ baby-spider-default-event-handler ) (none) ) - :code - (-> (method-of-type nav-enemy nav-enemy-victory) code) + :code (-> (method-of-type nav-enemy nav-enemy-victory) code) ) ;; failed to figure out what this is: (defstate nav-enemy-die (baby-spider) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior baby-spider) process-drawable-death-event-handler ) - :enter - (behavior () + :enter (behavior () (let ((v1-0 (-> self event-death))) (if v1-0 (send-event (ppointer->process (-> self parent)) v1-0) @@ -745,10 +708,8 @@ baby-spider-default-event-handler ;; failed to figure out what this is: (defstate baby-spider-die-fast (baby-spider) - :event - baby-spider-default-event-handler - :code - (behavior () + :event baby-spider-default-event-handler + :code (behavior () (cleanup-for-death self) (let ((v1-2 (-> self event-death))) (if v1-2 diff --git a/test/decompiler/reference/levels/maincave/dark-crystal_REF.gc b/test/decompiler/reference/levels/maincave/dark-crystal_REF.gc index 2957630dce..d31d299942 100644 --- a/test/decompiler/reference/levels/maincave/dark-crystal_REF.gc +++ b/test/decompiler/reference/levels/maincave/dark-crystal_REF.gc @@ -59,19 +59,13 @@ ;; definition for symbol *dark-crystal-flash-delays*, type (array int32) (define *dark-crystal-flash-delays* - (the-as (array int32) - (new 'static 'boxed-array :type int32 :length 9 :allocated-length 9 #xb4 #x96 #x78 90 60 30 15 7 3) - ) + (the-as (array int32) (new 'static 'boxed-array :type int32 #xb4 #x96 #x78 90 60 30 15 7 3)) ) ;; definition for symbol *dark-crystal-exploder-params*, type joint-exploder-static-params (define *dark-crystal-exploder-params* (new 'static 'joint-exploder-static-params - :joints - (new - 'static - 'boxed-array - :type joint-exploder-static-joint-params :length 15 :allocated-length 15 + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params (new 'static 'joint-exploder-static-joint-params :joint-index 3 :parent-joint-index -1) (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) @@ -97,8 +91,7 @@ :duration 75 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 2153 :fade-after (meters 100) :period 600 :length 5 :binding 296) + :parts ((sp-item 2153 :fade-after (meters 100) :period 600 :length 5 :binding 296) (sp-item 296 :flags (start-dead launch-asap) :binding 297) (sp-item 297 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead)) (sp-item 296 :flags (start-dead launch-asap) :binding 297) @@ -172,8 +165,7 @@ ;; failed to figure out what this is: (defpart 2153 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 2) 1.0) @@ -193,8 +185,7 @@ ;; failed to figure out what this is: (defpart 2155 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 24.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -220,14 +211,12 @@ ;; failed to figure out what this is: (defpart 2158 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 2157 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-flt spt-scale-x (meters 0.3)) @@ -246,8 +235,7 @@ ;; failed to figure out what this is: (defpart 2154 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 24)) @@ -264,8 +252,7 @@ ;; failed to figure out what this is: (defpart 2156 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) @@ -297,8 +284,7 @@ :linger-duration 12000 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 2159 :period 600 :length 5) + :parts ((sp-item 2159 :period 600 :length 5) (sp-item 2160 :period 600 :length 40) (sp-item 2161 :period 600 :length 20) (sp-item 2162 :period 600 :length 20) @@ -309,8 +295,7 @@ ;; failed to figure out what this is: (defpart 2160 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 24.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -337,8 +322,7 @@ ;; failed to figure out what this is: (defpart 2162 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-flt spt-scale-x (meters 0.3)) @@ -359,8 +343,7 @@ ;; failed to figure out what this is: (defpart 2159 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 24)) @@ -378,8 +361,7 @@ ;; failed to figure out what this is: (defpart 2161 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) @@ -409,8 +391,7 @@ ;; failed to figure out what this is: (defpart 2163 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -4) (meters 8) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 6) 1.0) @@ -435,14 +416,12 @@ ;; failed to figure out what this is: (defpart 2165 - :init-specs - ((sp-flt spt-fade-a 0.0)) + :init-specs ((sp-flt spt-fade-a 0.0)) ) ;; failed to figure out what this is: (defpart 2164 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters -4) (meters 8) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 6) 1.0) @@ -467,8 +446,7 @@ ;; failed to figure out what this is: (defstate dark-crystal-idle (dark-crystal) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (if (= (-> arg0 type) target) @@ -485,8 +463,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -497,8 +474,7 @@ ;; failed to figure out what this is: (defstate dark-crystal-activate (dark-crystal) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (dotimes (gp-0 (-> *dark-crystal-flash-delays* length)) (sound-play-by-name (static-sound-name "warning") (new-sound-id) 1024 0 0 1 #t) @@ -524,8 +500,7 @@ ;; failed to figure out what this is: (defstate dark-crystal-explode (dark-crystal) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self mask) (process-mask actor-pause)) (clear-collide-with-as (-> self root-override)) @@ -537,22 +512,7 @@ (set-vector! (-> gp-0 fountain-rand-transv-lo) -40960.0 20480.0 -40960.0 1.0) (set-vector! (-> gp-0 fountain-rand-transv-hi) 40960.0 49152.0 40960.0 1.0) ) - (let ((s5-0 (get-process *default-dead-pool* joint-exploder #x4000))) - (when s5-0 - (let ((t9-3 (method-of-type joint-exploder activate))) - (t9-3 (the-as joint-exploder s5-0) self 'joint-exploder (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - joint-exploder-init-by-other - *dark-crystal-explode-sg* - 5 - gp-0 - *dark-crystal-exploder-params* - ) - (-> s5-0 ppointer) - ) - ) + (process-spawn joint-exploder *dark-crystal-explode-sg* 5 gp-0 *dark-crystal-exploder-params* :to self) ) (activate! *camera-smush-control* 819.2 37 210 1.0 0.995) (let ((gp-1 (dummy-21 self))) @@ -565,26 +525,19 @@ (sound-play-by-name (static-sound-name "water-explosion") (new-sound-id) 1024 0 0 1 #t) (sound-play-by-name (static-sound-name "crystal-explode") (new-sound-id) 1024 0 0 1 #t) ) - (let ((s5-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-3 - (let ((t9-15 (method-of-type part-tracker activate))) - (t9-15 (the-as part-tracker s5-3) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + (process-spawn + part-tracker + :init part-tracker-init + (if (-> self underwater?) + (-> *part-group-id-table* 323) + (-> *part-group-id-table* 322) ) - (run-now-in-process - s5-3 - part-tracker-init - (if (-> self underwater?) - (-> *part-group-id-table* 323) - (-> *part-group-id-table* 322) - ) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> s5-3 ppointer) - ) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (let ((s5-4 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) s5-4) (seconds 0.25)) @@ -605,13 +558,11 @@ ;; failed to figure out what this is: (defstate dark-crystal-spawn-fuel-cell (dark-crystal) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior dark-crystal) process-drawable-fuel-cell-handler ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (clear-collide-with-as (-> self root-override)) (level-hint-spawn diff --git a/test/decompiler/reference/levels/maincave/driller-lurker_REF.gc b/test/decompiler/reference/levels/maincave/driller-lurker_REF.gc index f014b9ed38..81266e4192 100644 --- a/test/decompiler/reference/levels/maincave/driller-lurker_REF.gc +++ b/test/decompiler/reference/levels/maincave/driller-lurker_REF.gc @@ -103,10 +103,8 @@ ;; definition for symbol *driller-lurker-shadow-control*, type shadow-control (define *driller-lurker-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #x9)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 614400.0) + :center (new 'static 'vector :w (the-as float #x9)) + :shadow-dir (new 'static 'vector :y -1.0 :w 614400.0) :bot-plane (new 'static 'plane :y 1.0 :w 4096.0) :top-plane (new 'static 'plane :y 1.0 :w -2048.0) :fade-dist 245760.0 @@ -119,8 +117,7 @@ :id 331 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 728 :fade-after (meters 80) :falloff-to (meters 80)) + :parts ((sp-item 728 :fade-after (meters 80) :falloff-to (meters 80)) (sp-item 2075 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 2076 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 2077 :fade-after (meters 40) :falloff-to (meters 40)) @@ -129,8 +126,7 @@ ;; failed to figure out what this is: (defpart 728 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -158,8 +154,7 @@ ;; failed to figure out what this is: (defpart 2075 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -187,8 +182,7 @@ ;; failed to figure out what this is: (defpart 2076 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -215,14 +209,12 @@ ;; failed to figure out what this is: (defpart 2078 - :init-specs - ((sp-flt spt-fade-a -1.7066667)) + :init-specs ((sp-flt spt-fade-a -1.7066667)) ) ;; failed to figure out what this is: (defpart 2077 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 8.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -297,25 +289,19 @@ ) (cond ((or s2-0 (not s3-0)) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'attack) - (set! (-> a1-6 param 0) (-> arg3 param 0)) - (let ((v1-34 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-34 shove-up) 8192.0) - (set! (-> v1-34 shove-back) 12288.0) - (set! (-> a1-6 param 1) (the-as uint v1-34)) - ) - (when (send-event-function arg0 a1-6) - (set! (-> self hit-player?) #t) - (set! (-> self hit-player-time) (-> *display* base-frame-counter)) - (set-collide-offense (-> self root-overeride) 2 (collide-offense no-offense)) - (let ((v1-39 (-> self mode))) - (if (or (zero? v1-39) (= v1-39 1) (= v1-39 2)) - (go driller-lurker-chase #t) - ) - ) + (when (send-event + arg0 + 'attack + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 2)) (shove-back (meters 3)))) + ) + (set! (-> self hit-player?) #t) + (set! (-> self hit-player-time) (-> *display* base-frame-counter)) + (set-collide-offense (-> self root-overeride) 2 (collide-offense no-offense)) + (let ((v1-39 (-> self mode))) + (if (or (zero? v1-39) (= v1-39 1) (= v1-39 2)) + (go driller-lurker-chase #t) + ) ) ) ) @@ -346,25 +332,19 @@ ) ((= arg2 'touch) (when (= (-> arg0 type) target) - (let ((a1-11 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-11 from) self) - (set! (-> a1-11 num-params) 2) - (set! (-> a1-11 message) 'attack) - (set! (-> a1-11 param 0) (-> arg3 param 0)) - (let ((v1-57 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-57 shove-up) 8192.0) - (set! (-> v1-57 shove-back) 12288.0) - (set! (-> a1-11 param 1) (the-as uint v1-57)) - ) - (when (send-event-function arg0 a1-11) - (set! (-> self hit-player?) #t) - (set! (-> self hit-player-time) (-> *display* base-frame-counter)) - (set-collide-offense (-> self root-overeride) 2 (collide-offense no-offense)) - (let ((v1-62 (-> self mode))) - (if (or (zero? v1-62) (= v1-62 1) (= v1-62 2)) - (go driller-lurker-chase #t) - ) - ) + (when (send-event + arg0 + 'attack + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 2)) (shove-back (meters 3)))) + ) + (set! (-> self hit-player?) #t) + (set! (-> self hit-player-time) (-> *display* base-frame-counter)) + (set-collide-offense (-> self root-overeride) 2 (collide-offense no-offense)) + (let ((v1-62 (-> self mode))) + (if (or (zero? v1-62) (= v1-62 1) (= v1-62 2)) + (go driller-lurker-chase #t) + ) ) ) ) @@ -682,42 +662,35 @@ ;; failed to figure out what this is: (defstate driller-lurker-debug-play-anims (driller-lurker) - :code - (behavior () + :code (behavior () 0 (none) ) - :post - (the-as (function none :behavior driller-lurker) transform-post) + :post (the-as (function none :behavior driller-lurker) transform-post) ) ;; failed to figure out what this is: (defstate driller-lurker-idle-drilling (driller-lurker) - :event - driller-lurker-default-event-handler - :enter - (behavior () + :event driller-lurker-default-event-handler + :enter (behavior () (set! (-> self mode) (the-as uint 1)) (set! (-> self targ-path-speed) 0.0) (set! (-> self path-speed) 0.0) (shut-down! (-> self neck)) (none) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound2)) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-25 self) (go driller-lurker-chase #t) ) (dummy-20 self #t (the-as target #f)) (none) ) - :code - (behavior () + :code (behavior () (update-trans! (-> self sound2) (-> self root-overeride trans)) (loop (set! (-> self timeout) (rand-vu-int-range 4 8)) @@ -749,16 +722,13 @@ ) (none) ) - :post - (the-as (function none :behavior driller-lurker) transform-post) + :post (the-as (function none :behavior driller-lurker) transform-post) ) ;; failed to figure out what this is: (defstate driller-lurker-patrol (driller-lurker) - :event - driller-lurker-default-event-handler - :enter - (behavior () + :event driller-lurker-default-event-handler + :enter (behavior () (set! (-> self mode) (the-as uint 2)) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self timeout) (rand-vu-int-range 900 3600)) @@ -769,16 +739,14 @@ (shut-down! (-> self neck)) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-25 self) (go driller-lurker-chase #t) ) (dummy-20 self #t (the-as target #f)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 2 (seconds 0.2)) (ja :group! driller-lurker-walk-ja :num! min) (ja :chan 1 :group! driller-lurker-walk-up-ja :num! (chan 0) :frame-interp (-> self up-blend)) @@ -799,32 +767,27 @@ ) (none) ) - :post - (the-as (function none :behavior driller-lurker) transform-post) + :post (the-as (function none :behavior driller-lurker) transform-post) ) ;; failed to figure out what this is: (defstate driller-lurker-patrol-pause (driller-lurker) - :event - driller-lurker-default-event-handler - :enter - (behavior () + :event driller-lurker-default-event-handler + :enter (behavior () (set! (-> self mode) (the-as uint 2)) (set! (-> self path-speed) 0.0) (set! (-> self targ-path-speed) 0.0) (shut-down! (-> self neck)) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-25 self) (go driller-lurker-chase #t) ) (dummy-20 self #t (the-as target #f)) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self timeout) (rand-vu-int-range 2 4)) (let ((s5-0 -1)) (dotimes (gp-0 (-> self timeout)) @@ -864,16 +827,13 @@ (go driller-lurker-patrol) (none) ) - :post - (the-as (function none :behavior driller-lurker) transform-post) + :post (the-as (function none :behavior driller-lurker) transform-post) ) ;; failed to figure out what this is: (defstate driller-lurker-chase (driller-lurker) - :event - driller-lurker-default-event-handler - :enter - (behavior ((arg0 symbol)) + :event driller-lurker-default-event-handler + :enter (behavior ((arg0 symbol)) (if arg0 (set! (-> self started-chasing-time) (-> *display* base-frame-counter)) ) @@ -882,8 +842,7 @@ (set! (-> self targ-path-speed) 23552.0) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-24 self) (go driller-lurker-attack) ) @@ -919,8 +878,7 @@ (dummy-20 self #f (the-as target #t)) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-channel-push! 2 (seconds 0.2)) (ja :group! driller-lurker-run-ja :num! min) (ja :chan 1 :group! driller-lurker-run-up-ja :num! (chan 0) :frame-interp (-> self up-blend)) @@ -936,24 +894,20 @@ ) (none) ) - :post - (the-as (function none :behavior driller-lurker) transform-post) + :post (the-as (function none :behavior driller-lurker) transform-post) ) ;; failed to figure out what this is: (defstate driller-lurker-attack (driller-lurker) - :event - driller-lurker-default-event-handler - :enter - (behavior () + :event driller-lurker-default-event-handler + :enter (behavior () (set! (-> self mode) (the-as uint 4)) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self path-speed) 0.0) (set! (-> self targ-path-speed) 0.0) (none) ) - :trans - (behavior () + :trans (behavior () (cond ((dummy-24 self) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -970,8 +924,7 @@ (dummy-20 self #f (the-as target #t)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 2 (seconds 0.2)) (ja :group! driller-lurker-attack-ja :num! min) (ja :chan 1 :group! driller-lurker-attack-up-ja :num! (chan 0) :frame-interp (-> self up-blend)) @@ -987,29 +940,24 @@ ) (none) ) - :post - (the-as (function none :behavior driller-lurker) transform-post) + :post (the-as (function none :behavior driller-lurker) transform-post) ) ;; failed to figure out what this is: (defstate driller-lurker-jammed-standing (driller-lurker) - :event - driller-lurker-default-event-handler - :enter - (behavior () + :event driller-lurker-default-event-handler + :enter (behavior () (set! (-> self mode) (the-as uint 5)) (set! (-> self path-speed) 0.0) (set! (-> self targ-path-speed) 0.0) (shut-down! (-> self neck)) (none) ) - :trans - (behavior () + :trans (behavior () (dummy-20 self #f (the-as target #f)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! driller-lurker-drill-jams-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1029,19 +977,16 @@ ) (none) ) - :post - (the-as (function none :behavior driller-lurker) transform-post) + :post (the-as (function none :behavior driller-lurker) transform-post) ) ;; failed to figure out what this is: (defstate driller-lurker-die (driller-lurker) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior driller-lurker) process-drawable-death-event-handler ) - :code - (behavior () + :code (behavior () (shut-down! (-> self neck)) (logclear! (-> self mask) (process-mask actor-pause)) (ja-channel-push! 1 (seconds 0.2)) @@ -1058,8 +1003,7 @@ (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior driller-lurker) ja-post) + :post (the-as (function none :behavior driller-lurker) ja-post) ) ;; definition for method 7 of type driller-lurker @@ -1204,8 +1148,7 @@ arg0 'driller-lurker (pointer float) - :tag-ptr - (the-as (pointer res-tag) (new 'stack-no-clear 'vector)) + :tag-ptr (the-as (pointer res-tag) (new 'stack-no-clear 'vector)) ) ) ) diff --git a/test/decompiler/reference/levels/maincave/gnawer_REF.gc b/test/decompiler/reference/levels/maincave/gnawer_REF.gc index 11aa1730f4..ec76314b57 100644 --- a/test/decompiler/reference/levels/maincave/gnawer_REF.gc +++ b/test/decompiler/reference/levels/maincave/gnawer_REF.gc @@ -198,44 +198,36 @@ (new 'static 'inline-array gnawer-segment-info 10 (new 'static 'gnawer-segment-info :num-joints 8 - :joint-index - (new 'static 'array int8 8 4 #x1f #xd #x20 #x21 #x22 #x23 #x24) + :joint-index (new 'static 'array int8 8 4 #x1f #xd #x20 #x21 #x22 #x23 #x24) ) (new 'static 'gnawer-segment-info :num-joints 3 :joint-index (new 'static 'array int8 8 5 #xe #xf 0 0 0 0 0)) (new 'static 'gnawer-segment-info :num-joints 3 - :joint-index - (new 'static 'array int8 8 #x6 #x10 #x11 0 0 0 0 0) + :joint-index (new 'static 'array int8 8 #x6 #x10 #x11 0 0 0 0 0) ) (new 'static 'gnawer-segment-info :num-joints 3 - :joint-index - (new 'static 'array int8 8 #x7 #x12 #x13 0 0 0 0 0) + :joint-index (new 'static 'array int8 8 #x7 #x12 #x13 0 0 0 0 0) ) (new 'static 'gnawer-segment-info :num-joints 3 - :joint-index - (new 'static 'array int8 8 #x8 #x14 #x15 0 0 0 0 0) + :joint-index (new 'static 'array int8 8 #x8 #x14 #x15 0 0 0 0 0) ) (new 'static 'gnawer-segment-info :num-joints 3 - :joint-index - (new 'static 'array int8 8 #x9 #x16 #x17 0 0 0 0 0) + :joint-index (new 'static 'array int8 8 #x9 #x16 #x17 0 0 0 0 0) ) (new 'static 'gnawer-segment-info :num-joints 3 - :joint-index - (new 'static 'array int8 8 #xa #x18 #x19 0 0 0 0 0) + :joint-index (new 'static 'array int8 8 #xa #x18 #x19 0 0 0 0 0) ) (new 'static 'gnawer-segment-info :num-joints 3 - :joint-index - (new 'static 'array int8 8 #xb #x1a #x1b 0 0 0 0 0) + :joint-index (new 'static 'array int8 8 #xb #x1a #x1b 0 0 0 0 0) ) (new 'static 'gnawer-segment-info :num-joints 3 - :joint-index - (new 'static 'array int8 8 #xc #x1c #x1d 0 0 0 0 0) + :joint-index (new 'static 'array int8 8 #xc #x1c #x1d 0 0 0 0 0) ) (new 'static 'gnawer-segment-info :num-joints 1 :joint-index (new 'static 'array int8 8 #x1e 0 0 0 0 0 0 0)) ) @@ -246,8 +238,7 @@ :id 329 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 727 :binding 2309) + :parts ((sp-item 727 :binding 2309) (sp-item 2309 :flags (start-dead)) (sp-item 2309 :flags (start-dead)) (sp-item 2309 :flags (start-dead)) @@ -328,8 +319,7 @@ ;; failed to figure out what this is: (defpart 2310 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 16)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -346,8 +336,7 @@ ;; failed to figure out what this is: (defpart 727 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 16.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -371,8 +360,7 @@ ;; failed to figure out what this is: (defpart 2309 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) (sp-rnd-flt spt-num 0.25 0.5 1.0) (sp-rnd-flt spt-scale-x (meters 0.7) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -394,14 +382,12 @@ :id 330 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2141 :fade-after (meters 60) :falloff-to (meters 60))) + :parts ((sp-item 2141 :fade-after (meters 60) :falloff-to (meters 60))) ) ;; failed to figure out what this is: (defpart 2141 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.35) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -424,8 +410,7 @@ ;; failed to figure out what this is: (defstate falling (gnawer-falling-segment) :virtual #t - :trans - (behavior () + :trans (behavior () (+! (-> self transv y) (* -409600.0 (-> *display* seconds-per-frame))) (vector-v+! (-> self root trans) (-> self root trans) (-> self transv)) (+! (-> self facing-rot x) (* (-> self facing-rotv x) (-> *display* seconds-per-frame))) @@ -438,8 +423,7 @@ (set! (-> self root scale z) (-> self root scale x)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 0) (dotimes (gp-0 1) (ja-no-eval :group! gnawer-segment-idle-ja :num! (seek!) :frame-num 0.0) @@ -455,8 +439,7 @@ ) (none) ) - :post - (the-as (function none :behavior gnawer-falling-segment) ja-post) + :post (the-as (function none :behavior gnawer-falling-segment) ja-post) ) ;; definition for function gnawer-falling-segment-init-by-other @@ -807,15 +790,7 @@ (vector-! s1-0 s2-0 (-> obj root-override trans)) (set! (-> s1-0 y) 0.0) (vector-normalize! s1-0 1.0) - (let ((s0-0 (get-process *default-dead-pool* gnawer-falling-segment #x4000))) - (when s0-0 - (let ((t9-2 (method-of-type gnawer-falling-segment activate))) - (t9-2 (the-as gnawer-falling-segment s0-0) obj 'gnawer-falling-segment (the-as pointer #x70004000)) - ) - (run-now-in-process s0-0 gnawer-falling-segment-init-by-other obj s2-0 s1-0) - (-> s0-0 ppointer) - ) - ) + (process-spawn gnawer-falling-segment obj s2-0 s1-0 :to obj) ) (set! (-> s3-0 place) -1) ) @@ -947,24 +922,17 @@ ;; failed to figure out what this is: (defstate gnawer-chewing-on-post (gnawer) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) - (when (= (-> arg0 type) target) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'shove) - (set! (-> a1-4 param 0) (-> arg3 param 0)) - (let ((v1-6 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-6 shove-up) 6144.0) - (set! (-> v1-6 shove-back) 10240.0) - (set! (-> a1-4 param 1) (the-as uint v1-6)) + (if (= (-> arg0 type) target) + (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 1.5)) (shove-back (meters 2.5)))) ) - (send-event-function arg0 a1-4) ) - ) (go gnawer-retreat-into-post) ) (('attack) @@ -973,29 +941,24 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound2)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 81920.0 (vector-vector-distance (target-pos 0) (-> self root-override trans)))) (go gnawer-retreat-into-post) ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (if (zero? (rand-vu-int-count 2)) (ja :group! gnawer-tear-side-to-side-ja - :num! - (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) + :num! (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) ) (ja :group! gnawer-tug-ja - :num! - (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) + :num! (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) ) ) (ja-no-eval :num! (seek!)) @@ -1072,19 +1035,16 @@ ) (none) ) - :post - (the-as (function none :behavior gnawer) transform-post) + :post (the-as (function none :behavior gnawer) transform-post) ) ;; failed to figure out what this is: (defstate gnawer-retreat-into-post (gnawer) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! gnawer-notice-ja :num! (seek!) :frame-num 0.0) @@ -1096,14 +1056,12 @@ (go gnawer-wait-to-run) (none) ) - :post - (the-as (function none :behavior gnawer) transform-post) + :post (the-as (function none :behavior gnawer) transform-post) ) ;; failed to figure out what this is: (defstate gnawer-wait-to-run (gnawer) - :code - (behavior () + :code (behavior () (set! (-> self draw origin-joint-index) (the-as uint 0)) (dummy-23 self) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -1119,40 +1077,27 @@ ;; failed to figure out what this is: (defstate gnawer-run (gnawer) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) (case arg2 (('touch) - (when (= (-> arg0 type) target) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'shove) - (set! (-> a1-4 param 0) (-> arg3 param 0)) - (let ((v1-5 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-5 shove-up) 6144.0) - (set! (-> v1-5 shove-back) 10240.0) - (set! (-> a1-4 param 1) (the-as uint v1-5)) + (if (= (-> arg0 type) target) + (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 1.5)) (shove-back (meters 2.5)))) ) - (send-event-function arg0 a1-4) ) - ) ) (('attack) (cond ((= (-> arg0 type) target) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'attack) - (set! (-> a1-7 param 0) (-> arg3 param 0)) - (let ((v1-10 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-10 shove-up) 6144.0) - (set! (-> v1-10 shove-back) 10240.0) - (set! (-> a1-7 param 1) (the-as uint v1-10)) - ) - (send-event-function arg0 a1-7) + (send-event + arg0 + 'attack + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 1.5)) (shove-back (meters 2.5)))) ) ) (else @@ -1182,8 +1127,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self route-dist) 0.0) (dummy-24 self) @@ -1191,14 +1135,12 @@ (dummy-26 self) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (stop! (-> self sound)) (none) ) - :trans - (behavior () + :trans (behavior () (+! (-> self route-dist) (* (-> self speed) (-> *display* seconds-per-frame))) (if (dummy-22 self (-> self route-dist)) (go gnawer-wait-to-run) @@ -1206,8 +1148,7 @@ (update! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (local-vars (v1-19 symbol) (v1-35 symbol)) (ja-channel-set! 1) (ja :group! gnawer-run-ja :num! min) @@ -1235,14 +1176,12 @@ ) (none) ) - :post - (the-as (function none :behavior gnawer) transform-post) + :post (the-as (function none :behavior gnawer) transform-post) ) ;; failed to figure out what this is: (defstate gnawer-die (gnawer) - :enter - (behavior () + :enter (behavior () (let ((v1-0 (-> self segments))) (set! (-> self fall-trans quad) (-> v1-0 0 world-pos quad)) (vector-! (-> self root-override transv) (-> v1-0 0 world-pos) (-> self post-trans)) @@ -1253,8 +1192,7 @@ (vector-normalize! (-> self root-override transv) 32768.0) (none) ) - :trans - (behavior () + :trans (behavior () (+! (-> self root-override transv y) (* -409600.0 (-> *display* seconds-per-frame))) (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self fall-trans quad)) @@ -1270,8 +1208,7 @@ (spool-push *art-control* "maincavecam-gnawer-fuel-cell" 0 self -1.0) (none) ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #t) (ja-channel-push! 1 (seconds 0.1)) @@ -1284,14 +1221,12 @@ (go gnawer-dying-give-pickups) (none) ) - :post - (the-as (function none :behavior gnawer) ja-post) + :post (the-as (function none :behavior gnawer) ja-post) ) ;; failed to figure out what this is: (defstate gnawer-dying-give-pickups (gnawer) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'notify) (if (and (= (-> arg0 type) money) (= (-> arg3 param 0) 'pickup)) @@ -1301,13 +1236,11 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "maincavecam-gnawer-fuel-cell" 0 self -1.0) (none) ) - :code - (behavior () + :code (behavior () (local-vars (sv-128 symbol)) (clear-collide-with-as (-> self root-override)) (set! (-> self skel postbind-function) #f) @@ -1365,8 +1298,7 @@ ;; failed to figure out what this is: (defstate gnawer-give-fuel-cell (gnawer) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'notify) (cond @@ -1385,8 +1317,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (when (not (task-complete? *game-info* (-> self entity extra perm task))) (spool-push *art-control* "maincavecam-gnawer-fuel-cell" 0 self -1.0) (logclear! (-> self mask) (process-mask actor-pause)) @@ -1436,8 +1367,7 @@ ;; failed to figure out what this is: (defstate gnawer-put-items-at-dest (gnawer) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'notify) (if (and (= (-> arg0 type) money) (= (-> arg3 param 0) 'pickup)) @@ -1447,8 +1377,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self draw origin-joint-index) (the-as uint 0)) (clear-collide-with-as (-> self root-override)) (set! (-> self skel postbind-function) #f) diff --git a/test/decompiler/reference/levels/maincave/maincave-obs_REF.gc b/test/decompiler/reference/levels/maincave/maincave-obs_REF.gc index 4c88d0b001..65d314970d 100644 --- a/test/decompiler/reference/levels/maincave/maincave-obs_REF.gc +++ b/test/decompiler/reference/levels/maincave/maincave-obs_REF.gc @@ -42,23 +42,21 @@ ;; failed to figure out what this is: (defstate pov-camera-playing (maincavecam) :virtual #t - :code - (behavior () + :code (behavior () (cond ((zero? (-> self seq)) - (let* ((gp-0 (get-process *default-dead-pool* fuel-cell #x4000)) - (gp-1 - (ppointer->handle - (when gp-0 - (let ((t9-1 (method-of-type fuel-cell activate))) - (t9-1 (the-as fuel-cell gp-0) (ppointer->process (-> self parent)) 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 fuel-cell-init-as-clone (process->handle self) (-> self entity extra perm task)) - (-> gp-0 ppointer) - ) - ) - ) - ) + (let ((gp-1 + (ppointer->handle + (process-spawn + fuel-cell + :init fuel-cell-init-as-clone + (process->handle self) + (-> self entity extra perm task) + :to (ppointer->process (-> self parent)) + ) + ) + ) + ) (ja-play-spooled-anim (new 'static 'spool-anim :name "maincavecam-gnawer-fuel-cell" :index 3 :parts 1 :command-list '()) (the-as art-joint-anim #f) @@ -104,8 +102,7 @@ :count 3 :converted #f :normal-scale 1.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 40.0 :xdiv -1 :zdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) @@ -164,8 +161,7 @@ ;; failed to figure out what this is: (defstate cavecrusher-idle (cavecrusher) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (or (= v1-0 'touch) (= v1-0 'attack)) (when (= (-> arg0 type) target) @@ -182,8 +178,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -194,8 +189,7 @@ ) (none) ) - :post - (the-as (function none :behavior cavecrusher) ja-post) + :post (the-as (function none :behavior cavecrusher) ja-post) ) ;; definition for method 11 of type cavecrusher @@ -269,21 +263,19 @@ ;; failed to figure out what this is: (defstate idle (cavetrapdoor) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) (when (= (-> arg0 type) target) (when (>= (- (-> (target-pos 0) y) (-> self root-override trans y)) 409.6) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) (go-virtual trigger) ) ) ) ) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) @@ -298,8 +290,7 @@ ;; failed to figure out what this is: (defstate trigger (cavetrapdoor) :virtual #t - :code - (behavior () + :code (behavior () (when (nonzero? (-> self delay-before-wiggle)) (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self delay-before-wiggle)) @@ -361,8 +352,7 @@ (go-virtual idle) (none) ) - :post - (the-as (function none :behavior cavetrapdoor) pusher-post) + :post (the-as (function none :behavior cavetrapdoor) pusher-post) ) ;; definition for method 11 of type cavetrapdoor @@ -459,8 +449,7 @@ ;; failed to figure out what this is: (defpart 704 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2)) (sp-rnd-flt spt-rot-z (degrees -180.0) (degrees 360.0) 1.0) @@ -483,8 +472,7 @@ ;; failed to figure out what this is: (defpart 705 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2)) (sp-rnd-flt spt-rot-z (degrees -180.0) (degrees 360.0) 1.0) @@ -507,8 +495,7 @@ ;; failed to figure out what this is: (defstate caveflamepots-active (caveflamepots) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (when (= (-> arg0 type) target) @@ -520,51 +507,36 @@ ) (let ((s4-0 (new 'stack 'attack-info))) (dummy-41 (-> self root-override) s4-0 (-> self shove-up)) - (cond - ((or (= (-> *target* control unknown-surface00 mode) 'air) - (>= (+ (-> *display* base-frame-counter) (seconds -0.2)) (-> *target* control unknown-dword11)) - (< 0.75 (-> *target* control poly-normal y)) - ) - (let ((a1-5 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-5 from) self) - (set! (-> a1-5 num-params) 2) - (set! (-> a1-5 message) 'attack-or-shove) - (set! (-> a1-5 param 0) (-> arg3 param 0)) - (let ((v1-22 (new 'static 'attack-info :mask #xa2))) - (set! (-> v1-22 mode) 'burn) - (set! (-> v1-22 vector quad) (-> s4-0 vector quad)) - (set! (-> v1-22 shove-up) (-> s4-0 shove-up)) - (set! (-> a1-5 param 1) (the-as uint v1-22)) - ) - (send-event-function arg0 a1-5) - ) - ) - (else - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'attack-or-shove) - (set! (-> a1-6 param 0) (-> arg3 param 0)) - (let ((v1-26 (new 'static 'attack-info :mask #x8e2))) - (set! (-> v1-26 mode) 'burn) - (set! (-> v1-26 shove-up) 0.0) - (set! (-> v1-26 shove-back) 8192.0) - (set! (-> v1-26 vector quad) (-> *target* control poly-normal quad)) - (set! (-> v1-26 angle) 'shove) - (set! (-> a1-6 param 1) (the-as uint v1-26)) + (if (or (= (-> *target* control unknown-surface00 mode) 'air) + (>= (+ (-> *display* base-frame-counter) (seconds -0.2)) (-> *target* control unknown-dword11)) + (< 0.75 (-> *target* control poly-normal y)) ) - (send-event-function arg0 a1-6) + (send-event + arg0 + 'attack-or-shove + (-> arg3 param 0) + (static-attack-info ((mode 'burn) (vector (-> s4-0 vector)) (shove-up (-> s4-0 shove-up)))) + ) + (send-event + arg0 + 'attack-or-shove + (-> arg3 param 0) + (static-attack-info ((mode 'burn) + (shove-up (meters 0)) + (shove-back (meters 2)) + (vector (-> *target* control poly-normal)) + (angle 'shove) + ) + ) ) ) - ) ) ) ) ) ) ) - :trans - (behavior () + :trans (behavior () (let* ((v1-0 (-> self cycle-speed)) (a0-1 (- v1-0 (-> self cycle-pause))) (gp-0 (mod (+ (-> *display* base-frame-counter) (the-as time-frame (-> self cycle-offset))) v1-0)) @@ -623,8 +595,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -801,8 +772,7 @@ ;; failed to figure out what this is: (defstate cavespatula-idle (cavespatula) - :trans - (behavior () + :trans (behavior () (rider-trans) (update! (-> self sound)) (let ((f0-0 (get-current-phase (-> self sync)))) @@ -810,16 +780,14 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) (none) ) - :post - (the-as (function none :behavior cavespatula) rider-post) + :post (the-as (function none :behavior cavespatula) rider-post) ) ;; definition for method 11 of type cavespatula @@ -929,8 +897,7 @@ ;; failed to figure out what this is: (defstate cavespatulatwo-idle (cavespatulatwo) - :trans - (behavior () + :trans (behavior () (rider-trans) (update! (-> self sound)) (let ((f0-0 (get-current-phase (-> self sync)))) @@ -938,16 +905,14 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) (none) ) - :post - (the-as (function none :behavior cavespatulatwo) rider-post) + :post (the-as (function none :behavior cavespatulatwo) rider-post) ) ;; definition for method 11 of type cavespatulatwo @@ -1103,8 +1068,7 @@ ;; failed to figure out what this is: (defstate caveelevator-cycle-active (caveelevator) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'bonk) (activate! (-> self smush) -1.0 60 150 1.0 1.0) @@ -1112,24 +1076,20 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (behavior () + :trans (behavior () (rider-trans) (TODO-RENAME-20 self) (none) ) - :code - (behavior () + :code (behavior () (loop (let ((f30-1 (* (get-current-phase (-> self sync)) (the float (ja-num-frames 0))))) (if (< (-> self prev-frame-num) f30-1) @@ -1142,8 +1102,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (rider-post) (TODO-RENAME-21 self) (none) @@ -1152,8 +1111,7 @@ ;; failed to figure out what this is: (defstate caveelevator-one-way-idle-start (caveelevator) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('bonk) (activate! (-> self smush) -1.0 60 150 1.0 1.0) @@ -1168,18 +1126,15 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (rider-trans) (TODO-RENAME-20 self) (none) ) - :code - (behavior () - (ja :group! - (-> (the-as art-joint-anim (+ (* (-> self anim 0) 4) (the-as int (-> self draw art-group)))) - master-art-group-name - ) + :code (behavior () + (ja :group! (-> (the-as art-joint-anim (+ (* (-> self anim 0) 4) (the-as int (-> self draw art-group)))) + master-art-group-name + ) :num! min ) (loop @@ -1187,8 +1142,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (rider-post) (TODO-RENAME-21 self) (none) @@ -1197,8 +1151,7 @@ ;; failed to figure out what this is: (defstate caveelevator-one-way-travel-to-end (caveelevator) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'bonk) (activate! (-> self smush) -1.0 60 150 1.0 1.0) @@ -1206,24 +1159,20 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (behavior () + :trans (behavior () (rider-trans) (TODO-RENAME-20 self) (none) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data (-> self anim 0)) :num! min) (ja-no-eval :num! (seek!)) (until (ja-done? 0) @@ -1233,8 +1182,7 @@ (go caveelevator-one-way-idle-end) (none) ) - :post - (behavior () + :post (behavior () (rider-post) (TODO-RENAME-21 self) (none) @@ -1243,8 +1191,7 @@ ;; failed to figure out what this is: (defstate caveelevator-one-way-idle-end (caveelevator) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'bonk) (activate! (-> self smush) -1.0 60 150 1.0 1.0) @@ -1252,13 +1199,11 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (cond ((zero? (-> self root-override riders num-riders)) (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) @@ -1273,16 +1218,14 @@ (TODO-RENAME-20 self) (none) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data (-> self anim 0)) :num! max) (loop (suspend) ) (none) ) - :post - (behavior () + :post (behavior () (rider-post) (TODO-RENAME-21 self) (none) @@ -1291,8 +1234,7 @@ ;; failed to figure out what this is: (defstate caveelevator-one-way-travel-to-start (caveelevator) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'bonk) (activate! (-> self smush) -1.0 60 150 1.0 1.0) @@ -1300,24 +1242,20 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (behavior () + :trans (behavior () (rider-trans) (TODO-RENAME-20 self) (none) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data (-> self anim 1)) :num! min) (ja-no-eval :num! (seek!)) (until (ja-done? 0) @@ -1327,8 +1265,7 @@ (go caveelevator-one-way-idle-start) (none) ) - :post - (behavior () + :post (behavior () (rider-post) (TODO-RENAME-21 self) (none) diff --git a/test/decompiler/reference/levels/maincave/maincave-part_REF.gc b/test/decompiler/reference/levels/maincave/maincave-part_REF.gc index f1e9b9525f..7595b945f6 100644 --- a/test/decompiler/reference/levels/maincave/maincave-part_REF.gc +++ b/test/decompiler/reference/levels/maincave/maincave-part_REF.gc @@ -39,8 +39,7 @@ (defpartgroup group-part-maincave-torch :id 318 :bounds (static-bspherem 0 3 0 4) - :parts - ((sp-item 706 :fade-after (meters 200) :falloff-to (meters 220)) + :parts ((sp-item 706 :fade-after (meters 200) :falloff-to (meters 220)) (sp-item 707 :fade-after (meters 140) :falloff-to (meters 140)) (sp-item 708 :fade-after (meters 50) :falloff-to (meters 50) :period 600 :length 90) (sp-item 709 :fade-after (meters 50) :falloff-to (meters 50) :period 369 :length 69) @@ -51,8 +50,7 @@ ;; failed to figure out what this is: (defpart 711 - :init-specs - ((sp-flt spt-num 0.3) + :init-specs ((sp-flt spt-num 0.3) (sp-flt spt-x (meters 0.2)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) (sp-int spt-rot-x 5) @@ -71,14 +69,12 @@ ;; failed to figure out what this is: (defpart 712 - :init-specs - ((sp-flt spt-fade-b -6.826667)) + :init-specs ((sp-flt spt-fade-b -6.826667)) ) ;; failed to figure out what this is: (defpart 706 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1069547520 1 1.0) (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) (sp-rnd-flt spt-z (meters -0.35) (meters 0.7) 1.0) @@ -101,14 +97,12 @@ ;; failed to figure out what this is: (defpart 713 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) ;; failed to figure out what this is: (defpart 708 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-flt spt-y (meters 1)) @@ -132,8 +126,7 @@ ;; failed to figure out what this is: (defpart 709 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) (sp-flt spt-y (meters 0.5)) @@ -157,8 +150,7 @@ ;; failed to figure out what this is: (defpart 710 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0) (sp-flt spt-y (meters 0.6)) @@ -182,8 +174,7 @@ ;; failed to figure out what this is: (defpart 707 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.3)) @@ -217,8 +208,7 @@ (defpartgroup group-cave-cavedrip-1 :id 319 :bounds (static-bspherem 0 8 0 8.25) - :parts - ((sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 369 :length 5) + :parts ((sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 369 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 768 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 1167 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 1701 :length 5) @@ -231,8 +221,7 @@ (defpartgroup group-cave-cavedrip-2 :id 320 :bounds (static-bspherem 0 8 0 8.25) - :parts - ((sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 467 :length 5) + :parts ((sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 467 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 834 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 984 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 2237 :length 5) @@ -245,8 +234,7 @@ (defpartgroup group-cave-cavedrip-3 :id 321 :bounds (static-bspherem 0 8 0 8.25) - :parts - ((sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 801 :length 5) + :parts ((sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 801 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 867 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 1269 :length 5) (sp-item 2230 :fade-after (meters 60) :falloff-to (meters 60) :period 1983 :length 5) @@ -257,8 +245,7 @@ ;; failed to figure out what this is: (defpart 2231 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-flt spt-num 3.0 4.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -278,8 +265,7 @@ ;; failed to figure out what this is: (defpart 2232 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.02)) (sp-flt spt-scale-x (meters 0.5)) @@ -299,8 +285,7 @@ ;; failed to figure out what this is: (defpart 2230 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-func spt-birth-func 'birth-func-y->userdata) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 24)) @@ -323,8 +308,7 @@ ;; failed to figure out what this is: (defpart 2233 - :init-specs - ((sp-flt spt-fade-a 0.0)) + :init-specs ((sp-flt spt-fade-a 0.0)) ) ;; definition for function check-drop-level-maincave-drip @@ -332,13 +316,9 @@ (when (< (-> arg2 y) (-> arg1 user-float)) (let ((gp-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) - ) - ) + (if (< (rand-float-gen) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) (sp-launch-particles-var *sp-particle-system-2d* diff --git a/test/decompiler/reference/levels/maincave/mother-spider-egg_REF.gc b/test/decompiler/reference/levels/maincave/mother-spider-egg_REF.gc index 0cc3367df7..bbb9b630a2 100644 --- a/test/decompiler/reference/levels/maincave/mother-spider-egg_REF.gc +++ b/test/decompiler/reference/levels/maincave/mother-spider-egg_REF.gc @@ -76,16 +76,14 @@ :linger-duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2018 :fade-after (meters 50) :falloff-to (meters 50)) + :parts ((sp-item 2018 :fade-after (meters 50) :falloff-to (meters 50)) (sp-item 2071 :fade-after (meters 50) :falloff-to (meters 50)) ) ) ;; failed to figure out what this is: (defpart 2071 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 16.0) (sp-flt spt-y (meters 0.5)) (sp-flt spt-scale-x (meters 0.1)) @@ -105,8 +103,7 @@ ;; failed to figure out what this is: (defpart 2072 - :init-specs - ((sp-flt spt-scale-x (meters 0.1)) + :init-specs ((sp-flt spt-scale-x (meters 0.1)) (sp-flt spt-scale-y (meters 2)) (sp-flt spt-scalevel-y (meters 0.2)) (sp-flt spt-fade-a -1.4222223) @@ -115,8 +112,7 @@ ;; failed to figure out what this is: (defpart 2018 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0) @@ -144,8 +140,7 @@ ;; failed to figure out what this is: (defpart 2073 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) ;; failed to figure out what this is: @@ -155,14 +150,12 @@ :linger-duration 375 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2074 :fade-after (meters 50) :falloff-to (meters 50))) + :parts ((sp-item 2074 :fade-after (meters 50) :falloff-to (meters 50))) ) ;; failed to figure out what this is: (defpart 2074 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 2) 1.0) @@ -240,21 +233,18 @@ ;; failed to figure out what this is: (defstate mother-spider-egg-falling (mother-spider-egg) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (go mother-spider-egg-die-while-falling) ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self falling-start-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (fmin (the float (- (-> *display* base-frame-counter) (-> self falling-start-time))) (-> self traj time)) ) @@ -273,8 +263,7 @@ (draw-egg-shadow self (-> self shadow-pos) #t) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 0) (loop (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) @@ -285,14 +274,12 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider-egg) transform-post) + :post (the-as (function none :behavior mother-spider-egg) transform-post) ) ;; failed to figure out what this is: (defstate mother-spider-egg-on-ground (mother-spider-egg) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'touch) @@ -312,24 +299,21 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (if (not (draw-egg-shadow self (-> self shadow-pos) #t)) (set! (-> self shadow-pos quad) (-> self fall-dest quad)) ) (none) ) - :trans - (behavior () + :trans (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 2)) (go mother-spider-egg-hatch) ) (draw-egg-shadow self (-> self shadow-pos) #f) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new 'stack-no-clear 'quaternion)) (s5-0 (new 'stack-no-clear 'quaternion)) @@ -365,14 +349,12 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider-egg) transform-post) + :post (the-as (function none :behavior mother-spider-egg) transform-post) ) ;; failed to figure out what this is: (defstate mother-spider-egg-hatch (mother-spider-egg) - :trans - (behavior () + :trans (behavior () (when (and (zero? (-> self draw cur-lod)) (logtest? (-> self draw status) (draw-status was-drawn))) (let ((a1-0 (new 'stack-no-clear 'vector))) (set! (-> a1-0 quad) (-> self fall-dest quad)) @@ -388,27 +370,19 @@ ) (none) ) - :code - (behavior () + :code (behavior () (send-event (ppointer->process (-> self parent-override)) 'trigger) (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 324) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 324) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (lods-assign! (-> self draw) (-> self broken-look)) (ja-channel-push! 1 (seconds 0.2)) @@ -424,14 +398,12 @@ (go mother-spider-egg-die-exit) (none) ) - :post - (the-as (function none :behavior mother-spider-egg) transform-post) + :post (the-as (function none :behavior mother-spider-egg) transform-post) ) ;; failed to figure out what this is: (defstate mother-spider-egg-die (mother-spider-egg) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (let ((v1-3 (-> self draw shadow-ctrl))) (logior! (-> v1-3 settings flags) (shadow-flags shdf05)) @@ -440,23 +412,16 @@ (lods-assign! (-> self draw) (-> self broken-look)) (ja-channel-push! 1 (seconds 0.1)) (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 325) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 325) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -466,14 +431,12 @@ (go mother-spider-egg-die-exit) (none) ) - :post - (the-as (function none :behavior mother-spider-egg) ja-post) + :post (the-as (function none :behavior mother-spider-egg) ja-post) ) ;; failed to figure out what this is: (defstate mother-spider-egg-die-while-falling (mother-spider-egg) - :trans - (behavior () + :trans (behavior () (let ((f0-2 (fmin (the float (- (-> *display* base-frame-counter) (-> self falling-start-time))) (-> self traj time)) ) @@ -482,31 +445,23 @@ ) (none) ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (clear-collide-with-as (-> self root-override)) (let ((v1-5 (-> self draw shadow-ctrl))) (logior! (-> v1-5 settings flags) (shadow-flags shdf05)) ) 0 - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 325) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 325) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (lods-assign! (-> self draw) (-> self broken-look)) (ja-channel-push! 1 (seconds 0.1)) @@ -518,14 +473,12 @@ (go mother-spider-egg-die-exit) (none) ) - :post - (the-as (function none :behavior mother-spider-egg) ja-post) + :post (the-as (function none :behavior mother-spider-egg) ja-post) ) ;; failed to figure out what this is: (defstate mother-spider-egg-die-exit (mother-spider-egg) - :code - (behavior () + :code (behavior () (send-event (ppointer->process (-> self parent-override)) 'untrigger) (logior! (-> self draw status) (draw-status hidden)) (let ((v1-8 (-> self draw shadow-ctrl))) diff --git a/test/decompiler/reference/levels/maincave/mother-spider-proj_REF.gc b/test/decompiler/reference/levels/maincave/mother-spider-proj_REF.gc index 92dcfa95bb..8261f393ce 100644 --- a/test/decompiler/reference/levels/maincave/mother-spider-proj_REF.gc +++ b/test/decompiler/reference/levels/maincave/mother-spider-proj_REF.gc @@ -26,8 +26,7 @@ :id 326 :duration 300 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 718 :flags (launch-asap) :binding 716) + :parts ((sp-item 718 :flags (launch-asap) :binding 716) (sp-item 716 :flags (start-dead) :binding 717) (sp-item 717 :flags (start-dead launch-asap)) (sp-item 717 :flags (start-dead launch-asap)) @@ -80,8 +79,7 @@ ;; failed to figure out what this is: (defpart 718 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.01)) (sp-copy-from-other spt-scale-y -4) @@ -94,8 +92,7 @@ ;; failed to figure out what this is: (defpart 716 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -121,14 +118,12 @@ ;; failed to figure out what this is: (defpart 720 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: (defpart 717 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 5.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -161,14 +156,12 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 722) (sp-item 723) (sp-item 724)) + :parts ((sp-item 722) (sp-item 723) (sp-item 724)) ) ;; failed to figure out what this is: (defpart 722 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 64.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -196,8 +189,7 @@ ;; failed to figure out what this is: (defpart 724 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -222,8 +214,7 @@ ;; failed to figure out what this is: (defpart 723 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -244,8 +235,7 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 722)) + :parts ((sp-item 722)) ) ;; definition for method 24 of type mother-spider-proj @@ -396,25 +386,17 @@ ;; failed to figure out what this is: (defstate projectile-impact (mother-spider-proj) :virtual #t - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 327) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 327) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (if (nonzero? (-> self sound-id)) (sound-stop (-> self sound-id)) @@ -429,25 +411,17 @@ ;; failed to figure out what this is: (defstate projectile-dissipate (mother-spider-proj) :virtual #t - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 328) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 328) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (if (nonzero? (-> self sound-id)) (sound-stop (-> self sound-id)) diff --git a/test/decompiler/reference/levels/maincave/mother-spider_REF.gc b/test/decompiler/reference/levels/maincave/mother-spider_REF.gc index 916f65de52..a23ea985f7 100644 --- a/test/decompiler/reference/levels/maincave/mother-spider_REF.gc +++ b/test/decompiler/reference/levels/maincave/mother-spider_REF.gc @@ -53,14 +53,12 @@ :id 614 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2477)) + :parts ((sp-item 2477)) ) ;; failed to figure out what this is: (defpart 2477 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.35) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -81,8 +79,7 @@ ;; failed to figure out what this is: (defstate mother-spider-leg-flying (mother-spider-leg) - :trans - (behavior () + :trans (behavior () (local-vars (at-0 int)) (rlet ((vf0 :class vf) (vf1 :class vf) @@ -144,8 +141,7 @@ (none) ) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 0) (let ((f30-0 (rand-vu-float-range 0.2 0.7))) (dotimes (gp-0 3) @@ -164,22 +160,19 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider-leg) ja-post) + :post (the-as (function none :behavior mother-spider-leg) ja-post) ) ;; failed to figure out what this is: (defstate wait-for-children (mother-spider) - :code - (behavior () + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (until (not (-> self child)) (suspend) ) (none) ) - :post - (the-as (function none :behavior mother-spider) ja-post) + :post (the-as (function none :behavior mother-spider) ja-post) ) ;; definition for function mother-spider-leg-init-by-other @@ -221,14 +214,12 @@ :id 618 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2498 :period 90 :length 30)) + :parts ((sp-item 2498 :period 90 :length 30)) ) ;; failed to figure out what this is: (defpart 2498 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.35) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -294,26 +285,20 @@ ) (('touch) (when (= (-> arg0 type) target) - (let ((a1-15 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-15 from) self) - (set! (-> a1-15 num-params) 2) - (set! (-> a1-15 message) 'attack) - (set! (-> a1-15 param 0) (-> arg3 param 0)) - (let ((v1-18 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-18 shove-up) 2048.0) - (set! (-> v1-18 shove-back) 8192.0) - (set! (-> a1-15 param 1) (the-as uint v1-18)) - ) - (when (send-event-function arg0 a1-15) - (let ((gp-2 (new 'stack-no-clear 'vector))) - (let ((v1-20 (target-pos 0))) - (vector-! gp-2 (-> self root-override trans) v1-20) + (when (send-event + arg0 + 'attack + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 0.5)) (shove-back (meters 2)))) ) - (set! (-> gp-2 y) 0.0) - (vector-normalize! gp-2 1.0) - (set! (-> self thread-vel) (+ -8192.0 (-> self thread-vel))) - (TODO-RENAME-21 self gp-2 40960.0 #f) + (let ((gp-2 (new 'stack-no-clear 'vector))) + (let ((v1-20 (target-pos 0))) + (vector-! gp-2 (-> self root-override trans) v1-20) ) + (set! (-> gp-2 y) 0.0) + (vector-normalize! gp-2 1.0) + (set! (-> self thread-vel) (+ -8192.0 (-> self thread-vel))) + (TODO-RENAME-21 self gp-2 40960.0 #f) ) ) ) @@ -373,15 +358,7 @@ (let ((s3-0 (new 'stack-no-clear 'baby-spider-spawn-params))) (init! s3-0 arg2 #f #t #f 7 1 'untrigger) (set-delay! s3-0 (seconds 9)) - (let ((s2-0 (get-process *default-dead-pool* baby-spider #x4000))) - (when s2-0 - (let ((t9-3 (method-of-type baby-spider activate))) - (t9-3 (the-as baby-spider s2-0) obj 'baby-spider (the-as pointer #x70004000)) - ) - (run-now-in-process s2-0 baby-spider-init-by-other obj arg0 arg1 s3-0) - (-> s2-0 ppointer) - ) - ) + (process-spawn baby-spider obj arg0 arg1 s3-0 :to obj) ) (let ((v0-5 (+ (-> obj baby-count) 1))) (set! (-> obj baby-count) v0-5) @@ -847,8 +824,7 @@ ;; failed to figure out what this is: (defstate mother-spider-idle (mother-spider) - :enter - (behavior () + :enter (behavior () (let ((v1-1 (-> self draw shadow-ctrl))) (logior! (-> v1-1 settings flags) (shadow-flags shdf05)) ) @@ -861,23 +837,20 @@ (logior! (-> self draw status) (draw-status hidden)) (none) ) - :exit - (behavior () + :exit (behavior () (restore-collide-with-as (-> self root-override)) (set! (-> self skel postbind-function) mother-spider-full-joint-callback) (logclear! (-> self mask) (process-mask actor-pause)) (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (if (grab-player? self) (go mother-spider-traveling (the-as uint 1)) ) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -888,10 +861,8 @@ ;; failed to figure out what this is: (defstate mother-spider-traveling (mother-spider) - :event - mother-spider-default-event-handler - :enter - (behavior ((arg0 uint)) + :event mother-spider-default-event-handler + :enter (behavior ((arg0 uint)) (is-player-stuck? self) (let ((v1-2 arg0)) (cond @@ -928,8 +899,7 @@ (set! (-> self going-up?) (< (-> self targ-dist-from-anchor) (-> self dist-from-anchor))) (none) ) - :trans - (behavior () + :trans (behavior () (let ((gp-0 (is-player-stuck? self)) (v1-1 (-> self mode)) ) @@ -984,8 +954,7 @@ (TODO-RENAME-29 self #t #t) (none) ) - :code - (behavior ((arg0 uint)) + :code (behavior ((arg0 uint)) (local-vars (v1-12 symbol) (v1-28 symbol)) (ja-channel-push! 1 (seconds 0.1)) (ja :group! mother-spider-lowering-ja :num! min) @@ -1012,29 +981,24 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider) transform-post) + :post (the-as (function none :behavior mother-spider) transform-post) ) ;; failed to figure out what this is: (defstate mother-spider-stop-traveling (mother-spider) - :event - mother-spider-default-event-handler - :enter - (behavior () + :event mother-spider-default-event-handler + :enter (behavior () (set! (-> self hit?) #f) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self hit?) (go mother-spider-hit-while-tracking) ) (TODO-RENAME-29 self #t #t) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! mother-spider-stopped-lowering-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1058,23 +1022,19 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider) transform-post) + :post (the-as (function none :behavior mother-spider) transform-post) ) ;; failed to figure out what this is: (defstate mother-spider-tracking (mother-spider) - :event - mother-spider-default-event-handler - :enter - (behavior () + :event mother-spider-default-event-handler + :enter (behavior () (set! (-> self hit?) #f) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self last-player-in-air-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self hit?) (go mother-spider-hit-while-tracking) ) @@ -1137,8 +1097,7 @@ (TODO-RENAME-29 self #t #t) (none) ) - :code - (behavior () + :code (behavior () (cond ((ja-group? mother-spider-idle-ja) (ja-no-eval :num! (seek!)) @@ -1160,21 +1119,17 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider) transform-post) + :post (the-as (function none :behavior mother-spider) transform-post) ) ;; failed to figure out what this is: (defstate mother-spider-hit-while-tracking (mother-spider) - :event - mother-spider-default-event-handler - :enter - (behavior () + :event mother-spider-default-event-handler + :enter (behavior () (set! (-> self hit?) #f) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self hit?) (go mother-spider-hit-while-tracking) ) @@ -1185,8 +1140,7 @@ (TODO-RENAME-29 self #t #t) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! mother-spider-takes-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1203,30 +1157,25 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider) transform-post) + :post (the-as (function none :behavior mother-spider) transform-post) ) ;; failed to figure out what this is: (defstate mother-spider-spit (mother-spider) - :event - mother-spider-default-event-handler - :enter - (behavior () + :event mother-spider-default-event-handler + :enter (behavior () (set! (-> self hit?) #f) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self hit?) (go mother-spider-hit-while-tracking) ) (TODO-RENAME-29 self #t #t) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.25)) (let ((gp-0 #f)) (ja-no-eval :group! mother-spider-spit-ja :num! (seek! max 1.5) :frame-num 0.0) @@ -1251,14 +1200,15 @@ (vector-normalize! s5-0 1.0) (vector-deg-seek s5-0 s2-0 s5-0 6371.5557) (vector-normalize-copy! s3-0 s5-0 32768.0) - (let ((gp-1 (get-process *default-dead-pool* mother-spider-proj #x4000))) - (when gp-1 - (let ((t9-12 (method-of-type mother-spider-proj activate))) - (t9-12 (the-as mother-spider-proj gp-1) self 'mother-spider-proj (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 projectile-init-by-other (-> self entity) s4-0 s3-0 0 (process->handle *target*)) - (-> gp-1 ppointer) - ) + (process-spawn + mother-spider-proj + :init projectile-init-by-other + (-> self entity) + s4-0 + s3-0 + 0 + (process->handle *target*) + :to self ) (set! gp-0 #t) (set! (-> self last-spit-time) (-> *display* base-frame-counter)) @@ -1285,22 +1235,18 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider) transform-post) + :post (the-as (function none :behavior mother-spider) transform-post) ) ;; failed to figure out what this is: (defstate mother-spider-birthing (mother-spider) - :event - mother-spider-default-event-handler - :enter - (behavior () + :event mother-spider-default-event-handler + :enter (behavior () (set! (-> self hit?) #f) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self hit?) (go mother-spider-hit-while-birthing) ) @@ -1324,8 +1270,7 @@ (TODO-RENAME-29 self #t #t) (none) ) - :code - (behavior () + :code (behavior () (cond ((ja-group? mother-spider-idle-ja) (ja-no-eval :num! (seek!)) @@ -1347,22 +1292,18 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider) transform-post) + :post (the-as (function none :behavior mother-spider) transform-post) ) ;; failed to figure out what this is: (defstate mother-spider-birth-baby (mother-spider) - :event - mother-spider-default-event-handler - :enter - (behavior () + :event mother-spider-default-event-handler + :enter (behavior () (set! (-> self hit?) #f) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self hit?) (go mother-spider-hit-while-birthing) ) @@ -1375,8 +1316,7 @@ (TODO-RENAME-29 self #t #t) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.25)) (let ((gp-0 #f)) (ja-no-eval :group! mother-spider-birth-ja :num! (seek! max 1.4) :frame-num 0.0) @@ -1387,22 +1327,7 @@ (s4-0 (new 'stack-no-clear 'vector)) ) (when (TODO-RENAME-20 self s5-0 s4-0) - (let ((s3-0 (get-process *default-dead-pool* mother-spider-egg #x4000))) - (when s3-0 - (let ((t9-5 (method-of-type mother-spider-egg activate))) - (t9-5 (the-as mother-spider-egg s3-0) self 'mother-spider-egg (the-as pointer #x70004000)) - ) - (run-now-in-process - s3-0 - mother-spider-egg-init-by-other - (-> self entity) - (-> self root-override trans) - s5-0 - s4-0 - ) - (-> s3-0 ppointer) - ) - ) + (process-spawn mother-spider-egg (-> self entity) (-> self root-override trans) s5-0 s4-0 :to self) (+! (-> self baby-count) 1) (+! (-> self birthing-counter) -1) (sound-play-by-name (static-sound-name "lay-eggs") (new-sound-id) 1024 0 0 1 #t) @@ -1416,8 +1341,7 @@ (go mother-spider-birthing) (none) ) - :post - (the-as (function none :behavior mother-spider) transform-post) + :post (the-as (function none :behavior mother-spider) transform-post) ) ;; definition for method 20 of type mother-spider @@ -1572,15 +1496,12 @@ ;; failed to figure out what this is: (defstate mother-spider-hit-while-birthing (mother-spider) - :event - mother-spider-default-event-handler - :enter - (behavior () + :event mother-spider-default-event-handler + :enter (behavior () (set! (-> self hit?) #f) (none) ) - :trans - (behavior () + :trans (behavior () (if (-> self hit?) (go mother-spider-hit-while-birthing) ) @@ -1590,8 +1511,7 @@ (TODO-RENAME-29 self #t #t) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! mother-spider-takes-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1608,16 +1528,13 @@ ) (none) ) - :post - (the-as (function none :behavior mother-spider) transform-post) + :post (the-as (function none :behavior mother-spider) transform-post) ) ;; failed to figure out what this is: (defstate mother-spider-die-from-uppercut (mother-spider) - :event - mother-spider-death-event-handler - :enter - (behavior () + :event mother-spider-death-event-handler + :enter (behavior () (shut-down! (-> self neck)) (set! (-> self thread-speed) 122880.0) (set! (-> self targ-dist-from-anchor) (+ -24576.0 (-> self dist-from-anchor))) @@ -1639,15 +1556,7 @@ (set! (-> s1-0 quad) (-> s2-0 quad)) (set! (-> s1-0 y) (+ 0.3 (-> s1-0 y))) (vector-normalize! s1-0 1.0) - (let ((s0-1 (get-process *default-dead-pool* mother-spider-leg #x4000))) - (when s0-1 - (let ((t9-6 (method-of-type mother-spider-leg activate))) - (t9-6 (the-as mother-spider-leg s0-1) self 'mother-spider-leg (the-as pointer #x70004000)) - ) - (run-now-in-process s0-1 mother-spider-leg-init-by-other self s3-0 s2-0 s1-0) - (-> s0-1 ppointer) - ) - ) + (process-spawn mother-spider-leg self s3-0 s2-0 s1-0 :to self) ) (+! s5-0 1) ) @@ -1655,13 +1564,11 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (TODO-RENAME-29 self #f #f) (none) ) - :code - (behavior () + :code (behavior () (let ((v1-2 (-> self entity extra perm))) (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) (set! (-> v1-2 user-int8 0) 1) @@ -1677,21 +1584,17 @@ (go mother-spider-die-wait-for-children) (none) ) - :post - (the-as (function none :behavior mother-spider) ja-post) + :post (the-as (function none :behavior mother-spider) ja-post) ) ;; failed to figure out what this is: (defstate mother-spider-die (mother-spider) - :event - mother-spider-death-event-handler - :trans - (behavior () + :event mother-spider-death-event-handler + :trans (behavior () (TODO-RENAME-29 self #f #f) (none) ) - :code - (behavior () + :code (behavior () (let ((v1-2 (-> self entity extra perm))) (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) (set! (-> v1-2 user-int8 0) 1) @@ -1708,16 +1611,13 @@ (go mother-spider-die-wait-for-children) (none) ) - :post - (the-as (function none :behavior mother-spider) ja-post) + :post (the-as (function none :behavior mother-spider) ja-post) ) ;; failed to figure out what this is: (defstate mother-spider-die-wait-for-children (mother-spider) - :event - mother-spider-death-event-handler - :code - (behavior () + :event mother-spider-death-event-handler + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (clear-collide-with-as (-> self root-override)) (set! (-> self skel postbind-function) #f) diff --git a/test/decompiler/reference/levels/maincave/spiderwebs_REF.gc b/test/decompiler/reference/levels/maincave/spiderwebs_REF.gc index 41d5d441aa..77672db819 100644 --- a/test/decompiler/reference/levels/maincave/spiderwebs_REF.gc +++ b/test/decompiler/reference/levels/maincave/spiderwebs_REF.gc @@ -66,17 +66,9 @@ (defbehavior spiderwebs-default-event-handler spiderwebs ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('bonk) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 3) - (set! (-> a1-1 message) 'jump) - (set! (-> a1-1 param 0) (the-as uint (-> self spring-height))) - (set! (-> a1-1 param 1) (the-as uint (-> self spring-height))) - (set! (-> a1-1 param 2) (the-as uint *spider-jump-mods*)) - (if (send-event-function arg0 a1-1) - (go spiderwebs-bounce) - ) - ) + (if (send-event arg0 'jump (-> self spring-height) (-> self spring-height) *spider-jump-mods*) + (go spiderwebs-bounce) + ) ) (('touch) (when (= (-> arg0 type) target) @@ -106,10 +98,8 @@ ;; failed to figure out what this is: (defstate spiderwebs-idle (spiderwebs) - :event - spiderwebs-default-event-handler - :code - (behavior () + :event spiderwebs-default-event-handler + :code (behavior () (logior! (-> self mask) (process-mask actor-pause)) (ja :group! spiderwebs-bounce-ja :num! min) (transform-post) @@ -123,8 +113,7 @@ ;; failed to figure out what this is: (defstate spiderwebs-bounce (spiderwebs) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (sound-play-by-name (static-sound-name "web-tramp") (new-sound-id) 1024 0 0 1 #t) (ja-no-eval :group! spiderwebs-bounce-ja :num! (seek! (ja-aframe 10.0 0)) :frame-num 0.0) @@ -141,8 +130,7 @@ (go spiderwebs-idle) (none) ) - :post - (the-as (function none :behavior spiderwebs) transform-post) + :post (the-as (function none :behavior spiderwebs) transform-post) ) ;; definition for method 11 of type spiderwebs diff --git a/test/decompiler/reference/levels/misty/babak-with-cannon_REF.gc b/test/decompiler/reference/levels/misty/babak-with-cannon_REF.gc index 289c10d689..be0920e535 100644 --- a/test/decompiler/reference/levels/misty/babak-with-cannon_REF.gc +++ b/test/decompiler/reference/levels/misty/babak-with-cannon_REF.gc @@ -33,13 +33,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-idle (babak-with-cannon) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior babak-with-cannon) nav-enemy-default-event-handler ) - :trans - (behavior () + :trans (behavior () (if (and (and *target* (>= (-> self enemy-info idle-distance) (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) ) @@ -50,8 +48,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! (-> self draw art-group data (-> self nav-info idle-anim)) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -62,20 +59,17 @@ nav-enemy-default-event-handler (anim-loop) (none) ) - :post - (the-as (function none :behavior babak-with-cannon) #f) + :post (the-as (function none :behavior babak-with-cannon) #f) ) ;; failed to figure out what this is: (defstate nav-enemy-patrol (babak-with-cannon) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior babak-with-cannon) nav-enemy-default-event-handler ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (let ((f30-0 (- (-> (target-pos 0) y) (-> self collide-info trans y)))) (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) @@ -102,26 +96,22 @@ nav-enemy-default-event-handler ) (none) ) - :code - (-> (method-of-type babak nav-enemy-patrol) code) + :code (-> (method-of-type babak nav-enemy-patrol) code) ) ;; failed to figure out what this is: (defstate babak-run-to-cannon (babak) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior babak) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self nav destination-pos quad) (-> self entity extra trans quad)) (set! (-> self nav target-pos quad) (-> self entity extra trans quad)) (none) ) - :trans - (behavior () + :trans (behavior () (if (nav-enemy-notice-player?) (go-virtual nav-enemy-chase) ) @@ -130,8 +120,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (loop (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) @@ -142,8 +131,7 @@ nav-enemy-default-event-handler ) (none) ) - :post - (behavior () + :post (behavior () (nav-enemy-travel-post) (none) ) @@ -204,18 +192,15 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate babak-with-cannon-jump-onto-cannon (babak-with-cannon) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior babak-with-cannon) nav-enemy-jump-event-handler ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self rotate-speed) (-> self nav-info run-rotate-speed)) (set! (-> self turn-time) (-> self nav-info run-turn-time)) @@ -277,24 +262,20 @@ nav-enemy-default-event-handler (go babak-with-cannon-shooting) (none) ) - :post - (the-as (function none :behavior babak-with-cannon) nav-enemy-jump-post) + :post (the-as (function none :behavior babak-with-cannon) nav-enemy-jump-post) ) ;; failed to figure out what this is: (defstate babak-with-cannon-jump-off-cannon (babak-with-cannon) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior babak-with-cannon) nav-enemy-jump-event-handler ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (nav-enemy-initialize-jump (-> self entity extra trans)) (nav-enemy-neck-control-look-at) @@ -316,19 +297,16 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-jump-land) (none) ) - :post - (the-as (function none :behavior babak-with-cannon) nav-enemy-jump-post) + :post (the-as (function none :behavior babak-with-cannon) nav-enemy-jump-post) ) ;; failed to figure out what this is: (defstate babak-with-cannon-shooting (babak-with-cannon) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior babak-with-cannon) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((v1-2 (entity-actor-lookup (-> self entity) 'alt-actor 0))) (if v1-2 @@ -337,8 +315,7 @@ nav-enemy-default-event-handler ) (none) ) - :exit - (behavior () + :exit (behavior () (let ((v1-0 (entity-actor-lookup (-> self entity) 'alt-actor 0))) (if v1-0 (logclear! (-> v1-0 extra perm status) (entity-perm-status complete)) @@ -346,8 +323,7 @@ nav-enemy-default-event-handler ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f0-1 (- (-> (target-pos 0) y) (-> self collide-info trans y)))) (if (and (< -40960.0 f0-1) (and (and *target* @@ -361,27 +337,23 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - babak-with-cannon-ride-cannon-post + :post babak-with-cannon-ride-cannon-post ) ;; failed to figure out what this is: (defstate nav-enemy-die (babak-with-cannon) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior babak-with-cannon) nav-enemy-default-event-handler ) - :trans - (behavior () + :trans (behavior () (if (and *target* (= (-> *target* current-level name) 'beach)) (spool-push *art-control* "beachcam-cannon" 0 self -1.0) ) @@ -400,13 +372,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-fuel-cell (babak-with-cannon) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior babak-with-cannon) process-drawable-fuel-cell-handler ) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (clear-collide-with-as (-> self collide-info)) (ja-post) diff --git a/test/decompiler/reference/levels/misty/balloonlurker_REF.gc b/test/decompiler/reference/levels/misty/balloonlurker_REF.gc index 5ca19b8c5c..f26148dd86 100644 --- a/test/decompiler/reference/levels/misty/balloonlurker_REF.gc +++ b/test/decompiler/reference/levels/misty/balloonlurker_REF.gc @@ -10,14 +10,12 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2015)) + :parts ((sp-item 2015)) ) ;; failed to figure out what this is: (defpart 2015 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 16)) @@ -39,8 +37,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 964 :period 1200 :length 30) + :parts ((sp-item 964 :period 1200 :length 30) (sp-item 965 :fade-after (meters 60) :period 1200 :length 15) (sp-item 966 :period 1200 :length 15 :offset 15) (sp-item 967 :period 1200 :length 15) @@ -66,8 +63,7 @@ ;; failed to figure out what this is: (defpart 964 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) @@ -95,14 +91,12 @@ ;; failed to figure out what this is: (defpart 969 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.32)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.32)) ) ;; failed to figure out what this is: (defpart 965 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0.75)) (sp-rnd-flt spt-scale-x (meters 8) (meters 8) 1.0) @@ -127,14 +121,12 @@ ;; failed to figure out what this is: (defpart 970 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) ;; failed to figure out what this is: (defpart 966 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 24) (meters 16) 1.0) @@ -151,8 +143,7 @@ ;; failed to figure out what this is: (defpart 967 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 24) (meters 16) 1.0) @@ -169,8 +160,7 @@ ;; failed to figure out what this is: (defpart 968 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 5.0 10.0 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) @@ -198,8 +188,7 @@ ;; failed to figure out what this is: (defpart 971 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0033333334)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0033333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r -4.266667) (sp-flt spt-fade-g 0.7111111) @@ -210,8 +199,7 @@ ;; failed to figure out what this is: (defpart 963 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.25) (meters 0.5) 1.0) @@ -514,17 +502,11 @@ (the-as uint 1) ) (do-push-aways! (-> self root-overlay)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'shove) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((v1-9 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-9 shove-back) 8192.0) - (set! (-> v1-9 shove-up) 2048.0) - (set! (-> a1-3 param 1) (the-as uint v1-9)) - ) - (send-event-function arg0 a1-3) + (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-back (meters 2)) (shove-up (meters 0.5)))) ) ) (dotimes (s4-0 2) @@ -542,25 +524,15 @@ (let ((a0-10 (find-prim-by-id (-> self root-overlay) (the-as uint s3-0)))) (when a0-10 (set! (-> self explosion-force-position quad) (-> a0-10 prim-core world-sphere quad)) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'attack) - (set! (-> a1-6 param 0) (-> arg3 param 0)) - (let ((a0-13 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-13 mode) 'balloonlurker) - (set! (-> a1-6 param 1) (the-as uint a0-13)) - ) - (if (send-event-function arg0 a1-6) - (level-hint-spawn - (game-text-id misty-daxter-hit-lurkers-not-mines) - "sksp0063" - (the-as entity #f) - *entity-pool* - (game-task none) - ) + (if (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'balloonlurker)))) + (level-hint-spawn + (game-text-id misty-daxter-hit-lurkers-not-mines) + "sksp0063" + (the-as entity #f) + *entity-pool* + (game-task none) ) - ) + ) (go balloonlurker-mine-explode s4-0) ) ) @@ -814,16 +786,13 @@ ;; failed to figure out what this is: (defstate balloonlurker-patrol (balloonlurker) - :event - balloonlurker-event-handler - :trans - (behavior () + :event balloonlurker-event-handler + :trans (behavior () (ja :num! (loop!)) (set! (-> self anim-frame) (ja-frame-num 0)) (none) ) - :code - (behavior () + :code (behavior () (when (not (ja-group? balloonlurker-idle-ja)) (ja-channel-push! 1 (seconds 0.07)) (ja :group! balloonlurker-idle-ja) @@ -833,36 +802,26 @@ (anim-loop) (none) ) - :post - balloonlurker-post + :post balloonlurker-post ) ;; failed to figure out what this is: (defstate balloonlurker-mine-explode (balloonlurker) - :event - balloonlurker-event-handler - :code - (behavior ((arg0 int)) + :event balloonlurker-event-handler + :code (behavior ((arg0 int)) (set! (-> self explosion-force-position quad) (-> self node-list data (-> self explosion-joint-index-bytes arg0) bone transform vector 3 quad) ) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - part-tracker-init - (-> *part-group-id-table* 204) - -1 - #f - #f - #f - (-> self explosion-force-position) - ) - (-> s5-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 204) + -1 + #f + #f + #f + (-> self explosion-force-position) + :to *entity-pool* ) (sound-play-by-name (static-sound-name "explosion") (new-sound-id) 1024 0 0 1 #t) (set! (-> self explosion) #t) @@ -882,23 +841,19 @@ ) (none) ) - :post - balloonlurker-post + :post balloonlurker-post ) ;; failed to figure out what this is: (defstate balloonlurker-die (balloonlurker) - :event - (the-as (function process int symbol event-message-block object :behavior balloonlurker) #f) - :enter - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior balloonlurker) #f) + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self vulnerable) #f) (set! (-> self dead) #t) (none) ) - :code - (behavior () + :code (behavior () (local-vars (v1-27 symbol) (sv-16 symbol) (sv-20 (pointer process-tree)) (sv-24 entity-actor)) (process-entity-status! self (entity-perm-status bit-4) #t) (process-entity-status! self (entity-perm-status dead) #t) @@ -951,8 +906,7 @@ ) (none) ) - :post - balloonlurker-post + :post balloonlurker-post ) ;; definition for method 7 of type balloonlurker @@ -978,8 +932,7 @@ ;; failed to figure out what this is: (defstate balloonlurker-pilot-idle (balloonlurker-pilot) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (send-event (ppointer->process (-> self parent-override)) 'die) @@ -987,8 +940,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja :group! balloonlurker-pilot-idle-ja) (ja :num-func num-func-identity :frame-num 0.0) @@ -998,8 +950,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (set! (-> self root-override trans quad) (-> self parent-override 0 root-overlay trans quad)) (quaternion-copy! (-> self root-override quat) (-> self parent-override 0 root-overlay quat)) (update-transforms! (-> self root-override)) @@ -1010,30 +961,21 @@ ;; failed to figure out what this is: (defstate balloonlurker-pilot-die (balloonlurker-pilot) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior balloonlurker-pilot) process-drawable-death-event-handler ) - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 203) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 203) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (TODO-RENAME-17 (-> self parent-override 0 rbody) @@ -1050,8 +992,7 @@ (cleanup-for-death self) (none) ) - :post - (behavior () + :post (behavior () (vector-v++! (-> self root-override transv) (compute-acc-due-to-gravity (-> self root-override) (new-stack-vector0) 0.0) @@ -1258,15 +1199,7 @@ (return #f) ) (else - (let ((s5-1 (get-process *default-dead-pool* balloonlurker-pilot #x4000))) - (when s5-1 - (let ((t9-6 (method-of-type balloonlurker-pilot activate))) - (t9-6 (the-as balloonlurker-pilot s5-1) obj 'balloonlurker-pilot (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 balloonlurker-pilot-init-by-other obj) - (-> s5-1 ppointer) - ) - ) + (process-spawn balloonlurker-pilot obj :to obj) (go balloonlurker-patrol) ) ) diff --git a/test/decompiler/reference/levels/misty/bonelurker_REF.gc b/test/decompiler/reference/levels/misty/bonelurker_REF.gc index 02dc0e927e..d69678befc 100644 --- a/test/decompiler/reference/levels/misty/bonelurker_REF.gc +++ b/test/decompiler/reference/levels/misty/bonelurker_REF.gc @@ -92,17 +92,7 @@ (-> obj collide-info) (the-as uint 2) ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'shove) - (set! (-> a1-3 param 0) (-> arg1 param 0)) - (let ((v1-19 (new 'static 'attack-info :mask #x40))) - (set! (-> v1-19 shove-back) 16384.0) - (set! (-> a1-3 param 1) (the-as uint v1-19)) - ) - (send-event-function arg0 a1-3) - ) + (send-event arg0 'shove (-> arg1 param 0) (static-attack-info ((shove-back (meters 4))))) (go bonelurker-stun) #t ) @@ -120,17 +110,7 @@ (or (= v1-30 (-> obj draw art-group data 9)) (= v1-30 (-> obj draw art-group data 10))) ) ) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) pp) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'shove) - (set! (-> a1-6 param 0) (-> arg1 param 0)) - (let ((v1-36 (new 'static 'attack-info :mask #x40))) - (set! (-> v1-36 shove-back) 16384.0) - (set! (-> a1-6 param 1) (the-as uint v1-36)) - ) - (send-event-function arg0 a1-6) - ) + (send-event arg0 'shove (-> arg1 param 0) (static-attack-info ((shove-back (meters 4))))) (set! (-> obj bump-player-time) (-> *display* base-frame-counter)) (logclear! (-> obj nav-enemy-flags) (nav-enemy-flags navenmf6)) 'push @@ -197,18 +177,15 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-idle (bonelurker) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bonelurker) nav-enemy-default-event-handler ) - :exit - (behavior () + :exit (behavior () (bonelurker-set-large-bounds-sphere) (none) ) - :code - (behavior () + :code (behavior () (bonelurker-set-small-bounds-sphere) ((the-as (function none :behavior bonelurker) (-> (method-of-type nav-enemy nav-enemy-idle) code))) (none) @@ -218,13 +195,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-patrol (bonelurker) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bonelurker) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) ((the-as (function none :behavior bonelurker) (-> (method-of-type nav-enemy nav-enemy-patrol) code))) (none) @@ -234,25 +209,21 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-notice (bonelurker) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bonelurker) nav-enemy-default-event-handler ) - :code - (-> (method-of-type nav-enemy nav-enemy-notice) code) + :code (-> (method-of-type nav-enemy nav-enemy-notice) code) ) ;; failed to figure out what this is: (defstate nav-enemy-chase (bonelurker) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bonelurker) nav-enemy-default-event-handler ) - :trans - (behavior () + :trans (behavior () ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) (if (and (zero? (logand (-> self nav-enemy-flags) (nav-enemy-flags navenmf6))) (>= (- (-> *display* base-frame-counter) (-> self bump-player-time)) (seconds 0.5)) @@ -261,8 +232,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 524288.0) (set! (-> self turn-time) (seconds 0.1)) (set! (-> self speed-scale) 1.0) @@ -332,25 +302,21 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-stop-chase (bonelurker) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bonelurker) nav-enemy-default-event-handler ) - :code - (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) + :code (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) ) ;; failed to figure out what this is: (defstate nav-enemy-stare (bonelurker) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bonelurker) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 524288.0) (set! (-> self turn-time) (seconds 0.2)) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) @@ -399,13 +365,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-give-up (bonelurker) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bonelurker) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 524288.0) (set! (-> self turn-time) (seconds 0.1)) (ja-channel-push! 1 (seconds 0.15)) @@ -455,31 +419,25 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-victory (bonelurker) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bonelurker) nav-enemy-default-event-handler ) - :code - (-> (method-of-type nav-enemy nav-enemy-victory) code) + :code (-> (method-of-type nav-enemy nav-enemy-victory) code) ) ;; failed to figure out what this is: (defstate bonelurker-stun (bonelurker) - :event - bonelurker-stunned-event-handler - :enter - (behavior () + :event bonelurker-stunned-event-handler + :enter (behavior () (nav-enemy-neck-control-inactive) (none) ) - :exit - (behavior () + :exit (behavior () (nav-enemy-neck-control-look-at) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) (vector-normalize-copy! gp-0 (-> self hit-from-dir) 16384.0) (vector+! gp-0 (-> self collide-info trans) gp-0) @@ -494,8 +452,7 @@ nav-enemy-default-event-handler (go-virtual nav-enemy-chase) (none) ) - :post - bonelurker-push-post + :post bonelurker-push-post ) ;; definition for symbol *bonelurker-nav-enemy-info*, type nav-enemy-info diff --git a/test/decompiler/reference/levels/misty/misty-conveyor_REF.gc b/test/decompiler/reference/levels/misty/misty-conveyor_REF.gc index 4644a1f388..60fa43ba3d 100644 --- a/test/decompiler/reference/levels/misty/misty-conveyor_REF.gc +++ b/test/decompiler/reference/levels/misty/misty-conveyor_REF.gc @@ -12,14 +12,12 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2014 :fade-after (meters 100) :falloff-to (meters 100))) + :parts ((sp-item 2014 :fade-after (meters 100) :falloff-to (meters 100))) ) ;; failed to figure out what this is: (defpart 2014 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-x (meters -3) (meters 6) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -172,41 +170,25 @@ ;; INFO: Return type mismatch none vs object. (defbehavior keg-event-handler keg ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as - object - (when (or (= v1-0 'touch) (= v1-0 'attack)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (set! (-> a1-3 param 1) (the-as uint (new 'static 'attack-info))) - (when (send-event-function arg0 a1-3) - (sound-play-by-name (static-sound-name "icrate-break") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 71) - 20 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) - ) - (sound-stop (-> self sound-id)) - (deactivate self) + (the-as object (when (or (= v1-0 'touch) (= v1-0 'attack)) + (when (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) + (sound-play-by-name (static-sound-name "icrate-break") (new-sound-id) 1024 0 0 1 #t) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 71) + 20 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* + ) + (sound-stop (-> self sound-id)) + (deactivate self) + ) + ) ) - ) - ) - ) ) ) @@ -234,16 +216,14 @@ ;; failed to figure out what this is: (defstate keg-on-paddle (keg) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('detach) (go keg-paddle-to-path) ) ) ) - :code - (behavior () + :code (behavior () (set! (-> (the-as keg (-> self parent 0)) sync-offset) (the-as float (process->ppointer self))) (ja :num-func num-func-identity :frame-num 0.0) (loop @@ -257,16 +237,13 @@ ) (none) ) - :post - (the-as (function none :behavior keg) keg-post) + :post (the-as (function none :behavior keg) keg-post) ) ;; failed to figure out what this is: (defstate keg-paddle-to-path (keg) - :event - keg-event-handler - :code - (behavior () + :event keg-event-handler + :code (behavior () (let ((gp-0 (new-stack-vector0))) (set! (-> gp-0 quad) (-> self root-override trans quad)) (let ((s5-0 @@ -296,16 +273,13 @@ ) (none) ) - :post - (the-as (function none :behavior keg) keg-post) + :post (the-as (function none :behavior keg) keg-post) ) ;; failed to figure out what this is: (defstate keg-on-path (keg) - :event - keg-event-handler - :code - (behavior () + :event keg-event-handler + :code (behavior () (local-vars (sv-48 float) (sv-64 float) (sv-80 float) (sv-96 float) (sv-112 float)) (let ((gp-0 (new-stack-vector0)) (s5-0 (new 'stack 'vector3s)) @@ -386,23 +360,16 @@ (activate! (-> self smush) -0.15 90 150 1.0 1.0) (set! sv-64 f24-0) (sound-play-by-name (static-sound-name "barrel-bounce") (new-sound-id) 819 0 0 1 #t) - (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-1 - (let ((t9-12 (method-of-type part-tracker activate))) - (t9-12 (the-as part-tracker s4-1) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s4-1 - part-tracker-init - (-> *part-group-id-table* 197) - -1 - keg-bounce-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root-override trans) - ) - (-> s4-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 197) + -1 + keg-bounce-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root-override trans) + :to self ) ) (let ((f0-39 (update! (-> self smush)))) @@ -423,16 +390,13 @@ ) (none) ) - :post - (the-as (function none :behavior keg) keg-post) + :post (the-as (function none :behavior keg) keg-post) ) ;; failed to figure out what this is: (defstate keg-in-chute (keg) - :event - keg-event-handler - :code - (behavior () + :event keg-event-handler + :code (behavior () (let ((gp-0 (TODO-RENAME-12 (-> (the-as process-drawable (-> self parent 0)) path) (new-stack-vector0) @@ -467,22 +431,18 @@ ) (none) ) - :post - (the-as (function none :behavior keg) keg-post) + :post (the-as (function none :behavior keg) keg-post) ) ;; failed to figure out what this is: (defstate keg-die (keg) - :event - (the-as (function process int symbol event-message-block object :behavior keg) #f) - :code - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior keg) #f) + :code (behavior () (sound-stop (-> self sound-id)) (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior keg) transform-post) + :post (the-as (function none :behavior keg) transform-post) ) ;; definition for function keg-init-by-other @@ -541,40 +501,25 @@ ) ;; definition for function keg-conveyor-spawn-keg +;; INFO: Return type mismatch (pointer process) vs (pointer keg). (defun keg-conveyor-spawn-keg ((arg0 keg-conveyor)) - (let ((s5-0 (get-process *default-dead-pool* keg #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type keg activate))) - (t9-1 (the-as keg s5-0) arg0 'keg (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 keg-init-by-other arg0 0) - (-> s5-0 ppointer) - ) - ) + (process-spawn keg arg0 0 :to arg0) ) ;; definition for function keg-conveyor-spawn-bouncing-keg +;; INFO: Return type mismatch (pointer process) vs (pointer keg). (defun keg-conveyor-spawn-bouncing-keg ((arg0 keg-conveyor)) - (let ((s5-0 (get-process *default-dead-pool* keg #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type keg activate))) - (t9-1 (the-as keg s5-0) arg0 'keg (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 keg-init-by-other arg0 1) - (-> s5-0 ppointer) - ) - ) + (process-spawn keg arg0 1 :to arg0) ) ;; definition for symbol *keg-conveyor-keg-spawn-table*, type (array int8) (define *keg-conveyor-keg-spawn-table* - (the-as (array int8) (new 'static 'boxed-array :type int8 :length 6 :allocated-length 6 1 2 1 1 2 1)) + (the-as (array int8) (new 'static 'boxed-array :type int8 1 2 1 1 2 1)) ) ;; failed to figure out what this is: (defstate keg-conveyor-idle (keg-conveyor) - :code - (behavior () + :code (behavior () (ja :num-func num-func-identity :frame-num 0.0) 0.0 (loop @@ -582,14 +527,12 @@ ) (none) ) - :post - (the-as (function none :behavior keg-conveyor) ja-post) + :post (the-as (function none :behavior keg-conveyor) ja-post) ) ;; failed to figure out what this is: (defstate keg-conveyor-paddle-idle (keg-conveyor-paddle) - :code - (behavior () + :code (behavior () (let ((f30-0 57.0) (gp-0 0) (s5-0 (length *keg-conveyor-keg-spawn-table*)) @@ -651,8 +594,7 @@ ) (none) ) - :post - (the-as (function none :behavior keg-conveyor-paddle) transform-post) + :post (the-as (function none :behavior keg-conveyor-paddle) transform-post) ) ;; definition for function keg-conveyor-paddle-init-by-other @@ -730,15 +672,7 @@ ) (vector+! (-> obj root trans) (-> obj root trans) s5-1) ) - (let ((s5-2 (get-process *default-dead-pool* keg-conveyor-paddle #x4000))) - (when s5-2 - (let ((t9-11 (method-of-type keg-conveyor-paddle activate))) - (t9-11 (the-as keg-conveyor-paddle s5-2) obj 'keg-conveyor-paddle (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 keg-conveyor-paddle-init-by-other obj) - (-> s5-2 ppointer) - ) - ) + (process-spawn keg-conveyor-paddle obj :to obj) (go keg-conveyor-idle) (none) ) diff --git a/test/decompiler/reference/levels/misty/misty-obs_REF.gc b/test/decompiler/reference/levels/misty/misty-obs_REF.gc index ba9a130b1c..cbbd684423 100644 --- a/test/decompiler/reference/levels/misty/misty-obs_REF.gc +++ b/test/decompiler/reference/levels/misty/misty-obs_REF.gc @@ -14,8 +14,7 @@ (defpartgroup group-windturbine-particles :id 191 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 908 :fade-after (meters 60) :period 1212 :length 10) + :parts ((sp-item 908 :fade-after (meters 60) :period 1212 :length 10) (sp-item 908 :fade-after (meters 60) :period 5790 :length 10) (sp-item 908 :fade-after (meters 60) :period 4988 :length 10) (sp-item 908 :fade-after (meters 60) :period 3510 :length 10) @@ -36,8 +35,7 @@ ;; failed to figure out what this is: (defpart 910 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.066 0.066 1.0) (sp-flt spt-x (meters -4)) (sp-rnd-flt spt-y (meters -2) (meters 0.5) 1.0) @@ -62,14 +60,12 @@ ;; failed to figure out what this is: (defpart 912 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 240) (sp-launcher-by-id spt-next-launcher 913)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 240) (sp-launcher-by-id spt-next-launcher 913)) ) ;; failed to figure out what this is: (defpart 913 - :init-specs - ((sp-flt spt-vel-x (meters -0.06666667)) + :init-specs ((sp-flt spt-vel-x (meters -0.06666667)) (sp-flt spt-vel-y (meters 0.0033333334)) (sp-flt spt-scalevel-x (meters 0.016666668)) (sp-copy-from-other spt-scalevel-y -4) @@ -80,8 +76,7 @@ ;; failed to figure out what this is: (defpart 911 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.066 0.066 1.0) (sp-flt spt-x (meters -4)) (sp-rnd-flt spt-y (meters -2) (meters 0.5) 1.0) @@ -106,8 +101,7 @@ ;; failed to figure out what this is: (defpart 908 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 8.0 24.0 1.0) (sp-flt spt-x (meters -4)) (sp-rnd-flt spt-y (meters -4.5) (meters 1) 1.0) @@ -135,8 +129,7 @@ ;; failed to figure out what this is: (defpart 909 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 8.0 24.0 1.0) (sp-flt spt-x (meters -4)) (sp-rnd-flt spt-y (meters -4.5) (meters 1) 1.0) @@ -168,8 +161,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 24) - :parts - ((sp-item 914 :period 780 :length 15) + :parts ((sp-item 914 :period 780 :length 15) (sp-item 915 :period 780 :length 15) (sp-item 916 :period 780 :length 64) (sp-item 917 :period 780 :length 32 :offset 65131) @@ -182,8 +174,7 @@ ;; failed to figure out what this is: (defpart 921 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -212,8 +203,7 @@ ;; failed to figure out what this is: (defpart 920 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-x (meters 2.5)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) @@ -241,8 +231,7 @@ ;; failed to figure out what this is: (defpart 919 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -271,8 +260,7 @@ ;; failed to figure out what this is: (defpart 918 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -302,14 +290,12 @@ ;; failed to figure out what this is: (defpart 922 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 917 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0) (sp-rnd-flt spt-z (meters -5) (meters 10) 1.0) @@ -334,8 +320,7 @@ ;; failed to figure out what this is: (defpart 914 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 1.0) @@ -362,8 +347,7 @@ ;; failed to figure out what this is: (defpart 915 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.2) 1.0) @@ -390,14 +374,12 @@ ;; failed to figure out what this is: (defpart 923 - :init-specs - ((sp-flt spt-fade-a -3.2)) + :init-specs ((sp-flt spt-fade-a -3.2)) ) ;; failed to figure out what this is: (defpart 916 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -3.5) (meters 4.5) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 12) 1.0) @@ -425,8 +407,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 24) - :parts - ((sp-item 914 :period 780 :length 15) + :parts ((sp-item 914 :period 780 :length 15) (sp-item 915 :period 780 :length 15) (sp-item 924 :period 780 :length 64) (sp-item 925 :period 780 :length 32 :offset 65131) @@ -439,8 +420,7 @@ ;; failed to figure out what this is: (defpart 929 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -469,8 +449,7 @@ ;; failed to figure out what this is: (defpart 928 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-x (meters 2.5)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) @@ -498,8 +477,7 @@ ;; failed to figure out what this is: (defpart 927 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -528,8 +506,7 @@ ;; failed to figure out what this is: (defpart 926 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -559,8 +536,7 @@ ;; failed to figure out what this is: (defpart 925 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0) (sp-rnd-flt spt-z (meters -5) (meters 10) 1.0) @@ -585,8 +561,7 @@ ;; failed to figure out what this is: (defpart 924 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -3.5) (meters 4.5) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 12) 1.0) @@ -614,8 +589,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 24) - :parts - ((sp-item 914 :period 780 :length 15) + :parts ((sp-item 914 :period 780 :length 15) (sp-item 915 :period 780 :length 15) (sp-item 930 :period 780 :length 64) (sp-item 931 :period 780 :length 32 :offset 65131) @@ -628,8 +602,7 @@ ;; failed to figure out what this is: (defpart 935 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -658,8 +631,7 @@ ;; failed to figure out what this is: (defpart 934 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-x (meters 2.5)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) @@ -687,8 +659,7 @@ ;; failed to figure out what this is: (defpart 933 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -717,8 +688,7 @@ ;; failed to figure out what this is: (defpart 932 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -748,8 +718,7 @@ ;; failed to figure out what this is: (defpart 931 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0) (sp-rnd-flt spt-z (meters -5) (meters 10) 1.0) @@ -774,8 +743,7 @@ ;; failed to figure out what this is: (defpart 930 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -3.5) (meters 4.5) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 12) 1.0) @@ -803,8 +771,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 24) - :parts - ((sp-item 914 :period 780 :length 15) + :parts ((sp-item 914 :period 780 :length 15) (sp-item 915 :period 780 :length 15) (sp-item 936 :period 780 :length 64) (sp-item 937 :period 780 :length 32 :offset 65131) @@ -817,8 +784,7 @@ ;; failed to figure out what this is: (defpart 941 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -847,8 +813,7 @@ ;; failed to figure out what this is: (defpart 940 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-x (meters 2.5)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) @@ -876,8 +841,7 @@ ;; failed to figure out what this is: (defpart 939 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -906,8 +870,7 @@ ;; failed to figure out what this is: (defpart 938 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) @@ -937,8 +900,7 @@ ;; failed to figure out what this is: (defpart 937 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0) (sp-rnd-flt spt-z (meters -5) (meters 10) 1.0) @@ -963,8 +925,7 @@ ;; failed to figure out what this is: (defpart 936 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -3.5) (meters 4.5) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 12) 1.0) @@ -990,14 +951,12 @@ (defpartgroup group-misty-boat-paddle :id 196 :bounds (static-bspherem 0 0 0 15) - :parts - ((sp-item 944 :fade-after (meters 100))) + :parts ((sp-item 944 :fade-after (meters 100))) ) ;; failed to figure out what this is: (defpart 944 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-x (meters -11) (meters 22) 1.0) (sp-flt spt-y (meters 0)) @@ -1022,14 +981,12 @@ ;; failed to figure out what this is: (defpart 945 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) ;; failed to figure out what this is: (defpart 943 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-x (meters -9) (meters 18) 1.0) (sp-flt spt-scale-x (meters 0.5)) @@ -1055,14 +1012,12 @@ ;; failed to figure out what this is: (defpart 946 - :init-specs - ((sp-flt spt-fade-a -2.0)) + :init-specs ((sp-flt spt-fade-a -2.0)) ) ;; failed to figure out what this is: (defpart 942 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -11) (meters 22) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1088,14 +1043,12 @@ ;; failed to figure out what this is: (defpart 947 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 60) (sp-launcher-by-id spt-next-launcher 948)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 60) (sp-launcher-by-id spt-next-launcher 948)) ) ;; failed to figure out what this is: (defpart 948 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) ;; definition of type boatpaddle @@ -1126,8 +1079,7 @@ ;; failed to figure out what this is: (defstate boatpaddle-idle (boatpaddle) - :code - (behavior () + :code (behavior () (local-vars (s4-0 int)) (loop (quaternion-rotate-local-x! @@ -1152,8 +1104,7 @@ ) (none) ) - :post - (the-as (function none :behavior boatpaddle) ja-post) + :post (the-as (function none :behavior boatpaddle) ja-post) ) ;; definition for method 11 of type boatpaddle @@ -1201,8 +1152,7 @@ ;; failed to figure out what this is: (defstate windturbine-idle (windturbine) - :code - (behavior () + :code (behavior () (loop (let* ((a0-0 (-> self root trans)) (f2-0 @@ -1227,8 +1177,7 @@ ) (none) ) - :post - (the-as (function none :behavior windturbine) ja-post) + :post (the-as (function none :behavior windturbine) ja-post) ) ;; definition for method 11 of type windturbine @@ -1304,17 +1253,10 @@ ) (cond ((and (< 0.0 f1-1) (< (fabs (* 0.5 f0-3)) f1-1)) - (let ((a1-9 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-9 from) self) - (set! (-> a1-9 num-params) 2) - (set! (-> a1-9 message) 'query) - (set! (-> a1-9 param 0) (the-as uint 'powerup)) - (set! (-> a1-9 param 1) (the-as uint 2)) - (if (send-event-function *target* a1-9) - (go mis-bone-bridge-fall #f) - (go mis-bone-bridge-hit) - ) - ) + (if (send-event *target* 'query 'powerup (pickup-type eco-red)) + (go mis-bone-bridge-fall #f) + (go mis-bone-bridge-hit) + ) ) (else (go mis-bone-bridge-bump) @@ -1330,10 +1272,8 @@ ;; failed to figure out what this is: (defstate mis-bone-bridge-idle (mis-bone-bridge) - :event - mis-bone-bridge-event-handler - :code - (behavior () + :event mis-bone-bridge-event-handler + :code (behavior () (ja :num-func num-func-identity :frame-num 0.0) (loop (if (and *target* (>= 32768.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) @@ -1349,18 +1289,14 @@ ) (none) ) - :post - (the-as (function none :behavior mis-bone-bridge) transform-post) + :post (the-as (function none :behavior mis-bone-bridge) transform-post) ) ;; failed to figure out what this is: (defstate mis-bone-bridge-bump (mis-bone-bridge) - :event - mis-bone-bridge-event-handler - :trans - (the-as (function none :behavior mis-bone-bridge) rider-trans) - :code - (behavior () + :event mis-bone-bridge-event-handler + :trans (the-as (function none :behavior mis-bone-bridge) rider-trans) + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -1369,18 +1305,14 @@ (go mis-bone-bridge-idle) (none) ) - :post - (the-as (function none :behavior mis-bone-bridge) rider-post) + :post (the-as (function none :behavior mis-bone-bridge) rider-post) ) ;; failed to figure out what this is: (defstate mis-bone-bridge-hit (mis-bone-bridge) - :event - mis-bone-bridge-event-handler - :trans - (the-as (function none :behavior mis-bone-bridge) rider-trans) - :code - (behavior () + :event mis-bone-bridge-event-handler + :trans (the-as (function none :behavior mis-bone-bridge) rider-trans) + :code (behavior () (+! (-> self hit-points) -1) (if (zero? (-> self hit-points)) (go mis-bone-bridge-fall #f) @@ -1393,26 +1325,25 @@ (go mis-bone-bridge-idle) (none) ) - :post - (the-as (function none :behavior mis-bone-bridge) rider-post) + :post (the-as (function none :behavior mis-bone-bridge) rider-post) ) ;; failed to figure out what this is: (defstate mis-bone-bridge-fall (mis-bone-bridge) - :trans - (the-as (function none :behavior mis-bone-bridge) rider-trans) - :code - (behavior ((arg0 symbol)) + :trans (the-as (function none :behavior mis-bone-bridge) rider-trans) + :code (behavior ((arg0 symbol)) (process-entity-status! self (entity-perm-status complete) #t) (when (not arg0) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 part-tracker-init (-> self particle-group) -1 #f #f #f (-> self root-override trans)) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> self particle-group) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (ja-no-eval :group! (-> self draw art-group data (-> self fall-anim-index)) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1420,18 +1351,15 @@ (ja :num! (seek!)) ) ) - (ja :group! - (-> self draw art-group data (-> self fall-anim-index)) - :num! - (identity (the float (+ (-> (ja-group) data 0 length) -1))) + (ja :group! (-> self draw art-group data (-> self fall-anim-index)) + :num! (identity (the float (+ (-> (ja-group) data 0 length) -1))) ) (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior mis-bone-bridge) rider-post) + :post (the-as (function none :behavior mis-bone-bridge) rider-post) ) ;; definition for method 11 of type mis-bone-bridge @@ -1539,19 +1467,16 @@ ;; failed to figure out what this is: (defstate breakaway-idle (breakaway) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) (go breakaway-about-to-fall) ) ) ) - :code - (the-as (function none :behavior breakaway) anim-loop) - :post - (the-as (function none :behavior breakaway) transform-post) + :code (the-as (function none :behavior breakaway) anim-loop) + :post (the-as (function none :behavior breakaway) transform-post) ) ;; definition for function actor-wait-for-period @@ -1566,8 +1491,7 @@ ;; failed to figure out what this is: (defstate breakaway-about-to-fall (breakaway) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "falling-bones") (new-sound-id) 1024 0 0 1 #t) (sp-launch-particles-var *sp-particle-system-2d* @@ -1597,14 +1521,12 @@ ) (none) ) - :post - (the-as (function none :behavior breakaway) rider-post) + :post (the-as (function none :behavior breakaway) rider-post) ) ;; failed to figure out what this is: (defstate breakaway-fall (breakaway) - :code - (behavior () + :code (behavior () (let ((f30-0 0.0) (f28-0 0.0) (f26-0 (* 0.1 (- (-> *standard-dynamics* gravity-length)))) @@ -1621,8 +1543,7 @@ (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior breakaway) rider-post) + :post (the-as (function none :behavior breakaway) rider-post) ) ;; definition for method 20 of type breakaway @@ -1840,32 +1761,27 @@ ;; failed to figure out what this is: (defstate rigid-body-platform-idle (bone-platform) :virtual #t - :enter - (behavior () + :enter (behavior () (ja-channel-set! 0) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior bone-platform) ja-post) + :post (the-as (function none :behavior bone-platform) ja-post) ) ;; failed to figure out what this is: (defstate rigid-body-platform-float (bone-platform) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior bone-platform) rigid-body-platform-event-handler ) - :trans - (behavior () + :trans (behavior () (-> self entity extra trans y) (cond ((or (not *target*) (< (-> self info idle-distance) @@ -1885,8 +1801,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja :group! (-> self draw art-group data 2)) (ja :num-func num-func-identity :frame-num 0.0) @@ -1895,8 +1810,7 @@ ) (none) ) - :post - (the-as (function none :behavior bone-platform) rigid-body-platform-post) + :post (the-as (function none :behavior bone-platform) rigid-body-platform-post) ) ;; definition for method 30 of type bone-platform @@ -2005,38 +1919,23 @@ (with-pp (let ((gp-0 (entity-actor-lookup (-> pp entity) 'alt-actor 0))) (when gp-0 - (let* ((s5-0 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-1 - (ppointer->handle - (when s5-0 - (let ((t9-2 (method-of-type pov-camera activate))) - (t9-2 (the-as pov-camera s5-0) pp 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> gp-0 extra trans) - *mistycam-sg* - (new 'static 'spool-anim :name "mistycam-cannon" :index 5 :parts 1 :command-list '()) - 0 - #f - '() - ) - (-> s5-0 ppointer) - ) - ) - ) - (s5-1 (get-process *default-dead-pool* fuel-cell #x4000)) - (s5-2 - (ppointer->handle (when s5-1 - (let ((t9-5 (method-of-type fuel-cell activate))) - (t9-5 (the-as fuel-cell s5-1) pp 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 fuel-cell-init-as-clone gp-1 (-> pp entity extra perm task)) - (-> s5-1 ppointer) + (let* ((gp-1 + (ppointer->handle (process-spawn + pov-camera + (-> gp-0 extra trans) + *mistycam-sg* + (new 'static 'spool-anim :name "mistycam-cannon" :index 5 :parts 1 :command-list '()) + 0 + #f + '() + :to pp ) ) ) + (s5-2 (ppointer->handle + (process-spawn fuel-cell :init fuel-cell-init-as-clone gp-1 (-> pp entity extra perm task) :to pp) + ) + ) ) (let ((v1-13 (handle->process gp-1))) (if v1-13 @@ -2075,21 +1974,12 @@ ;; failed to figure out what this is: (defstate battlecontroller-play-intro-camera (misty-battlecontroller) :virtual #t - :code - (behavior () - (let* ((gp-0 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-1 - (ppointer->handle - (when gp-0 - (let ((t9-1 (method-of-type pov-camera activate))) - (t9-1 (the-as pov-camera gp-0) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 pov-camera-init-by-other (-> self root trans) *mistycam-sg* "lurkerattack" 0 #f '()) - (-> gp-0 ppointer) - ) - ) - ) - ) + :code (behavior () + (let ((gp-1 (ppointer->handle + (process-spawn pov-camera (-> self root trans) *mistycam-sg* "lurkerattack" 0 #f '() :to self) + ) + ) + ) (while (handle->process (the-as handle gp-1)) (suspend) ) @@ -2177,8 +2067,7 @@ ;; failed to figure out what this is: (defstate boat-fuelcell-idle (boat-fuelcell) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('task-complete) (set! (-> self play-cutscene?) #t) @@ -2187,42 +2076,25 @@ ) ) ) - :code - (the-as (function none :behavior boat-fuelcell) anim-loop) + :code (the-as (function none :behavior boat-fuelcell) anim-loop) ) ;; failed to figure out what this is: (defstate boat-fuelcell-spawn (boat-fuelcell) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior boat-fuelcell) process-drawable-fuel-cell-handler ) - :code - (behavior () + :code (behavior () (process-drawable-birth-fuel-cell (the-as entity #f) (the-as vector #f) #f) (when (and *target* (-> self play-cutscene?)) (ambient-hint-spawn "gamcam02" (the-as vector #f) *entity-pool* 'camera) - (let* ((gp-0 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-1 (ppointer->handle (when gp-0 - (let ((t9-3 (method-of-type pov-camera activate))) - (t9-3 (the-as pov-camera gp-0) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - pov-camera-init-by-other - (-> self root trans) - *mistycam-sg* - "mistycam-balloon-fuel-cell" - 0 - #f - '() - ) - (-> gp-0 ppointer) - ) - ) - ) - ) + (let ((gp-1 + (ppointer->handle + (process-spawn pov-camera (-> self root trans) *mistycam-sg* "mistycam-balloon-fuel-cell" 0 #f '() :to self) + ) + ) + ) (while (handle->process (the-as handle gp-1)) (suspend) ) @@ -2238,8 +2110,7 @@ ;; failed to figure out what this is: (defstate boat-fuelcell-die (boat-fuelcell) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (none) ) diff --git a/test/decompiler/reference/levels/misty/misty-part_REF.gc b/test/decompiler/reference/levels/misty/misty-part_REF.gc index a0d7640201..8906a25e28 100644 --- a/test/decompiler/reference/levels/misty/misty-part_REF.gc +++ b/test/decompiler/reference/levels/misty/misty-part_REF.gc @@ -20,8 +20,7 @@ ;; failed to figure out what this is: (defpart 972 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 1)) @@ -48,8 +47,7 @@ ;; failed to figure out what this is: (defpart 973 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 3.0 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 1)) @@ -78,8 +76,7 @@ (defpartgroup group-misty-ship-steam :id 205 :bounds (static-bspherem 0 0.5 0 4.5) - :parts - ((sp-item 972 :fade-after (meters 175) :falloff-to (meters 175) :period 1500 :length 300) + :parts ((sp-item 972 :fade-after (meters 175) :falloff-to (meters 175) :period 1500 :length 300) (sp-item 972 :fade-after (meters 175) :falloff-to (meters 175) :period 2928 :length 360) (sp-item 972 :fade-after (meters 175) :falloff-to (meters 175) :period 4602 :length 180) (sp-item 973 :fade-after (meters 125) :falloff-to (meters 125) :period 180 :length 45) @@ -90,8 +87,7 @@ (defpartgroup group-part-misty-torch :id 206 :bounds (static-bspherem 0 3 0 4) - :parts - ((sp-item 974 :fade-after (meters 180) :falloff-to (meters 200)) + :parts ((sp-item 974 :fade-after (meters 180) :falloff-to (meters 200)) (sp-item 975 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 976 :fade-after (meters 50) :falloff-to (meters 50) :period 600 :length 90) (sp-item 977 :fade-after (meters 50) :falloff-to (meters 50) :period 369 :length 69) @@ -102,8 +98,7 @@ ;; failed to figure out what this is: (defpart 979 - :init-specs - ((sp-flt spt-num 0.3) + :init-specs ((sp-flt spt-num 0.3) (sp-flt spt-x (meters 0.2)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) (sp-int spt-rot-x 5) @@ -122,14 +117,12 @@ ;; failed to figure out what this is: (defpart 980 - :init-specs - ((sp-flt spt-fade-b -6.826667)) + :init-specs ((sp-flt spt-fade-b -6.826667)) ) ;; failed to figure out what this is: (defpart 974 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1069547520 1 1.0) (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) (sp-rnd-flt spt-z (meters -0.35) (meters 0.7) 1.0) @@ -152,14 +145,12 @@ ;; failed to figure out what this is: (defpart 981 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) ;; failed to figure out what this is: (defpart 976 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-flt spt-y (meters 1)) @@ -183,8 +174,7 @@ ;; failed to figure out what this is: (defpart 977 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) (sp-flt spt-y (meters 0.5)) @@ -208,8 +198,7 @@ ;; failed to figure out what this is: (defpart 978 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0) (sp-flt spt-y (meters 0.6)) @@ -233,8 +222,7 @@ ;; failed to figure out what this is: (defpart 975 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.3)) @@ -268,14 +256,12 @@ (defpartgroup group-misty-fog :id 207 :bounds (static-bspherem 64 7 0 96) - :parts - ((sp-item 982 :flags (is-3d))) + :parts ((sp-item 982 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 982 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x2)) (sp-flt spt-num 0.06125) (sp-rnd-flt spt-x (meters 0) (meters 128) 1.0) (sp-rnd-flt spt-y (meters 5.5) (meters 1.5) 1.0) @@ -304,8 +290,7 @@ ;; failed to figure out what this is: (defpart 983 - :init-specs - ((sp-flt spt-fade-a 0.0) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 1200 299 1) (sp-launcher-by-id spt-next-launcher 984) ) @@ -313,22 +298,19 @@ ;; failed to figure out what this is: (defpart 984 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) ;; failed to figure out what this is: (defpartgroup group-misty-lurkermachine-vent-316 :id 208 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 985 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 985 :fade-after (meters 80) :falloff-to (meters 80))) ) ;; failed to figure out what this is: (defpart 985 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.8 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -361,14 +343,12 @@ (defpartgroup group-misty-lurkermachine-vent-313 :id 209 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 986 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 986 :fade-after (meters 80) :falloff-to (meters 80))) ) ;; failed to figure out what this is: (defpart 986 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.8 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -401,14 +381,12 @@ (defpartgroup group-misty-lurkermachine-vent-308 :id 210 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 987 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 987 :fade-after (meters 80) :falloff-to (meters 80))) ) ;; failed to figure out what this is: (defpart 987 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -441,14 +419,12 @@ (defpartgroup group-misty-lurkermachine-vent-307 :id 211 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 988 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 988 :fade-after (meters 80) :falloff-to (meters 80))) ) ;; failed to figure out what this is: (defpart 988 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -481,14 +457,12 @@ (defpartgroup group-misty-lurkermachine-vent-305 :id 212 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 989 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 989 :fade-after (meters 80) :falloff-to (meters 80))) ) ;; failed to figure out what this is: (defpart 989 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -521,14 +495,12 @@ (defpartgroup group-misty-lurkermachine-vent-309 :id 213 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 990 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 990 :fade-after (meters 80) :falloff-to (meters 80))) ) ;; failed to figure out what this is: (defpart 990 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -561,14 +533,12 @@ (defpartgroup group-misty-lurkermachine-vent-2 :id 214 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 991 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 991 :fade-after (meters 80) :falloff-to (meters 80))) ) ;; failed to figure out what this is: (defpart 991 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -601,14 +571,12 @@ (defpartgroup group-misty-lurkermachine-vent-328 :id 215 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 992 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 992 :fade-after (meters 80) :falloff-to (meters 80))) ) ;; failed to figure out what this is: (defpart 992 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -641,14 +609,12 @@ (defpartgroup group-misty-lurkermachine-vent-325 :id 216 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 993 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 993 :fade-after (meters 80) :falloff-to (meters 80))) ) ;; failed to figure out what this is: (defpart 993 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -0.8) (meters 1.6) 1.0) (sp-rnd-flt spt-y (meters -0.3) (meters 0.6) 1.0) @@ -681,14 +647,12 @@ (defpartgroup group-misty-lurkermachine-vent-320 :id 217 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 994 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 994 :fade-after (meters 80) :falloff-to (meters 80))) ) ;; failed to figure out what this is: (defpart 994 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -0.8) (meters 1.6) 1.0) (sp-rnd-flt spt-y (meters -0.3) (meters 0.6) 1.0) @@ -721,14 +685,12 @@ (defpartgroup group-misty-lurkermachine-vent-324 :id 218 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 995 :fade-after (meters 80) :falloff-to (meters 80))) + :parts ((sp-item 995 :fade-after (meters 80) :falloff-to (meters 80))) ) ;; failed to figure out what this is: (defpart 995 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.45 0.8 1.0) (sp-rnd-flt spt-x (meters -0.8) (meters 1.6) 1.0) (sp-rnd-flt spt-y (meters -0.3) (meters 0.6) 1.0) @@ -761,8 +723,7 @@ (defpartgroup group-misty-fort-steam :id 219 :bounds (static-bspherem 0 0.5 0 4.5) - :parts - ((sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 1500 :length 300) + :parts ((sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 1500 :length 300) (sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 2928 :length 360) (sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 4602 :length 180) (sp-item 997 :fade-after (meters 125) :falloff-to (meters 125) :period 180 :length 45) @@ -773,8 +734,7 @@ (defpartgroup group-misty-fort-steam2 :id 220 :bounds (static-bspherem 0 0.5 0 4.5) - :parts - ((sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 1230 :length 300) + :parts ((sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 1230 :length 300) (sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 2550 :length 360) (sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 6102 :length 180) (sp-item 997 :fade-after (meters 125) :falloff-to (meters 125) :period 210 :length 45) @@ -785,8 +745,7 @@ (defpartgroup group-misty-fort-steam3 :id 221 :bounds (static-bspherem 0 0.5 0 4.5) - :parts - ((sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 1800 :length 300) + :parts ((sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 1800 :length 300) (sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 2559 :length 360) (sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 5202 :length 180) (sp-item 997 :fade-after (meters 125) :falloff-to (meters 125) :period 240 :length 45) @@ -797,8 +756,7 @@ (defpartgroup group-misty-fort-steam4 :id 222 :bounds (static-bspherem 0 0.5 0 4.5) - :parts - ((sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 1560 :length 300) + :parts ((sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 1560 :length 300) (sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 2601 :length 360) (sp-item 996 :fade-after (meters 175) :falloff-to (meters 175) :period 4848 :length 180) (sp-item 997 :fade-after (meters 125) :falloff-to (meters 125) :period 270 :length 45) @@ -807,8 +765,7 @@ ;; failed to figure out what this is: (defpart 996 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.6 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 1)) @@ -835,8 +792,7 @@ ;; failed to figure out what this is: (defpart 997 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 1)) @@ -865,8 +821,7 @@ (defpartgroup group-misty-lurkermachine-spout-314 :id 223 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 998 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) + :parts ((sp-item 998 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) (sp-item 998 :fade-after (meters 100) :falloff-to (meters 120) :period 770 :length 96) (sp-item 998 :fade-after (meters 140) :falloff-to (meters 160) :period 936 :length 60) (sp-item 999 :fade-after (meters 100) :falloff-to (meters 100)) @@ -875,8 +830,7 @@ ;; failed to figure out what this is: (defpart 999 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -898,8 +852,7 @@ ;; failed to figure out what this is: (defpart 998 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.6 1.0) (sp-sound (static-sound-spec "steam-release" :num 0.05 :volume 100.0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) @@ -926,8 +879,7 @@ (defpartgroup group-misty-lurkermachine-spout-310 :id 224 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1000 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) + :parts ((sp-item 1000 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) (sp-item 1000 :fade-after (meters 100) :falloff-to (meters 120) :period 770 :length 96) (sp-item 1000 :fade-after (meters 140) :falloff-to (meters 160) :period 936 :length 60) (sp-item 1001 :fade-after (meters 100) :falloff-to (meters 100)) @@ -936,8 +888,7 @@ ;; failed to figure out what this is: (defpart 1001 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -960,8 +911,7 @@ ;; failed to figure out what this is: (defpart 1000 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.6 1.0) (sp-sound (static-sound-spec "steam-release" :num 0.05 :volume 100.0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) @@ -989,8 +939,7 @@ (defpartgroup group-misty-lurkermachine-spout-311 :id 225 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1002 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) + :parts ((sp-item 1002 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) (sp-item 1002 :fade-after (meters 100) :falloff-to (meters 120) :period 770 :length 96) (sp-item 1002 :fade-after (meters 140) :falloff-to (meters 160) :period 936 :length 60) (sp-item 1003 :fade-after (meters 100) :falloff-to (meters 100)) @@ -999,8 +948,7 @@ ;; failed to figure out what this is: (defpart 1003 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1023,8 +971,7 @@ ;; failed to figure out what this is: (defpart 1002 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.6 1.0) (sp-sound (static-sound-spec "steam-release" :num 0.05 :volume 100.0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) @@ -1052,8 +999,7 @@ (defpartgroup group-misty-lurkermachine-spout-312 :id 226 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1004 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) + :parts ((sp-item 1004 :fade-after (meters 100) :falloff-to (meters 120) :period 1260 :length 75) (sp-item 1004 :fade-after (meters 100) :falloff-to (meters 120) :period 770 :length 96) (sp-item 1004 :fade-after (meters 140) :falloff-to (meters 160) :period 936 :length 60) (sp-item 1005 :fade-after (meters 100) :falloff-to (meters 100)) @@ -1062,8 +1008,7 @@ ;; failed to figure out what this is: (defpart 1005 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1086,8 +1031,7 @@ ;; failed to figure out what this is: (defpart 1004 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.6 1.0) (sp-sound (static-sound-spec "steam-release" :num 0.05 :volume 100.0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) diff --git a/test/decompiler/reference/levels/misty/misty-teetertotter_REF.gc b/test/decompiler/reference/levels/misty/misty-teetertotter_REF.gc index 3f3c6d3c02..c067b59d0f 100644 --- a/test/decompiler/reference/levels/misty/misty-teetertotter_REF.gc +++ b/test/decompiler/reference/levels/misty/misty-teetertotter_REF.gc @@ -49,8 +49,7 @@ ;; failed to figure out what this is: (defstate teetertotter-idle (teetertotter) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (case (-> arg3 param 1) @@ -77,76 +76,56 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 4) :num! min) (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior teetertotter) transform-post) + :post (the-as (function none :behavior teetertotter) transform-post) ) ;; failed to figure out what this is: (defstate teetertotter-launch (teetertotter) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (the-as object (when (= arg2 'touch) - (when (and ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as collide-shape-moving (-> self root)) - (the-as uint 1) - ) - (-> self rock-is-dangerous) - ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (let ((a0-2 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-2 mode) 'deadly) - (set! (-> a1-2 param 1) (the-as uint a0-2)) - ) - (send-event-function arg0 a1-2) - ) - ) - (when (and ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as collide-shape-moving (-> self root)) - (the-as uint 2) - ) - (target-on-end-of-teetertotter? self) - (not (-> self launched-player)) - (-> self in-launch-window) - ) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'shove) - (set! (-> a1-4 param 0) (the-as uint #f)) - (let ((v1-16 (new 'static 'attack-info :mask #xcc0))) - (set! (-> v1-16 shove-back) 0.0) - (set! (-> v1-16 shove-up) 53248.0) - (set! (-> v1-16 angle) 'jump) - (set! (-> v1-16 control) 1.0) - (set! (-> a1-4 param 1) (the-as uint v1-16)) - ) - (when (send-event-function arg0 a1-4) - (let ((v0-0 #t)) - (set! (-> self launched-player) v0-0) - v0-0 - ) - ) - ) - ) - ) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (the-as + object + (when (= arg2 'touch) + (if (and ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (the-as collide-shape-moving (-> self root)) + (the-as uint 1) + ) + (-> self rock-is-dangerous) + ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'deadly)))) ) + (when (and ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (the-as collide-shape-moving (-> self root)) + (the-as uint 2) + ) + (target-on-end-of-teetertotter? self) + (not (-> self launched-player)) + (-> self in-launch-window) + ) + (when (send-event + arg0 + 'shove + #f + (static-attack-info ((shove-back (meters 0)) (shove-up (meters 13)) (angle 'jump) (control 1.0))) + ) + (let ((v0-0 #t)) + (set! (-> self launched-player) v0-0) + v0-0 + ) + ) + ) + ) + ) ) - :code - (behavior () + :code (behavior () (set! (-> self launched-player) #f) (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -162,14 +141,12 @@ (go teetertotter-idle) (none) ) - :post - (the-as (function none :behavior teetertotter) rider-post) + :post (the-as (function none :behavior teetertotter) rider-post) ) ;; failed to figure out what this is: (defstate teetertotter-bend (teetertotter) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -178,8 +155,7 @@ (go teetertotter-idle) (none) ) - :post - (the-as (function none :behavior teetertotter) rider-post) + :post (the-as (function none :behavior teetertotter) rider-post) ) ;; definition for method 11 of type teetertotter diff --git a/test/decompiler/reference/levels/misty/misty-warehouse_REF.gc b/test/decompiler/reference/levels/misty/misty-warehouse_REF.gc index 195993f620..1c00148910 100644 --- a/test/decompiler/reference/levels/misty/misty-warehouse_REF.gc +++ b/test/decompiler/reference/levels/misty/misty-warehouse_REF.gc @@ -38,8 +38,7 @@ ;; failed to figure out what this is: (defstate silostep-idle (silostep) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go silostep-camera) @@ -49,8 +48,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) (loop @@ -58,52 +56,43 @@ ) (none) ) - :post - (the-as (function none :behavior silostep) ja-post) + :post (the-as (function none :behavior silostep) ja-post) ) ;; definition for function misty-camera-view ;; INFO: Return type mismatch int vs none. (defbehavior misty-camera-view silostep () - (let ((gp-0 (get-process *default-dead-pool* camera-tracker #x4000))) - (set! (-> self cam-tracker) - (ppointer->handle (when gp-0 - (let ((t9-1 (method-of-type camera-tracker activate))) - (t9-1 (the-as camera-tracker gp-0) self 'camera-tracker (the-as pointer #x70004000)) + (set! (-> self cam-tracker) + (ppointer->handle (process-spawn + camera-tracker + :init camera-tracker-init + (lambda :behavior camera-tracker + () + (while (not (process-grab? *target*)) + (suspend) ) - (run-now-in-process - gp-0 - camera-tracker-init - (lambda :behavior camera-tracker - () - (while (not (process-grab? *target*)) - (suspend) - ) - (camera-change-to "camera-160" 150 #f) - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 3)) - (suspend) - ) - ) - (while (not (process-release? (handle->process (-> self grab-target)))) - (suspend) - ) - (camera-change-to (the-as string 'base) 150 #f) - (none) + (camera-change-to "camera-160" 150 #f) + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 3)) + (suspend) ) ) - (-> gp-0 ppointer) + (while (not (process-release? (handle->process (-> self grab-target)))) + (suspend) + ) + (camera-change-to (the-as string 'base) 150 #f) + (none) ) + :to self ) - ) - ) + ) + ) (none) ) ;; failed to figure out what this is: (defstate silostep-camera (silostep) - :code - (behavior () + :code (behavior () (misty-camera-view) (let* ((gp-0 (get-task-control (game-task misty-warehouse))) (v1-1 (get-reminder gp-0 0)) @@ -121,14 +110,12 @@ (go silostep-rise #f) (none) ) - :post - (the-as (function none :behavior silostep) ja-post) + :post (the-as (function none :behavior silostep) ja-post) ) ;; failed to figure out what this is: (defstate silostep-rise (silostep) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (process-entity-status! self (entity-perm-status complete) #t) (when (not arg0) (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! (-> self anim-limit)) :frame-num 0.0) @@ -147,8 +134,7 @@ ) (none) ) - :post - (the-as (function none :behavior silostep) #f) + :post (the-as (function none :behavior silostep) #f) ) ;; definition for method 11 of type silostep diff --git a/test/decompiler/reference/levels/misty/mistycannon_REF.gc b/test/decompiler/reference/levels/misty/mistycannon_REF.gc index aef7ac3226..340c35d3f7 100644 --- a/test/decompiler/reference/levels/misty/mistycannon_REF.gc +++ b/test/decompiler/reference/levels/misty/mistycannon_REF.gc @@ -158,8 +158,7 @@ (defpartgroup group-beach-sack-fuse :id 117 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 517 :fade-after (meters 30)) + :parts ((sp-item 517 :fade-after (meters 30)) (sp-item 518 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 519 :fade-after (meters 80) :falloff-to (meters 80)) ) @@ -167,8 +166,7 @@ ;; failed to figure out what this is: (defpart 517 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-scale-x (meters 0.1)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -190,8 +188,7 @@ ;; failed to figure out what this is: (defpart 518 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.25) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -207,8 +204,7 @@ ;; failed to figure out what this is: (defpart 519 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-scale-x (meters 0.2)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -234,8 +230,7 @@ :id 118 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 520 :period 1200 :length 30) + :parts ((sp-item 520 :period 1200 :length 30) (sp-item 521 :fade-after (meters 60) :period 1200 :length 15) (sp-item 522 :period 1200 :length 15 :offset 15) (sp-item 523 :period 1200 :length 15) @@ -261,8 +256,7 @@ ;; failed to figure out what this is: (defpart 520 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) @@ -290,14 +284,12 @@ ;; failed to figure out what this is: (defpart 526 - :init-specs - ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.32)) + :init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.32)) ) ;; failed to figure out what this is: (defpart 521 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0.75)) (sp-rnd-flt spt-scale-x (meters 8) (meters 8) 1.0) @@ -322,14 +314,12 @@ ;; failed to figure out what this is: (defpart 527 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) ;; failed to figure out what this is: (defpart 522 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 24) (meters 16) 1.0) @@ -346,8 +336,7 @@ ;; failed to figure out what this is: (defpart 523 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 24) (meters 16) 1.0) @@ -364,8 +353,7 @@ ;; failed to figure out what this is: (defpart 524 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 5.0 10.0 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) @@ -393,8 +381,7 @@ ;; failed to figure out what this is: (defpart 528 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0033333334)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0033333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r -4.266667) (sp-flt spt-fade-g 0.7111111) @@ -405,8 +392,7 @@ ;; failed to figure out what this is: (defpart 525 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.25) (meters 0.5) 1.0) @@ -432,8 +418,7 @@ :id 119 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 24) - :parts - ((sp-item 529 :fade-after (meters 200) :falloff-to (meters 200) :period 1200 :length 30) + :parts ((sp-item 529 :fade-after (meters 200) :falloff-to (meters 200) :period 1200 :length 30) (sp-item 530 :fade-after (meters 100) :falloff-to (meters 100) :period 1200 :length 15) (sp-item 531 :fade-after (meters 40) :falloff-to (meters 40) :period 1200 :length 15) (sp-item 532 :period 1200 :length 15 :offset 15) @@ -468,8 +453,7 @@ ;; failed to figure out what this is: (defpart 529 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -499,8 +483,7 @@ ;; failed to figure out what this is: (defpart 536 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.006666667)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.006666667)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -0.16) ) @@ -508,8 +491,7 @@ ;; failed to figure out what this is: (defpart 530 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -538,8 +520,7 @@ ;; failed to figure out what this is: (defpart 531 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters 0.75)) (sp-rnd-flt spt-scale-x (meters 16) (meters 16) 1.0) @@ -563,14 +544,12 @@ ;; failed to figure out what this is: (defpart 537 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) ;; failed to figure out what this is: (defpart 532 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 24) (meters 16) 1.0) @@ -587,8 +566,7 @@ ;; failed to figure out what this is: (defpart 533 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 24) (meters 16) 1.0) @@ -605,8 +583,7 @@ ;; failed to figure out what this is: (defpart 534 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 5.0 10.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -633,8 +610,7 @@ ;; failed to figure out what this is: (defpart 538 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0033333334)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0033333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r -0.6) (sp-flt spt-fade-g -1.8) @@ -644,8 +620,7 @@ ;; failed to figure out what this is: (defpart 535 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.25) (meters 0.5) 1.0) @@ -744,30 +719,26 @@ ;; failed to figure out what this is: (defstate mistycannon-missile-idle (mistycannon-missile) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (go mistycannon-missile-explode) ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self sfx) (the-as uint 0)) 0 (none) ) - :trans - (behavior () + :trans (behavior () (if (< (-> self root-override trans y) (-> self water-height)) (go mistycannon-missile-in-water) ) (none) ) - :code - (behavior () + :code (behavior () (clear-collide-with-as (-> self root-override)) (while (< (- (-> *display* base-frame-counter) (-> self state-time)) (the int (* 300.0 (-> self muzzle-time)))) (quaternion*! (-> self root-override quat) (-> self root-override quat) (-> self tumble-quat)) @@ -864,8 +835,7 @@ (go mistycannon-missile-explode) (none) ) - :post - (behavior () + :post (behavior () (vector-v++! (-> self root-override transv) (compute-acc-due-to-gravity (-> self root-override) (new-stack-vector0) 1.0) @@ -906,8 +876,7 @@ ;; failed to figure out what this is: (defstate mistycannon-missile-in-water (mistycannon-missile) - :code - (behavior () + :code (behavior () (when (nonzero? (-> self sfx)) (sound-stop (the-as sound-id (-> self sfx))) (set! (-> self sfx) (the-as uint 0)) @@ -942,14 +911,12 @@ (ja-channel-set! 0) (none) ) - :post - (the-as (function none :behavior mistycannon-missile) ja-post) + :post (the-as (function none :behavior mistycannon-missile) ja-post) ) ;; failed to figure out what this is: (defstate mistycannon-missile-explode (mistycannon-missile) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touched) (let* ((s4-0 arg0) @@ -981,17 +948,7 @@ ) (cond ((= (-> arg0 type) target) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((a0-8 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-8 mode) 'explode) - (set! (-> a1-3 param 1) (the-as uint a0-8)) - ) - (send-event-function arg0 a1-3) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'explode)))) ) (else (let ((a1-4 (new 'stack-no-clear 'event-message-block))) @@ -1016,8 +973,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (if (and *target* (= (-> *target* next-state name) 'target-periscope)) (sound-play-by-spec (static-sound-spec "explosion" :fo-min 200 :fo-max 400) (new-sound-id) (the-as vector #t)) (sound-play-by-spec (static-sound-spec "explosion") (new-sound-id) (the-as vector #t)) @@ -1048,8 +1004,7 @@ (deactivate self) (none) ) - :post - (the-as (function none :behavior mistycannon-missile) ja-post) + :post (the-as (function none :behavior mistycannon-missile) ja-post) ) ;; definition for function mistycannon-collision-reaction @@ -1163,15 +1118,7 @@ (set! (-> s5-0 flight-time) arg4) (set! (-> s5-0 muzzle-time) arg5) (set! (-> s5-0 blast-radius) arg6) - (let ((s3-0 (get-process *default-dead-pool* mistycannon-missile #x4000))) - (when s3-0 - (let ((t9-1 (method-of-type mistycannon-missile activate))) - (t9-1 (the-as mistycannon-missile s3-0) arg0 'mistycannon-missile (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 mistycannon-missile-init-by-other s5-0 arg7) - (-> s3-0 ppointer) - ) - ) + (process-spawn mistycannon-missile s5-0 arg7 :to arg0) ) 0 (none) @@ -1432,8 +1379,7 @@ ;; failed to figure out what this is: (defstate mistycannon-idle (mistycannon) - :trans - (behavior () + :trans (behavior () (if (not (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete)))) (go mistycannon-waiting-for-player) ) @@ -1448,16 +1394,14 @@ (rider-trans) (none) ) - :code - (behavior () + :code (behavior () (loop (dummy-23 self) (suspend) ) (none) ) - :post - (the-as (function none :behavior mistycannon) rider-post) + :post (the-as (function none :behavior mistycannon) rider-post) ) ;; definition of type quadratic-solution @@ -1649,13 +1593,11 @@ ;; failed to figure out what this is: (defstate mistycannon-aim-at-player (mistycannon) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete)))) (go mistycannon-waiting-for-player) ) @@ -1669,8 +1611,7 @@ (rider-trans) (none) ) - :code - (behavior () + :code (behavior () (loop (if (< (vector-vector-xz-distance (target-pos 0) (-> self center-point)) (-> self center-point w)) (mistycannon-do-aim (-> *target* control trans) (-> *target* control transv)) @@ -1681,14 +1622,12 @@ ) (none) ) - :post - (the-as (function none :behavior mistycannon) rider-post) + :post (the-as (function none :behavior mistycannon) rider-post) ) ;; failed to figure out what this is: (defstate mistycannon-waiting-for-player (mistycannon) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) (when ((method-of-type touching-shapes-entry prims-touching?) @@ -1707,16 +1646,14 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) (go mistycannon-aim-at-player) ) (rider-trans) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self player-touching-grips?) #f) (loop (let ((f0-0 2730.6667) @@ -1759,31 +1696,26 @@ ) (none) ) - :post - (the-as (function none :behavior mistycannon) rider-post) + :post (the-as (function none :behavior mistycannon) rider-post) ) ;; failed to figure out what this is: (defstate cam-mistycannon (camera-slave) - :event - cam-standard-event-handler - :enter - (behavior () + :event cam-standard-event-handler + :enter (behavior () (when (not (-> self enter-has-run)) (set! (-> self blend-from-type) (the-as uint 1)) (set! (-> self blend-to-type) (the-as uint 1)) ) (none) ) - :trans - (behavior () + :trans (behavior () (if (zero? (logand (-> *camera* master-options) 2)) (cam-slave-go cam-free-floating) ) (none) ) - :code - (behavior () + :code (behavior () (loop (let ((v1-0 (-> self change-event-from))) (set! (-> self trans quad) (-> (the-as mistycannon (-> v1-0 0)) goggles quad)) @@ -1802,28 +1734,24 @@ ;; failed to figure out what this is: (defstate mistycannon-player-control (mistycannon) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('change-mode) (send-event *camera* 'change-state cam-mistycannon 0) ) ) ) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self sound-id)) (sound-stop (-> self aim-sound-id)) (none) ) - :trans - (behavior () + :trans (behavior () (dummy-23 self) (rider-trans) (none) ) - :code - (behavior () + :code (behavior () (send-event *camera* 'change-state cam-mistycannon 0) (suspend) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -1849,15 +1777,10 @@ (send-event *camera* 'change-to-entity-by-name "camera-111") (suspend) (loop - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) self) - (set! (-> a1-8 num-params) 0) - (set! (-> a1-8 message) 'end-mode) - (when (send-event-function *target* a1-8) - (send-event *camera* 'change-state *camera-base-mode* 0) - (process-entity-status! self (entity-perm-status bit-3) #f) - (go mistycannon-waiting-for-player-to-fuck-off) - ) + (when (send-event *target* 'end-mode) + (send-event *camera* 'change-state *camera-base-mode* 0) + (process-entity-status! self (entity-perm-status bit-3) #f) + (go mistycannon-waiting-for-player-to-fuck-off) ) (suspend) ) @@ -1910,14 +1833,12 @@ ) (none) ) - :post - (the-as (function none :behavior mistycannon) rider-post) + :post (the-as (function none :behavior mistycannon) rider-post) ) ;; failed to figure out what this is: (defstate mistycannon-waiting-for-player-to-fuck-off (mistycannon) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'touch) (when ((method-of-type touching-shapes-entry prims-touching?) @@ -1934,15 +1855,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (the-as (function none :behavior mistycannon) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior mistycannon) rider-trans) + :code (behavior () (loop (suspend) (dummy-23 self) @@ -1952,8 +1870,7 @@ ) (none) ) - :post - (the-as (function none :behavior mistycannon) rider-post) + :post (the-as (function none :behavior mistycannon) rider-post) ) ;; definition for method 11 of type mistycannon diff --git a/test/decompiler/reference/levels/misty/mud_REF.gc b/test/decompiler/reference/levels/misty/mud_REF.gc index a8d511996c..cd33374c30 100644 --- a/test/decompiler/reference/levels/misty/mud_REF.gc +++ b/test/decompiler/reference/levels/misty/mud_REF.gc @@ -23,8 +23,7 @@ :count 3 :converted #f :normal-scale 1.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 40.0 :xdiv -1 :zdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) @@ -38,8 +37,7 @@ :count 3 :converted #f :normal-scale 1.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 20.0 :xdiv 2 :speed 0.5) (new 'static 'ripple-wave :scale 20.0 :xdiv -2 :zdiv 2 :speed 0.5) (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) diff --git a/test/decompiler/reference/levels/misty/muse_REF.gc b/test/decompiler/reference/levels/misty/muse_REF.gc index e2d528db0f..8cb90b060d 100644 --- a/test/decompiler/reference/levels/misty/muse_REF.gc +++ b/test/decompiler/reference/levels/misty/muse_REF.gc @@ -228,13 +228,11 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate muse-idle (muse) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior muse) nav-enemy-default-event-handler ) - :trans - (behavior () + :trans (behavior () (seek! (-> self sprint-distance) 61440.0 (* 8192.0 (-> *display* seconds-per-frame))) (if (and *target* (>= 102400.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)))) (level-hint-spawn (game-text-id zero) (the-as string #f) (-> self entity) *entity-pool* (game-task none)) @@ -244,8 +242,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (when (ja-group? muse-run-ja) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :num! (loop!)) @@ -267,25 +264,21 @@ nav-enemy-default-event-handler ) (none) ) - :post - (the-as (function none :behavior muse) ja-post) + :post (the-as (function none :behavior muse) ja-post) ) ;; failed to figure out what this is: (defstate nav-enemy-chase (muse) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior muse) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (cond ((or (not *target*) (< 102400.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans))) @@ -309,8 +302,7 @@ nav-enemy-default-event-handler (muse-check-dest-point) (none) ) - :code - (behavior () + :code (behavior () (cond ((ja-group? muse-idle-ja) (ja-channel-push! 1 (seconds 0.1)) @@ -333,8 +325,7 @@ nav-enemy-default-event-handler ) (none) ) - :post - (behavior () + :post (behavior () (set! (-> self nav destination-pos quad) (-> self dest-point quad)) (dummy-19 (-> self nav) @@ -354,31 +345,26 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-jump (muse) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior muse) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () ((-> (method-of-type nav-enemy nav-enemy-jump) enter)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags standing-jump)) (none) ) - :code - (-> (method-of-type nav-enemy nav-enemy-jump) code) + :code (-> (method-of-type nav-enemy nav-enemy-jump) code) ) ;; failed to figure out what this is: (defstate nav-enemy-jump-land (muse) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior muse) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! muse-run-ja :num! (seek! max 0.8) :frame-num (ja-aframe 6.0 0)) @@ -394,114 +380,96 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate muse-caught (muse) - :event - (the-as (function process int symbol event-message-block object :behavior muse) #f) - :trans - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior muse) #f) + :trans (behavior () (spool-push *art-control* (-> self anim name) 0 self -1.0) (none) ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "money-pickup") (new-sound-id) 1024 0 0 1 #t) (close-specific-task! (game-task misty-muse) (task-status need-reminder)) (process-entity-status! self (entity-perm-status dead) #t) (suspend) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 1) - (set! (-> a1-3 message) 'clone-anim) - (set! (-> a1-3 param 0) (the-as uint self)) - (when (send-event-function *target* a1-3) - (set-blackout-frames (seconds 10)) - (let ((gp-1 (res-lump-struct (-> self entity) 'movie-pos vector))) - (cond - (gp-1 - (move-to-point! (-> self collide-info) gp-1) - (set-yaw-angle-clear-roll-pitch! (-> self collide-info) (-> gp-1 w)) - ) - (else - (move-to-point! (-> self collide-info) (-> *target* control trans)) - (quaternion-copy! (-> self collide-info quat) (-> *target* control quat)) - (move-to-ground (-> self collide-info) 40960.0 40960.0 #f (collide-kind background)) - ) - ) - ) - (send-event *target* 'trans 'save (-> self old-target-pos)) - (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) - (send-event *target* 'blend-shape #t) - (if (!= *kernel-boot-message* 'play) - (set! (-> self trans-hook) - (lambda :behavior muse () (spool-push *art-control* (-> self victory-anim name) 0 self -1.0) (none)) - ) - ) - (push-setting! *setting-control* self 'music-volume 'rel (-> *setting-control* current music-volume-movie) 0) - (push-setting! *setting-control* self 'sfx-volume 'rel (-> *setting-control* current sfx-volume-movie) 0) - (push-setting! - *setting-control* - self - 'ambient-volume - 'rel - (-> *setting-control* current ambient-volume-movie) - 0 - ) - (logclear! (-> self mask) (process-mask enemy)) - (let ((gp-2 (get-process *default-dead-pool* othercam #x4000))) - (when gp-2 - (let ((t9-19 (method-of-type othercam activate))) - (t9-19 (the-as othercam gp-2) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-2 othercam-init-by-other self 3 #f #t) - (-> gp-2 ppointer) - ) - ) - (auto-save-command 'auto-save 0 0 *default-pool*) - (ja-play-spooled-anim - (-> self anim) - (the-as art-joint-anim muse-idle-ja) - (the-as art-joint-anim muse-idle-ja) - (the-as (function process-drawable symbol) false-func) - ) - (clear-pending-settings-from-process *setting-control* self 'music-volume) - (clear-pending-settings-from-process *setting-control* self 'sfx-volume) - (clear-pending-settings-from-process *setting-control* self 'ambient-volume) - (send-event *target* 'blend-shape #f) + (when (send-event *target* 'clone-anim self) + (set-blackout-frames (seconds 10)) + (let ((gp-1 (res-lump-struct (-> self entity) 'movie-pos vector))) (cond - ((!= *kernel-boot-message* 'play) - (set-blackout-frames 0) - (ja-channel-set! 0) - (ja-post) - (clear-collide-with-as (-> self collide-info)) - (send-event *target* 'trans 'reset) - (let ((gp-4 (ppointer->handle (birth-pickup-at-point - (target-pos 0) - (pickup-type fuel-cell) - (the float (-> self entity extra perm task)) - #f - self - (the-as fact-info #f) - ) + (gp-1 + (move-to-point! (-> self collide-info) gp-1) + (set-yaw-angle-clear-roll-pitch! (-> self collide-info) (-> gp-1 w)) + ) + (else + (move-to-point! (-> self collide-info) (-> *target* control trans)) + (quaternion-copy! (-> self collide-info quat) (-> *target* control quat)) + (move-to-ground (-> self collide-info) 40960.0 40960.0 #f (collide-kind background)) + ) + ) + ) + (send-event *target* 'trans 'save (-> self old-target-pos)) + (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) + (send-event *target* 'blend-shape #t) + (if (!= *kernel-boot-message* 'play) + (set! (-> self trans-hook) + (lambda :behavior muse () (spool-push *art-control* (-> self victory-anim name) 0 self -1.0) (none)) + ) + ) + (push-setting! *setting-control* self 'music-volume 'rel (-> *setting-control* current music-volume-movie) 0) + (push-setting! *setting-control* self 'sfx-volume 'rel (-> *setting-control* current sfx-volume-movie) 0) + (push-setting! + *setting-control* + self + 'ambient-volume + 'rel + (-> *setting-control* current ambient-volume-movie) + 0 + ) + (logclear! (-> self mask) (process-mask enemy)) + (process-spawn othercam self 3 #f #t :to self) + (auto-save-command 'auto-save 0 0 *default-pool*) + (ja-play-spooled-anim + (-> self anim) + (the-as art-joint-anim muse-idle-ja) + (the-as art-joint-anim muse-idle-ja) + (the-as (function process-drawable symbol) false-func) + ) + (clear-pending-settings-from-process *setting-control* self 'music-volume) + (clear-pending-settings-from-process *setting-control* self 'sfx-volume) + (clear-pending-settings-from-process *setting-control* self 'ambient-volume) + (send-event *target* 'blend-shape #f) + (cond + ((!= *kernel-boot-message* 'play) + (set-blackout-frames 0) + (ja-channel-set! 0) + (ja-post) + (clear-collide-with-as (-> self collide-info)) + (send-event *target* 'trans 'reset) + (let ((gp-4 (ppointer->handle (birth-pickup-at-point + (target-pos 0) + (pickup-type fuel-cell) + (the float (-> self entity extra perm task)) + #f + self + (the-as fact-info #f) ) - ) - ) - (send-event (handle->process (the-as handle gp-4)) 'pickup) - (while (handle->process (the-as handle gp-4)) - (suspend) + ) + ) ) + (send-event (handle->process (the-as handle gp-4)) 'pickup) + (while (handle->process (the-as handle gp-4)) + (suspend) ) ) - (else - (send-event *target* 'trans 'restore (-> self old-target-pos)) - (set-blackout-frames 0) - (set-blackout-frames (seconds 0.1)) - ) + ) + (else + (send-event *target* 'trans 'restore (-> self old-target-pos)) + (set-blackout-frames 0) + (set-blackout-frames (seconds 0.1)) ) ) ) (none) ) - :post - (behavior () + :post (behavior () (dummy-51 self) (level-hint-surpress!) (kill-current-level-hint '() '() 'exit) @@ -611,8 +579,7 @@ nav-enemy-default-event-handler :name "muse-victory" :index 9 :parts 2 - :command-list - '((1 blackout 0) (219 blackout 60)) + :command-list '((1 blackout 0) (219 blackout 60)) ) ) (set! (-> obj victory-anim) (fuel-cell-pick-anim obj)) diff --git a/test/decompiler/reference/levels/misty/quicksandlurker_REF.gc b/test/decompiler/reference/levels/misty/quicksandlurker_REF.gc index 0369679887..e1f8d7e1cd 100644 --- a/test/decompiler/reference/levels/misty/quicksandlurker_REF.gc +++ b/test/decompiler/reference/levels/misty/quicksandlurker_REF.gc @@ -7,8 +7,7 @@ (defpartgroup group-quicksandlurker-missile :id 198 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 2481 :flags (launch-asap) :binding 2479) + :parts ((sp-item 2481 :flags (launch-asap) :binding 2479) (sp-item 2479 :flags (start-dead) :binding 2480) (sp-item 2480 :flags (start-dead launch-asap)) (sp-item 2480 :flags (start-dead launch-asap)) @@ -61,8 +60,7 @@ ;; failed to figure out what this is: (defpart 2481 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.01)) (sp-copy-from-other spt-scale-y -4) @@ -75,8 +73,7 @@ ;; failed to figure out what this is: (defpart 2479 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 1)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -102,14 +99,12 @@ ;; failed to figure out what this is: (defpart 2482 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: (defpart 2480 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 5.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -141,14 +136,12 @@ :id 199 :duration 5 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 2483)) + :parts ((sp-item 2483)) ) ;; failed to figure out what this is: (defpart 2483 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -179,14 +172,12 @@ :id 200 :duration 10 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 2484) (sp-item 2485) (sp-item 2486)) + :parts ((sp-item 2484) (sp-item 2485) (sp-item 2486)) ) ;; failed to figure out what this is: (defpart 2484 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 64.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -214,8 +205,7 @@ ;; failed to figure out what this is: (defpart 2486 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -240,8 +230,7 @@ ;; failed to figure out what this is: (defpart 2485 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -262,8 +251,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 124 :flags (is-3d) :period 900 :length 63) + :parts ((sp-item 124 :flags (is-3d) :period 900 :length 63) (sp-item 125 :period 900 :length 15) (sp-item 126 :flags (is-3d) :period 900 :length 15) (sp-item 127 :flags (is-3d) :period 900 :length 15) @@ -288,8 +276,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 -12 0 14) - :parts - ((sp-item 124 :flags (is-3d) :period 900 :length 63) + :parts ((sp-item 124 :flags (is-3d) :period 900 :length 63) (sp-item 125 :period 900 :length 15) (sp-item 126 :flags (is-3d) :period 900 :length 15) (sp-item 127 :flags (is-3d) :period 900 :length 15) @@ -332,23 +319,12 @@ ;; failed to figure out what this is: (defstate quicksandlurker-missile-idle (quicksandlurker-missile) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touched) (when (cond ((= (-> arg0 type) target) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((a2-1 (new 'static 'attack-info :mask #x20))) - (set! (-> a2-1 mode) 'explode) - (set! (-> a1-3 param 1) (the-as uint a2-1)) - ) - (send-event-function arg0 a1-3) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'explode)))) ) (else (let ((a1-4 (new 'stack-no-clear 'event-message-block))) @@ -372,13 +348,11 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior () + :code (behavior () (while (< (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 4)) (fill-cache-integrate-and-collide! (-> self root-override) @@ -407,8 +381,7 @@ (cleanup-for-death self) (none) ) - :post - (behavior () + :post (behavior () (update-transforms! (-> self root-override)) (none) ) @@ -416,8 +389,7 @@ ;; failed to figure out what this is: (defstate quicksandlurker-missile-impact (quicksandlurker-missile) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "sack-land") (new-sound-id) @@ -427,23 +399,16 @@ 1 (the-as symbol (-> self root-override trans)) ) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 200) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 200) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) @@ -516,15 +481,7 @@ (let ((s5-0 (new 'stack-no-clear 'quicksandlurker-missile-init-data))) (set! (-> s5-0 position) arg1) (set! (-> s5-0 velocity) arg2) - (let ((s3-0 (get-process *default-dead-pool* quicksandlurker-missile #x4000))) - (when s3-0 - (let ((t9-1 (method-of-type quicksandlurker-missile activate))) - (t9-1 (the-as quicksandlurker-missile s3-0) arg0 'quicksandlurker-missile (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 quicksandlurker-missile-init-by-other s5-0 arg3) - (-> s3-0 ppointer) - ) - ) + (process-spawn quicksandlurker-missile s5-0 arg3 :to arg0) ) 0 (none) @@ -675,20 +632,16 @@ ;; failed to figure out what this is: (defstate quicksandlurker-idle (quicksandlurker) - :event - (the-as (function process int symbol event-message-block object :behavior quicksandlurker) #f) - :enter - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior quicksandlurker) #f) + :enter (behavior () (logior! (-> self draw status) (draw-status hidden)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 163840.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) ) @@ -696,23 +649,19 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior quicksandlurker) ja-post) + :post (the-as (function none :behavior quicksandlurker) ja-post) ) ;; failed to figure out what this is: (defstate quicksandlurker-wait (quicksandlurker) - :event - quicksandlurker-default-event-handler - :trans - (behavior () + :event quicksandlurker-default-event-handler + :trans (behavior () (cond ((and *target* (>= 81920.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) (set! (-> self y-offset) 1228.8) @@ -732,8 +681,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((gp-0 (the int (* 300.0 (rand-vu-float-range 1.5 2.0)))) (s5-0 5) @@ -766,16 +714,13 @@ ) (none) ) - :post - quicksandlurker-post + :post quicksandlurker-post ) ;; failed to figure out what this is: (defstate quicksandlurker-yawn (quicksandlurker) - :event - quicksandlurker-default-event-handler - :code - (behavior () + :event quicksandlurker-default-event-handler + :code (behavior () (ja-no-eval :group! quicksandlurker-yawn-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -784,16 +729,13 @@ (go quicksandlurker-wait) (none) ) - :post - quicksandlurker-post + :post quicksandlurker-post ) ;; failed to figure out what this is: (defstate quicksandlurker-track (quicksandlurker) - :event - quicksandlurker-default-event-handler - :trans - (behavior () + :event quicksandlurker-default-event-handler + :trans (behavior () (if (or (not *target*) (< 81920.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) ) @@ -802,8 +744,7 @@ (quicksandlurker-check-hide-transition) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((gp-0 (the int (* 300.0 (rand-vu-float-range 0.8 1.2)))) (s5-0 1) @@ -832,11 +773,11 @@ ) (none) ) - :post - quicksandlurker-post + :post quicksandlurker-post ) ;; definition for function quicksandlurker-spit +;; INFO: Return type mismatch (pointer process) vs (pointer part-tracker). ;; Used lq/sq (defbehavior quicksandlurker-spit quicksandlurker () (let ((gp-0 (new-stack-vector0))) @@ -849,26 +790,25 @@ (vector-normalize! s5-0 49152.0) (spawn-quicksandlurker-missile self gp-0 s5-0 (-> self entity)) ) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 199) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 199) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) ) ;; failed to figure out what this is: (defstate quicksandlurker-attack (quicksandlurker) - :event - quicksandlurker-default-event-handler - :trans - quicksandlurker-check-hide-transition - :code - (behavior () + :event quicksandlurker-default-event-handler + :trans quicksandlurker-check-hide-transition + :code (behavior () (let ((gp-0 #f) (f30-0 51.0) ) @@ -886,18 +826,14 @@ (go quicksandlurker-track) (none) ) - :post - quicksandlurker-post + :post quicksandlurker-post ) ;; failed to figure out what this is: (defstate quicksandlurker-victory (quicksandlurker) - :event - quicksandlurker-default-event-handler - :trans - quicksandlurker-check-hide-transition - :code - (behavior () + :event quicksandlurker-default-event-handler + :trans quicksandlurker-check-hide-transition + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (cond ((rand-vu-percent? 0.5) @@ -918,26 +854,21 @@ (go quicksandlurker-track) (none) ) - :post - quicksandlurker-post + :post quicksandlurker-post ) ;; failed to figure out what this is: (defstate quicksandlurker-hide (quicksandlurker) - :event - quicksandlurker-default-event-handler - :enter - (behavior () + :event quicksandlurker-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (restore-collide-with-as (-> self root-override)) (none) ) - :trans - (behavior () + :trans (behavior () (if (not *target*) (go quicksandlurker-wait) ) @@ -961,31 +892,23 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! quicksandlurker-hide-ja :num! (seek! max 0.75) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek! max 0.75)) ) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 201) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 201) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (clear-collide-with-as (-> self root-override)) (loop @@ -994,33 +917,23 @@ ) (none) ) - :post - quicksandlurker-post + :post quicksandlurker-post ) ;; failed to figure out what this is: (defstate quicksandlurker-popup (quicksandlurker) - :trans - quicksandlurker-check-hide-transition - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 202) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + :trans quicksandlurker-check-hide-transition + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 202) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (ja-no-eval :group! quicksandlurker-popup-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1031,19 +944,16 @@ (go quicksandlurker-track) (none) ) - :post - quicksandlurker-post + :post quicksandlurker-post ) ;; failed to figure out what this is: (defstate quicksandlurker-die (quicksandlurker) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior quicksandlurker) process-drawable-death-event-handler ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! quicksandlurker-die-ja :num! (seek!) :frame-num 0.0) @@ -1054,8 +964,7 @@ (cleanup-for-death self) (none) ) - :post - quicksandlurker-post + :post quicksandlurker-post ) ;; definition for method 11 of type quicksandlurker diff --git a/test/decompiler/reference/levels/misty/sidekick-human_REF.gc b/test/decompiler/reference/levels/misty/sidekick-human_REF.gc index ef8e6fc65f..d01a0f56f9 100644 --- a/test/decompiler/reference/levels/misty/sidekick-human_REF.gc +++ b/test/decompiler/reference/levels/misty/sidekick-human_REF.gc @@ -51,8 +51,7 @@ :id 657 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2665 :period 300 :length 5 :binding 2663) + :parts ((sp-item 2665 :period 300 :length 5 :binding 2663) (sp-item 2663 :flags (start-dead launch-asap) :binding 2664) (sp-item 2663 :flags (start-dead launch-asap) :binding 2664) (sp-item 2664 :flags (start-dead)) @@ -65,8 +64,7 @@ ;; failed to figure out what this is: (defpart 2665 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -2.5) (meters 5) 1.0) (sp-rnd-flt spt-y (meters -1.5) (meters 3) 1.0) @@ -83,8 +81,7 @@ ;; failed to figure out what this is: (defpart 2663 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -108,8 +105,7 @@ ;; failed to figure out what this is: (defpart 2664 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -129,8 +125,7 @@ ;; failed to figure out what this is: (defpart 2667 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters -3.90625)) (sp-flt spt-scale-x (meters 15)) @@ -146,8 +141,7 @@ ;; failed to figure out what this is: (defpart 2666 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.3) (sp-rnd-flt spt-x (meters -4) (meters 8) 1.0) (sp-rnd-flt spt-y (meters -3) (meters 6) 1.0) @@ -172,8 +166,7 @@ ;; failed to figure out what this is: (defpart 2668 - :init-specs - ((sp-flt spt-fade-a 0.0) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 300 299 1) (sp-launcher-by-id spt-next-launcher 2669) ) @@ -181,8 +174,7 @@ ;; failed to figure out what this is: (defpart 2669 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) ;; failed to figure out what this is: @@ -191,8 +183,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2345 :period 1500 :length 20 :offset 1500) + :parts ((sp-item 2345 :period 1500 :length 20 :offset 1500) (sp-item 2346 :period 1500 :length 20 :offset 1500) (sp-item 2347 :period 1500 :length 5 :offset 1500) (sp-item 2348 :period 1500 :length 20 :offset 1500) @@ -454,8 +445,7 @@ ;; failed to figure out what this is: (defpart 2349 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 0) (meters 0.1) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 4) 1.0) @@ -477,14 +467,12 @@ ;; failed to figure out what this is: (defpart 2353 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) ;; failed to figure out what this is: (defpart 2350 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 0) (meters 0.1) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 4) 1.0) @@ -509,8 +497,7 @@ ;; failed to figure out what this is: (defpart 2351 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 0) (meters 0.3) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 2) 1.0) @@ -535,8 +522,7 @@ ;; failed to figure out what this is: (defpart 2352 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 0) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) @@ -561,8 +547,7 @@ ;; failed to figure out what this is: (defpart 2344 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -590,14 +575,12 @@ ;; failed to figure out what this is: (defpart 2354 - :init-specs - ((sp-flt spt-fade-a -3.2)) + :init-specs ((sp-flt spt-fade-a -3.2)) ) ;; failed to figure out what this is: (defpart 2345 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-y (meters 1) (meters 2) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) @@ -626,14 +609,12 @@ ;; failed to figure out what this is: (defpart 2355 - :init-specs - ((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a 0.0)) + :init-specs ((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a 0.0)) ) ;; failed to figure out what this is: (defpart 2346 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-y (meters 0) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.4) 1.0) @@ -662,8 +643,7 @@ ;; failed to figure out what this is: (defpart 2347 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-rnd-flt spt-scale-x (meters 28) (meters 4) 1.0) @@ -681,8 +661,7 @@ ;; failed to figure out what this is: (defpart 2348 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-y (meters 0.5) (meters 2) 1.0) (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.1) 1.0) @@ -706,8 +685,7 @@ :id 558 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2386 :binding 2385) + :parts ((sp-item 2386 :binding 2385) (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) @@ -791,8 +769,7 @@ ;; failed to figure out what this is: (defpart 2386 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) @@ -807,8 +784,7 @@ ;; failed to figure out what this is: (defpart 2385 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-flt spt-y (meters 0)) @@ -837,14 +813,12 @@ ;; failed to figure out what this is: (defpart 2388 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 2389)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 2389)) ) ;; failed to figure out what this is: (defpart 2389 - :init-specs - ((sp-flt spt-vel-z (meters -0.008333334)) + :init-specs ((sp-flt spt-vel-z (meters -0.008333334)) (sp-flt spt-scalevel-x (meters -0.00041666668)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -1.0666667) @@ -853,8 +827,7 @@ ;; failed to figure out what this is: (defpart 2384 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -879,14 +852,12 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2298)) + :parts ((sp-item 2298)) ) ;; failed to figure out what this is: (defpart 2298 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.25) (meters 0.5) 1.0) @@ -912,8 +883,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2785 :period 1800 :length 5) + :parts ((sp-item 2785 :period 1800 :length 5) (sp-item 2786 :period 1800 :length 40) (sp-item 2787 :period 1800 :length 20) (sp-item 2788 :period 1800 :length 20) @@ -987,8 +957,7 @@ ;; failed to figure out what this is: (defpart 2830 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 1) (meters 2) 1.0) @@ -1008,8 +977,7 @@ ;; failed to figure out what this is: (defpart 2786 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-y (meters -1.5) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -1035,14 +1003,12 @@ ;; failed to figure out what this is: (defpart 2789 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 2788 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 12.0) (sp-flt spt-scale-x (meters 0.3)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) @@ -1060,8 +1026,7 @@ ;; failed to figure out what this is: (defpart 2785 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 24)) (sp-copy-from-other spt-scale-y -4) @@ -1077,8 +1042,7 @@ ;; failed to figure out what this is: (defpart 2787 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters -1.5) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) @@ -1109,8 +1073,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 295 :fade-after (meters 100) :period 600 :length 5 :binding 296) + :parts ((sp-item 295 :fade-after (meters 100) :period 600 :length 5 :binding 296) (sp-item 296 :flags (start-dead launch-asap) :binding 297) (sp-item 297 :fade-after (meters 80) :falloff-to (meters 100) :flags (start-dead)) (sp-item 296 :flags (start-dead launch-asap) :binding 297) @@ -1156,14 +1119,12 @@ :linger-duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2790)) + :parts ((sp-item 2790)) ) ;; failed to figure out what this is: (defpart 2790 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1191,8 +1152,7 @@ ;; failed to figure out what this is: (defpart 2822 - :init-specs - ((sp-flt spt-fade-a -0.1)) + :init-specs ((sp-flt spt-fade-a -0.1)) ) ;; definition of type sequenceB @@ -1298,67 +1258,55 @@ ;; definition for symbol *lurker-army*, type (array army-info) (define *lurker-army* - (the-as (array army-info) (new - 'static - 'boxed-array - :type army-info :length 9 :allocated-length 9 + (the-as (array army-info) (new 'static 'boxed-array :type army-info (new 'static 'army-info - :pos - (new 'static 'vector :x -920633.4 :y 83546.11 :z 4210409.5) + :pos (new 'static 'vector :x -920633.4 :y 83546.11 :z 4210409.5) :rot 28556.04 :skel 'babak ) (new 'static 'army-info - :pos - (new 'static 'vector :x -873488.4 :y 86441.984 :z 4225454.0) + :pos (new 'static 'vector :x -873488.4 :y 86441.984 :z 4225454.0) :rot 37861.24 :start-frame 5.0 :skel 'babak ) (new 'static 'army-info - :pos - (new 'static 'vector :x -905871.4 :y 83132.414 :z 4231934.0) + :pos (new 'static 'vector :x -905871.4 :y 83132.414 :z 4231934.0) :rot 32054.021 :start-frame 10.0 :skel 'babak ) (new 'static 'army-info - :pos - (new 'static 'vector :x -926765.06 :y 83496.96 :z 4236230.5) + :pos (new 'static 'vector :x -926765.06 :y 83496.96 :z 4236230.5) :rot 30001.652 :start-frame 15.0 :skel 'babak ) (new 'static 'army-info - :pos - (new 'static 'vector :x -893345.8 :y 83517.44 :z 4212961.5) + :pos (new 'static 'vector :x -893345.8 :y 83517.44 :z 4212961.5) :rot 32755.074 :start-frame 20.0 :skel 'babak ) (new 'static 'army-info - :pos - (new 'static 'vector :x -842797.06 :y 84041.73 :z 4218855.5) + :pos (new 'static 'vector :x -842797.06 :y 84041.73 :z 4218855.5) :rot 43916.402 :skel 'bonelurker ) (new 'static 'army-info - :pos - (new 'static 'vector :x -839274.5 :y 82644.99 :z 4248723.5) + :pos (new 'static 'vector :x -839274.5 :y 82644.99 :z 4248723.5) :rot 40510.715 :start-frame 6.0 :skel 'bonelurker ) (new 'static 'army-info - :pos - (new 'static 'vector :x -871485.44 :y 85909.51 :z 4243181.5) + :pos (new 'static 'vector :x -871485.44 :y 85909.51 :z 4243181.5) :rot 37046.043 :start-frame 12.0 :skel 'bonelurker ) (new 'static 'army-info - :pos - (new 'static 'vector :x -947523.56 :y 85835.77 :z 4219314.0) + :pos (new 'static 'vector :x -947523.56 :y 85835.77 :z 4219314.0) :rot 26980.078 :start-frame 18.0 :skel 'bonelurker @@ -1378,14 +1326,16 @@ ;; INFO: Return type mismatch int vs none. (defbehavior evilsib-trans-hook-wait evilbro () (when (>= (ja-aframe-num 0) 425.0) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 part-tracker-init (-> *part-group-id-table* 557) -1 #f #f #f (-> self draw origin)) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 557) + -1 + #f + #f + #f + (-> self draw origin) + :to *entity-pool* ) (send-event self 'trans-hook evilsib-trans-hook-hover) ) @@ -1399,19 +1349,9 @@ (cond (arg0 (send-event *target* 'sidekick #f) - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj bonelurker) - (ppointer->handle - (when s5-0 - (let ((t9-2 (method-of-type manipy activate))) - (t9-2 (the-as manipy s5-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> obj root-override trans) (-> obj entity) *bonelurker-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> obj bonelurker) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *bonelurker-sg* #f :to obj)) + ) (send-event (handle->process (-> obj bonelurker)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj bonelurker)) 'center-joint 3) (set-setting! *setting-control* pp 'music-volume-movie 'abs (the-as float 0.0) 0) @@ -1421,18 +1361,9 @@ (let ((s4-0 (-> *lurker-army* s5-1))) (cond ((= (-> s4-0 skel) 'bonelurker) - (let ((s3-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj lurker-army s5-1) - (ppointer->handle (when s3-0 - (let ((t9-10 (method-of-type manipy activate))) - (t9-10 (the-as manipy s3-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 manipy-init (-> s4-0 pos) (-> obj entity) *bonelurker-sg* #f) - (-> s3-0 ppointer) - ) - ) - ) - ) + (set! (-> obj lurker-army s5-1) + (ppointer->handle (manipy-spawn (-> s4-0 pos) (-> obj entity) *bonelurker-sg* #f :to obj)) + ) (let ((s3-1 (handle->process (-> obj lurker-army s5-1)))) (when s3-1 (set! (-> (the-as babak s3-1) draw light-index) (the-as uint 1)) @@ -1441,18 +1372,9 @@ ) ) (else - (let ((s3-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj lurker-army s5-1) - (ppointer->handle (when s3-2 - (let ((t9-14 (method-of-type manipy activate))) - (t9-14 (the-as manipy s3-2) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s3-2 manipy-init (-> s4-0 pos) (-> obj entity) *babak-sg* #f) - (-> s3-2 ppointer) - ) - ) - ) - ) + (set! (-> obj lurker-army s5-1) + (ppointer->handle (manipy-spawn (-> s4-0 pos) (-> obj entity) *babak-sg* #f :to obj)) + ) (let ((s3-3 (handle->process (-> obj lurker-army s5-1)))) (when s3-3 (set! (-> (the-as babak s3-3) draw light-index) (the-as uint 1)) @@ -1474,8 +1396,7 @@ :name "sidekick-human-intro-sequence-b" :index 5 :parts 11 - :command-list - '((0 blackout 0) + :command-list '((0 blackout 0) (0 setting-reset ocean-off near) (0 want-levels misty intro) (0 display-level intro special) @@ -1583,8 +1504,7 @@ ;; failed to figure out what this is: (defstate play-anim (sequenceB) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('offset-army) (dotimes (gp-0 9) @@ -1598,18 +1518,9 @@ (when (= (level-status *level* 'intro) 'active) (let ((gp-2 (entity-by-name "evilbro-2"))) (when gp-2 - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self evilbro) - (ppointer->handle (when s5-0 - (let ((t9-4 (method-of-type manipy activate))) - (t9-4 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> self root-override trans) gp-2 *evilbro-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> self evilbro) + (ppointer->handle (manipy-spawn (-> self root-override trans) gp-2 *evilbro-sg* #f :to self)) + ) (let ((gp-3 (handle->process (-> self evilbro)))) (when gp-3 (set! (-> (the-as evilbro gp-3) draw light-index) (the-as uint 1)) @@ -1634,18 +1545,9 @@ ) (let ((gp-4 (entity-by-name "evilsis-2"))) (when gp-4 - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self evilsis) - (ppointer->handle (when s5-1 - (let ((t9-15 (method-of-type manipy activate))) - (t9-15 (the-as manipy s5-1) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> self root-override trans) gp-4 *evilsis-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> self evilsis) + (ppointer->handle (manipy-spawn (-> self root-override trans) gp-4 *evilsis-sg* #f :to self)) + ) (let ((gp-5 (handle->process (-> self evilsis)))) (when gp-5 (set! (-> (the-as evilsis gp-5) draw light-index) (the-as uint 1)) @@ -1672,8 +1574,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (send-event *target* 'sidekick #t) (let ((a0-2 (handle->process (-> self bonelurker)))) (if a0-2 @@ -1711,8 +1612,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "sidekick-human-intro-sequence-c" 0 self (the-as float -1.0)) ((-> (method-of-type process-taskable play-anim) trans)) (none) @@ -1746,14 +1646,16 @@ (spawn (-> self part) gp-0) ) (when (>= (ja-aframe-num 0) 1590.0) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 561) -1 #f #f #f (-> self draw origin)) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 561) + -1 + #f + #f + #f + (-> self draw origin) + :to *entity-pool* ) (send-event self 'trans-hook nothing) ) @@ -1781,34 +1683,14 @@ (set-setting! *setting-control* pp 'music-volume-movie 'abs (the-as float 0.0) 0) (set-setting! *setting-control* pp 'sfx-volume-movie 'abs (the-as float 0.0) 0) (set-setting! *setting-control* pp 'ambient-volume-movie 'abs (the-as float 0.0) 0) - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj bonelurker) - (ppointer->handle - (when s5-0 - (let ((t9-4 (method-of-type manipy activate))) - (t9-4 (the-as manipy s5-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> obj root-override trans) (-> obj entity) *bonelurker-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> obj bonelurker) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *bonelurker-sg* #f :to obj)) + ) (send-event (handle->process (-> obj bonelurker)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj bonelurker)) 'center-joint 3) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj darkecocan) - (ppointer->handle - (when s5-1 - (let ((t9-9 (method-of-type manipy activate))) - (t9-9 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *darkecocan-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> obj darkecocan) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *darkecocan-sg* #f :to obj)) + ) (send-event (handle->process (-> obj darkecocan)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj darkecocan)) 'center-joint 3) (send-event (handle->process (-> obj darkecocan)) 'trans-hook sequenceC-can-trans-hook) @@ -1834,8 +1716,7 @@ :name "sidekick-human-intro-sequence-c" :index 6 :parts 22 - :command-list - '((0 blackout 0) + :command-list '((0 blackout 0) (0 kill "fuel-cell-11") (0 kill "fuel-cell-50") (0 kill "money-1561") @@ -1899,8 +1780,7 @@ ;; failed to figure out what this is: (defstate play-anim (sequenceC) :virtual #t - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self bonelurker)))) (if a0-1 (deactivate a0-1) @@ -1915,8 +1795,7 @@ (start 'play (get-continue-by-name *game-info* "village1-intro")) (none) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "sage-intro-sequence-d1" 0 self (the-as float -1.0)) ((-> (method-of-type process-taskable play-anim) trans)) (none) @@ -1934,14 +1813,16 @@ (when (>= (ja-aframe-num 0) 1655.0) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 3)) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 562) -1 #f #f #f gp-0) - (-> s5-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 562) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (set! (-> self cur-trans-hook) nothing) diff --git a/test/decompiler/reference/levels/ogre/flying-lurker_REF.gc b/test/decompiler/reference/levels/ogre/flying-lurker_REF.gc index fb2d97d812..68be9b05ba 100644 --- a/test/decompiler/reference/levels/ogre/flying-lurker_REF.gc +++ b/test/decompiler/reference/levels/ogre/flying-lurker_REF.gc @@ -49,8 +49,7 @@ ;; failed to figure out what this is: (defstate plunger-lurker-plunge (plunger-lurker) - :code - (behavior () + :code (behavior () (set-setting! *setting-control* self 'allow-progress #f 0.0 0) (logclear! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #t) @@ -60,19 +59,10 @@ (while (not (process-grab? *target*)) (suspend) ) - (let* ((gp-0 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 - (ppointer->handle - (when gp-0 - (let ((t9-4 (method-of-type manipy activate))) - (t9-4 (the-as manipy gp-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 manipy-init (-> self entity extra trans) (-> self entity) *ogrecam-sg* #f) - (-> gp-0 ppointer) - ) - ) - ) - ) + (let ((gp-1 + (ppointer->handle (manipy-spawn (-> self entity extra trans) (-> self entity) *ogrecam-sg* #f :to self)) + ) + ) (let ((s5-0 (the-as othercam (get-process *default-dead-pool* othercam #x4000)))) (ppointer->handle (when s5-0 (let ((t9-7 (method-of-type othercam activate))) @@ -115,8 +105,7 @@ :name "plunger-lurker-blowup" :index 7 :parts 4 - :command-list - '((200 alive "tntbarrel-223") + :command-list '((200 alive "tntbarrel-223") (200 alive "tntbarrel-222") (200 alive "tntbarrel-221") (200 alive "tntbarrel-220") @@ -170,17 +159,7 @@ (process-release? *target*) (suspend) 0 - (let ((a1-15 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-15 from) self) - (set! (-> a1-15 num-params) 2) - (set! (-> a1-15 message) 'attack-invinc) - (set! (-> a1-15 param 0) (the-as uint #f)) - (let ((a0-37 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-37 mode) 'instant-death) - (set! (-> a1-15 param 1) (the-as uint a0-37)) - ) - (send-event-function *target* a1-15) - ) + (send-event *target* 'attack-invinc #f (static-attack-info ((mode 'instant-death)))) (cleanup-for-death self) (deactivate self) (loop @@ -188,14 +167,12 @@ ) (none) ) - :post - (the-as (function none :behavior plunger-lurker) ja-post) + :post (the-as (function none :behavior plunger-lurker) ja-post) ) ;; failed to figure out what this is: (defstate plunger-lurker-flee (plunger-lurker) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'attack) (let ((v0-0 #t)) @@ -206,8 +183,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (-> self got-hit) (close-specific-task! (game-task plunger-lurker-hit) (task-status need-hint)) (process-entity-status! self (entity-perm-status complete) #t) @@ -218,22 +194,23 @@ *entity-pool* (game-task none) ) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 part-tracker-init (-> *part-group-id-table* 474) -1 #f #f #f (-> self root trans)) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 474) + -1 + #f + #f + #f + (-> self root trans) + :to *entity-pool* ) (cleanup-for-death self) (deactivate self) ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! plunger-lurker-notice-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -249,14 +226,12 @@ ) (none) ) - :post - (the-as (function none :behavior plunger-lurker) ja-post) + :post (the-as (function none :behavior plunger-lurker) ja-post) ) ;; failed to figure out what this is: (defstate plunger-lurker-idle (plunger-lurker) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('plunge) (logclear! (-> self mask) (process-mask actor-pause)) @@ -264,8 +239,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "plunger-lurker-blowup" 0 self -99.0) (when (and *target* (< (vector-vector-distance-squared (-> self root trans) (target-pos 0)) 6710886400.0)) (logclear! (-> self mask) (process-mask actor-pause)) @@ -273,8 +247,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! plunger-lurker-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -284,14 +257,12 @@ ) (none) ) - :post - (the-as (function none :behavior plunger-lurker) ja-post) + :post (the-as (function none :behavior plunger-lurker) ja-post) ) ;; failed to figure out what this is: (defstate plunger-lurker-die (plunger-lurker) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (deactivate self) (suspend) @@ -505,8 +476,7 @@ ;; failed to figure out what this is: (defstate flying-lurker-die (flying-lurker) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (deactivate self) (none) @@ -515,8 +485,7 @@ ;; failed to figure out what this is: (defstate flying-lurker-sleep (flying-lurker) - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status bit-3) #f) (logior! (-> self draw status) (draw-status hidden)) (loop @@ -663,8 +632,7 @@ ;; failed to figure out what this is: (defstate flying-lurker-fly (flying-lurker) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'clone-and-kill-links) @@ -765,14 +733,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (process-entity-status! self (entity-perm-status bit-3) #t) (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (dummy-20 self) (when (not (movie?)) (flying-lurker-calc-speed (meters 15.0) (meters 30.0) (meters 0.11666667) (meters 0.083333336)) @@ -804,8 +770,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (ja-group? flying-lurker-fly-ja)) (ja-channel-push! 1 (seconds 0.2)) @@ -833,8 +798,7 @@ ) (none) ) - :post - (the-as (function none :behavior flying-lurker) ja-post) + :post (the-as (function none :behavior flying-lurker) ja-post) ) ;; definition for function flying-lurker-handler @@ -949,19 +913,10 @@ (suspend) (kill-current-level-hint '() '() 'die) (suspend) - (let* ((gp-0 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 - (ppointer->handle - (when gp-0 - (let ((t9-5 (method-of-type manipy activate))) - (t9-5 (the-as manipy gp-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 manipy-init (-> self entity extra trans) (-> self entity) *ogrecam-sg* #f) - (-> gp-0 ppointer) - ) - ) - ) - ) + (let ((gp-1 + (ppointer->handle (manipy-spawn (-> self entity extra trans) (-> self entity) *ogrecam-sg* #f :to self)) + ) + ) (let ((s5-0 (the-as othercam (get-process *default-dead-pool* othercam #x4000)))) (ppointer->handle (when s5-0 (let ((t9-8 (method-of-type othercam activate))) @@ -1011,45 +966,37 @@ ) ) (process-release? *target*) - (let ((gp-2 (get-process *default-dead-pool* process #x4000))) - (when gp-2 - (let ((t9-18 (method-of-type process activate))) - (t9-18 gp-2 self 'process (the-as pointer #x70004000)) + (process-spawn-function + process + (lambda :behavior process + () + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 0.1)) + (suspend) + ) ) - (run-next-time-in-process gp-2 (lambda :behavior process - () - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 0.1)) - (suspend) - ) - ) - (level-hint-spawn - (game-text-id assistant-voicebox-intro-ogre-race) - "asstvb24" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (none) - ) - ) - (-> gp-2 ppointer) + (level-hint-spawn + (game-text-id assistant-voicebox-intro-ogre-race) + "asstvb24" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (none) ) + :to self ) (none) ) ;; failed to figure out what this is: (defstate flying-lurker-start (flying-lurker) - :event - flying-lurker-handler - :exit - (behavior () + :event flying-lurker-handler + :exit (behavior () (clear-pending-settings-from-process *setting-control* self 'allow-progress) (none) ) - :code - (behavior () + :code (behavior () (when (play-movie?) (set-setting! *setting-control* self 'allow-progress #f 0.0 0) (flying-lurker-play-intro) @@ -1084,14 +1031,12 @@ ) (none) ) - :post - (the-as (function none :behavior flying-lurker) ja-post) + :post (the-as (function none :behavior flying-lurker) ja-post) ) ;; failed to figure out what this is: (defstate flying-lurker-clone (flying-lurker) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'die) @@ -1177,13 +1122,11 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (ja-channel-set! 0) (none) ) - :code - (behavior ((arg0 handle) (arg1 string)) + :code (behavior ((arg0 handle) (arg1 string)) (clone-anim arg0 3 #t arg1) (none) ) @@ -1191,8 +1134,7 @@ ;; failed to figure out what this is: (defstate flying-lurker-idle (flying-lurker) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('saw-player) (set! (-> self take-off) #t) @@ -1257,21 +1199,18 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "flying-lurker-intro" 0 self -99.0) (if (and (-> self take-off) (first?)) (go flying-lurker-start) ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (gp-0 int) (f30-0 float)) 1.0 0 @@ -1325,8 +1264,7 @@ ) (none) ) - :post - (the-as (function none :behavior flying-lurker) ja-post) + :post (the-as (function none :behavior flying-lurker) ja-post) ) ;; definition for method 11 of type flying-lurker diff --git a/test/decompiler/reference/levels/ogre/ogre-obs_REF.gc b/test/decompiler/reference/levels/ogre/ogre-obs_REF.gc index c9426fedcd..f14116f207 100644 --- a/test/decompiler/reference/levels/ogre/ogre-obs_REF.gc +++ b/test/decompiler/reference/levels/ogre/ogre-obs_REF.gc @@ -20,8 +20,7 @@ :id 473 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2234 :period 3000 :length 5) + :parts ((sp-item 2234 :period 3000 :length 5) (sp-item 2235 :period 3000 :length 5) (sp-item 2236 :period 3000 :length 40) (sp-item 2237 :period 3000 :length 40) @@ -31,8 +30,7 @@ ;; failed to figure out what this is: (defpart 2236 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.8) 1.0) @@ -60,14 +58,12 @@ ;; failed to figure out what this is: (defpart 2239 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 2238 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-flt spt-scale-x (meters 0.5)) @@ -88,8 +84,7 @@ ;; failed to figure out what this is: (defpart 2234 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 128)) @@ -105,8 +100,7 @@ ;; failed to figure out what this is: (defpart 2235 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 32)) @@ -122,8 +116,7 @@ ;; failed to figure out what this is: (defpart 2237 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 48.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 16) (meters 10) 1.0) @@ -152,8 +145,7 @@ ;; failed to figure out what this is: (defpart 2240 - :init-specs - ((sp-flt spt-fade-r -0.26666668) + :init-specs ((sp-flt spt-fade-r -0.26666668) (sp-flt spt-fade-g -0.26666668) (sp-flt spt-fade-b -0.52916664) (sp-int spt-next-time 240) @@ -163,8 +155,7 @@ ;; failed to figure out what this is: (defpart 2241 - :init-specs - ((sp-flt spt-fade-r -0.24380952) + :init-specs ((sp-flt spt-fade-r -0.24380952) (sp-flt spt-fade-g -0.12190476) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.09142857) @@ -175,8 +166,7 @@ ;; failed to figure out what this is: (defpart 2242 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: @@ -185,8 +175,7 @@ :duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2079 :period 600 :length 5) + :parts ((sp-item 2079 :period 600 :length 5) (sp-item 2080 :period 600 :length 40) (sp-item 2081 :period 600 :length 20) (sp-item 2082 :period 600 :length 20) @@ -195,8 +184,7 @@ ;; failed to figure out what this is: (defpart 2080 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -224,14 +212,12 @@ ;; failed to figure out what this is: (defpart 2083 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 2082 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-flt spt-scale-x (meters 0.3)) @@ -252,8 +238,7 @@ ;; failed to figure out what this is: (defpart 2079 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 24)) @@ -270,8 +255,7 @@ ;; failed to figure out what this is: (defpart 2081 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) @@ -300,8 +284,7 @@ ;; failed to figure out what this is: (defpart 2084 - :init-specs - ((sp-flt spt-fade-r -1.0666667) + :init-specs ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g -1.0666667) (sp-flt spt-fade-b -2.1166666) (sp-int spt-next-time 60) @@ -311,8 +294,7 @@ ;; failed to figure out what this is: (defpart 2085 - :init-specs - ((sp-flt spt-fade-r -0.5688889) + :init-specs ((sp-flt spt-fade-r -0.5688889) (sp-flt spt-fade-g -0.28444445) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334) @@ -323,8 +305,7 @@ ;; failed to figure out what this is: (defpart 2086 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: @@ -358,54 +339,35 @@ ;; failed to figure out what this is: (defstate die (tntbarrel) :virtual #t - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) (ja-post) (sound-play-by-name (static-sound-name "dcrate-break") (new-sound-id) 1024 0 0 1 #t) - (cond - (arg0 - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 473) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (if arg0 + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 473) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* + ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 474) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) ) - (else - (let ((gp-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-2 - (let ((t9-9 (method-of-type part-tracker activate))) - (t9-9 (the-as part-tracker gp-2) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-2 - part-tracker-init - (-> *part-group-id-table* 474) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-2 ppointer) - ) - ) - ) - ) (suspend) (cleanup-for-death self) (deactivate self) @@ -416,8 +378,7 @@ ;; failed to figure out what this is: (defstate idle (tntbarrel) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('die-big) (go-virtual die #t) @@ -426,23 +387,12 @@ (go-virtual die #f) ) (('attack 'touch) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'attack-invinc) - (set! (-> a1-7 param 0) (-> arg3 param 0)) - (let ((a2-2 (new 'static 'attack-info :mask #x20))) - (set! (-> a2-2 mode) 'death) - (set! (-> a1-7 param 1) (the-as uint a2-2)) - ) - (send-event-function arg0 a1-7) - ) + (send-event arg0 'attack-invinc (-> arg3 param 0) (static-attack-info ((mode 'death)))) (go-virtual die #f) ) ) ) - :code - (behavior () + :code (behavior () (transform-post) (logior! (-> self mask) (process-mask sleep)) (suspend) @@ -558,8 +508,7 @@ ;; failed to figure out what this is: (defstate rigid-body-platform-idle (ogre-plat) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'trigger) (set! (-> self triggered) (the-as entity-actor #t)) @@ -572,8 +521,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (cond ((-> self active) (when (and *target* (>= (-> self info idle-distance) @@ -594,28 +542,24 @@ ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior ogre-plat) ja-post) + :post (the-as (function none :behavior ogre-plat) ja-post) ) ;; failed to figure out what this is: (defstate rigid-body-platform-float (ogre-plat) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior ogre-plat) rigid-body-platform-event-handler ) - :trans - (behavior () + :trans (behavior () (cond ((or (not *target*) (< (-> self info idle-distance) (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) @@ -634,16 +578,14 @@ ) (none) ) - :code - (behavior () + :code (behavior () (logclear! (-> self draw status) (draw-status hidden)) (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior ogre-plat) rigid-body-platform-post) + :post (the-as (function none :behavior ogre-plat) rigid-body-platform-post) ) ;; definition for method 30 of type ogre-plat @@ -1088,25 +1030,22 @@ ;; failed to figure out what this is: (defstate ogre-bridge-idle (ogre-bridge) - :exit - (behavior () + :exit (behavior () (ogre-bridge-update-joints) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (and *target* (>= 286720.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) ) - (send-event *target* 'query 'powerup 3) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) (go ogre-bridge-activate) ) 0 (none) ) - :code - (behavior () + :code (behavior () (ja-post) (loop (suspend) @@ -1117,23 +1056,17 @@ ;; failed to figure out what this is: (defstate ogre-bridge-activate (ogre-bridge) - :code - (behavior () + :code (behavior () (let ((v1-0 (entity-actor-lookup (-> self entity) 'alt-actor 0))) - (when (when v1-0 - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) 'next-stage) - (not (send-event-function + (when (if v1-0 + (not (send-event (if v1-0 (-> v1-0 extra process) ) - a1-1 + 'next-stage ) ) ) - ) (suspend) 0 ) @@ -1149,14 +1082,12 @@ (go ogre-bridge-activated) (none) ) - :post - (the-as (function none :behavior ogre-bridge) rider-post) + :post (the-as (function none :behavior ogre-bridge) rider-post) ) ;; failed to figure out what this is: (defstate ogre-bridge-activated (ogre-bridge) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('break) (+! (-> self dead-joint-count) 4) @@ -1171,8 +1102,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 3) :num! max) (transform-post) (loop @@ -1180,41 +1110,38 @@ ) (none) ) - :post - (the-as (function none :behavior ogre-bridge) ja-post) + :post (the-as (function none :behavior ogre-bridge) ja-post) ) ;; failed to figure out what this is: (defstate ogre-bridge-break (ogre-bridge) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as - object - (when (= v1-0 'effect) - (when (= (-> arg3 param 0) 'splash) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (let ((a1-1 (-> arg3 param 2))) - (set! (-> gp-0 quad) (-> self node-list data a1-1 bone transform vector 3 quad)) - ) - (set! (-> gp-0 y) 118784.0) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 466) -1 #f #f #f gp-0) - (-> s5-0 ppointer) - ) - ) + (the-as object (when (= v1-0 'effect) + (when (= (-> arg3 param 0) 'splash) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (let ((a1-1 (-> arg3 param 2))) + (set! (-> gp-0 quad) (-> self node-list data a1-1 bone transform vector 3 quad)) + ) + (set! (-> gp-0 y) 118784.0) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 466) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* + ) + ) + ) + ) ) - ) - ) - ) ) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -1223,15 +1150,12 @@ (go ogre-bridge-idle) (none) ) - :post - (the-as (function none :behavior ogre-bridge) rider-post) + :post (the-as (function none :behavior ogre-bridge) rider-post) ) ;; definition for symbol *ogre-bridge-joint-array*, type (array uint8) (define *ogre-bridge-joint-array* - (the-as (array uint8) - (new 'static 'boxed-array :type uint8 :length 8 :allocated-length 8 #x4 #x9 #xc #x11 #x7 #xa #xf #x12) - ) + (the-as (array uint8) (new 'static 'boxed-array :type uint8 #x4 #x9 #xc #x11 #x7 #xa #xf #x12)) ) ;; definition for method 11 of type ogre-bridge @@ -1463,8 +1387,7 @@ ;; failed to figure out what this is: (defstate ogre-bridgeend-idle (ogre-bridgeend) - :code - (behavior () + :code (behavior () (transform-post) (anim-loop) (none) @@ -1518,8 +1441,7 @@ ;; failed to figure out what this is: (defstate water-vol-idle (ogre-lava) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('submerge1) (set! (-> self anim) 3) @@ -1546,8 +1468,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 2 (seconds 0.1)) (ja :chan 1 :group! (-> self draw art-group data (-> self idle-anim)) :num! min) (ja-no-eval :group! (-> self draw art-group data (-> self anim)) :num! (seek! max 0.5) :frame-num 0.0) @@ -1564,15 +1485,13 @@ ) (none) ) - :post - (the-as (function none :behavior ogre-lava) #f) + :post (the-as (function none :behavior ogre-lava) #f) ) ;; failed to figure out what this is: (defstate water-vol-startup (ogre-lava) :virtual #t - :code - (behavior () + :code (behavior () (set! (-> self idle-anim) 2) (set! (-> self anim) (-> self idle-anim)) (go-virtual water-vol-idle) @@ -1584,8 +1503,7 @@ (define ripple-for-ogre-lava (new 'static 'ripple-wave-set :count 2 :converted #f - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 2 :speed 3.0) (new 'static 'ripple-wave :scale 40.0 :xdiv -2 :zdiv 2 :speed 1.8) (new 'static 'ripple-wave) @@ -1653,8 +1571,7 @@ :duration 300 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2149 :period 1500 :length 5) + :parts ((sp-item 2149 :period 1500 :length 5) (sp-item 2150 :period 1500 :length 5) (sp-item 2151 :period 1500 :length 15) ) @@ -1662,8 +1579,7 @@ ;; failed to figure out what this is: (defpart 2150 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 15)) (sp-copy-from-other spt-scale-y -4) @@ -1679,8 +1595,7 @@ ;; failed to figure out what this is: (defpart 2149 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 16.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1704,8 +1619,7 @@ ;; failed to figure out what this is: (defpart 2151 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) @@ -1730,33 +1644,24 @@ ;; failed to figure out what this is: (defpart 2152 - :init-specs - ((sp-flt spt-fade-a -0.2)) + :init-specs ((sp-flt spt-fade-a -0.2)) ) ;; failed to figure out what this is: (defstate shortcut-boulder-break (shortcut-boulder) - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (lods-assign! (-> self draw) (-> self broken-look)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 475) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 475) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1767,14 +1672,12 @@ (deactivate self) (none) ) - :post - (the-as (function none :behavior shortcut-boulder) ja-post) + :post (the-as (function none :behavior shortcut-boulder) ja-post) ) ;; failed to figure out what this is: (defstate shortcut-boulder-idle (shortcut-boulder) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (if (and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) @@ -1783,8 +1686,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (transform-post) (loop (logior! (-> self mask) (process-mask sleep)) diff --git a/test/decompiler/reference/levels/ogre/ogre-part_REF.gc b/test/decompiler/reference/levels/ogre/ogre-part_REF.gc index 551bcc3e3a..6f8042e6e7 100644 --- a/test/decompiler/reference/levels/ogre/ogre-part_REF.gc +++ b/test/decompiler/reference/levels/ogre/ogre-part_REF.gc @@ -8,8 +8,7 @@ :linger-duration 3000 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2193 :period 1500 :length 5) + :parts ((sp-item 2193 :period 1500 :length 5) (sp-item 2194 :period 1500 :length 40) (sp-item 2195 :period 1500 :length 20) (sp-item 2196 :period 1500 :length 20) @@ -18,8 +17,7 @@ ;; failed to figure out what this is: (defpart 2194 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters -5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.2) 1.0) @@ -47,14 +45,12 @@ ;; failed to figure out what this is: (defpart 2197 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 2196 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-y (meters -5) (meters 1) 1.0) (sp-flt spt-scale-x (meters 0.6)) @@ -75,8 +71,7 @@ ;; failed to figure out what this is: (defpart 2193 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -4)) (sp-flt spt-scale-x (meters 44)) @@ -93,8 +88,7 @@ ;; failed to figure out what this is: (defpart 2195 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 24.0) (sp-rnd-flt spt-y (meters -5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 5) (meters 2.5) 1.0) @@ -123,8 +117,7 @@ ;; failed to figure out what this is: (defpart 2198 - :init-specs - ((sp-flt spt-fade-r -0.21333334) + :init-specs ((sp-flt spt-fade-r -0.21333334) (sp-flt spt-fade-g -0.21333334) (sp-flt spt-fade-b 0.0) (sp-int spt-next-time 150) @@ -134,8 +127,7 @@ ;; failed to figure out what this is: (defpart 2199 - :init-specs - ((sp-flt spt-fade-r -0.021333333) + :init-specs ((sp-flt spt-fade-r -0.021333333) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.08533333) @@ -146,8 +138,7 @@ ;; failed to figure out what this is: (defpart 2200 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: @@ -157,14 +148,12 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2023)) + :parts ((sp-item 2023)) ) ;; failed to figure out what this is: (defpart 2023 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1) 1.0) @@ -189,14 +178,12 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2108) (sp-item 2109) (sp-item 2110) (sp-item 2111)) + :parts ((sp-item 2108) (sp-item 2109) (sp-item 2110) (sp-item 2111)) ) ;; failed to figure out what this is: (defpart 2111 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 4.0 4.0 1.0) (sp-flt spt-y (meters -3)) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.75) 1.0) @@ -218,8 +205,7 @@ ;; failed to figure out what this is: (defpart 2108 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters 0) (meters 2) 1.0) (sp-flt spt-y (meters -3)) @@ -246,8 +232,7 @@ ;; failed to figure out what this is: (defpart 2109 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters 3) (meters 4) 1.0) (sp-flt spt-y (meters -3)) @@ -274,8 +259,7 @@ ;; failed to figure out what this is: (defpart 2110 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters 0) (meters 3) 1.0) (sp-rnd-flt spt-y (meters -3) (meters 1) 1.0) @@ -307,8 +291,7 @@ ;; failed to figure out what this is: (defpart 2112 - :init-specs - ((sp-flt spt-fade-a -0.08)) + :init-specs ((sp-flt spt-fade-a -0.08)) ) ;; failed to figure out what this is: @@ -318,14 +301,12 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 2201) (sp-item 2202) (sp-item 2203) (sp-item 2204)) + :parts ((sp-item 2201) (sp-item 2202) (sp-item 2203) (sp-item 2204)) ) ;; failed to figure out what this is: (defpart 2203 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) @@ -353,8 +334,7 @@ ;; failed to figure out what this is: (defpart 2205 - :init-specs - ((sp-flt spt-fade-r -0.85333335) + :init-specs ((sp-flt spt-fade-r -0.85333335) (sp-flt spt-fade-g -0.42666668) (sp-flt spt-fade-b -0.42666668) (sp-flt spt-fade-a -0.85333335) @@ -363,8 +343,7 @@ ;; failed to figure out what this is: (defpart 2204 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) @@ -384,8 +363,7 @@ ;; failed to figure out what this is: (defpart 2201 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-rnd-flt spt-scale-x (meters 28) (meters 4) 1.0) @@ -402,8 +380,7 @@ ;; failed to figure out what this is: (defpart 2202 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-rnd-flt spt-scale-x (meters 16) (meters 4) 1.0) @@ -423,14 +400,12 @@ (defpartgroup group-ogreboss-missile :id 469 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 1933) (sp-item 1934)) + :parts ((sp-item 1933) (sp-item 1934)) ) ;; failed to figure out what this is: (defpart 1934 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.3 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 2) 1.0) @@ -458,8 +433,7 @@ ;; failed to figure out what this is: (defpart 1933 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.3 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 2) 1.0) @@ -489,8 +463,7 @@ :linger-duration 600 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 2079 :period 600 :length 5) + :parts ((sp-item 2079 :period 600 :length 5) (sp-item 2206 :period 600 :length 40) (sp-item 2206 :period 600 :length 40) (sp-item 2206 :period 600 :length 30) @@ -503,8 +476,7 @@ ;; failed to figure out what this is: (defpart 2206 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -537,8 +509,7 @@ :duration 300 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 2079 :period 600 :length 5) + :parts ((sp-item 2079 :period 600 :length 5) (sp-item 2080 :period 600 :length 40) (sp-item 2148 :period 600 :length 20) (sp-item 2082 :period 600 :length 20) @@ -549,8 +520,7 @@ (defpartgroup group-ogre-lava-lava-20x20 :id 472 :bounds (static-bspherem 0 0 0 14) - :parts - ((sp-item 2030 :fade-after (meters 40) :falloff-to (meters 40)) + :parts ((sp-item 2030 :fade-after (meters 40) :falloff-to (meters 40)) (sp-item 2031 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 2032 :fade-after (meters 80) :falloff-to (meters 80) :binding 2028) (sp-item 2028 :flags (start-dead)) @@ -570,8 +540,7 @@ ;; failed to figure out what this is: (defpart 2031 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0.5)) @@ -598,8 +567,7 @@ ;; failed to figure out what this is: (defpart 2033 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0)) @@ -620,8 +588,7 @@ ;; failed to figure out what this is: (defpart 2032 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.02 0.02 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0)) @@ -644,8 +611,7 @@ ;; failed to figure out what this is: (defpart 2030 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -10) (meters 20) 1.0) @@ -667,20 +633,17 @@ ;; failed to figure out what this is: (defpart 2035 - :init-specs - ((sp-flt spt-fade-b 16.384)) + :init-specs ((sp-flt spt-fade-b 16.384)) ) ;; failed to figure out what this is: (defpart 2034 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 2036)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 2036)) ) ;; failed to figure out what this is: (defpart 2036 - :init-specs - ((sp-flt spt-fade-r -0.85333335) + :init-specs ((sp-flt spt-fade-r -0.85333335) (sp-flt spt-fade-g -0.42666668) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 2037) @@ -689,14 +652,12 @@ ;; failed to figure out what this is: (defpart 2037 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a -0.10666667)) ) ;; failed to figure out what this is: (defpart 2028 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.7) (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.25) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -714,8 +675,7 @@ ;; failed to figure out what this is: (defpart 2029 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) diff --git a/test/decompiler/reference/levels/ogre/ogreboss_REF.gc b/test/decompiler/reference/levels/ogre/ogreboss_REF.gc index 5059d6311d..9605ca5704 100644 --- a/test/decompiler/reference/levels/ogre/ogreboss_REF.gc +++ b/test/decompiler/reference/levels/ogre/ogreboss_REF.gc @@ -49,14 +49,10 @@ ;; definition for symbol *ogreboss-missile-shadow-control*, type shadow-control (define *ogreboss-missile-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #xe)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 614400.0) - :bot-plane - (new 'static 'plane :y 1.0 :w -102400.0) - :top-plane - (new 'static 'plane :y 1.0 :w -143360.0) + :center (new 'static 'vector :w (the-as float #xe)) + :shadow-dir (new 'static 'vector :y -1.0 :w 614400.0) + :bot-plane (new 'static 'plane :y 1.0 :w -102400.0) + :top-plane (new 'static 'plane :y 1.0 :w -143360.0) ) ) ) @@ -64,14 +60,10 @@ ;; definition for symbol *ogreboss-shadow-control*, type shadow-control (define *ogreboss-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #xc)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 614400.0) - :bot-plane - (new 'static 'plane :y 1.0 :w -102400.0) - :top-plane - (new 'static 'plane :y 1.0 :w -143360.0) + :center (new 'static 'vector :w (the-as float #xc)) + :shadow-dir (new 'static 'vector :y -1.0 :w 614400.0) + :bot-plane (new 'static 'plane :y 1.0 :w -102400.0) + :top-plane (new 'static 'plane :y 1.0 :w -143360.0) :fade-dist 819200.0 ) ) @@ -117,13 +109,11 @@ ;; failed to figure out what this is: (defstate ogreboss-missile-idle (ogreboss-missile) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'collide-tri-result)) @@ -164,14 +154,12 @@ (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior ogreboss-missile) transform-post) + :post (the-as (function none :behavior ogreboss-missile) transform-post) ) ;; failed to figure out what this is: (defstate ogreboss-missile-seek (ogreboss-missile) - :post - (behavior () + :post (behavior () (quaternion*! (-> self root-override quat) (-> self root-override quat) (-> self tumble-quat)) (transform-post) (none) @@ -183,26 +171,19 @@ (defun ogreboss-rock-explosion-effect ((arg0 basic)) (with-pp (sound-play-by-name (static-sound-name "ogre-explode") (new-sound-id) 1024 0 0 1 (the-as symbol arg0)) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 471) -1 #f #f #f arg0) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 471) + -1 + #f + #f + #f + arg0 + :to *entity-pool* ) (activate! *camera-smush-control* (the-as float 819.2) 37 600 (the-as float 1.0) (the-as float 0.995)) - (let* ((s4-1 (get-process *default-dead-pool* manipy #x4000)) - (gp-2 (when s4-1 - (let ((t9-7 (method-of-type manipy activate))) - (t9-7 (the-as manipy s4-1) pp 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 manipy-init arg0 (-> pp entity) *ogreboss-shoot-boulder-break-sg* #f) - (-> s4-1 ppointer) - ) - ) - ) + (let ((gp-2 (manipy-spawn arg0 (-> pp entity) *ogreboss-shoot-boulder-break-sg* #f :to pp))) (quaternion-axis-angle! (-> (the-as manipy (-> gp-2 0)) root quat) (the-as float 0.0) @@ -231,25 +212,14 @@ ;; failed to figure out what this is: (defstate ogreboss-missile-impact (ogreboss-missile) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touched) (cond (#f (cond ((= (-> arg0 type) target) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'attack) - (set! (-> a1-1 param 0) (-> arg3 param 0)) - (let ((a0-3 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-3 mode) 'explode) - (set! (-> a1-1 param 1) (the-as uint a0-3)) - ) - (send-event-function arg0 a1-1) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'explode)))) ) (else (let ((a1-2 (new 'stack-no-clear 'event-message-block))) @@ -310,17 +280,7 @@ (the-as rgba (new 'static 'rgba :g #xff :a #x80)) ) (when (>= f30-0 0.0) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'attack) - (set! (-> a1-7 param 0) (-> arg3 param 0)) - (let ((a0-16 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-16 mode) 'damage) - (set! (-> a1-7 param 1) (the-as uint a0-16)) - ) - (send-event-function arg0 a1-7) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'damage)))) (send-event (ppointer->process (-> self parent-override)) 'victory) ) ) @@ -339,8 +299,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask enemy projectile)) (ogreboss-rock-explosion-effect (the-as basic (-> self root-override trans))) (when (nonzero? (-> self pickup-type)) @@ -376,8 +335,7 @@ (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior ogreboss-missile) ja-post) + :post (the-as (function none :behavior ogreboss-missile) ja-post) ) ;; definition of type ogreboss-missile-init-data @@ -533,17 +491,7 @@ (the-as uint 1) ) ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (let ((a0-4 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-4 mode) 'ogreboss-super-boulder) - (set! (-> a1-2 param 1) (the-as uint a0-4)) - ) - (send-event-function arg0 a1-2) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'ogreboss-super-boulder)))) (go ogreboss-super-boulder-killed-player) ) ) @@ -576,8 +524,7 @@ ;; failed to figure out what this is: (defstate ogreboss-super-boulder-idle (ogreboss-super-boulder) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('speedup) (let ((f0-1 (* 1.3 (-> self speed)))) @@ -602,13 +549,11 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self sound-id)) (none) ) - :code - (behavior () + :code (behavior () (ja :group! ogreboss-super-boulder-idle-ja :num! min) (set! (-> self joint enable) #t) (set! (-> self joint blend) 1.0) @@ -648,8 +593,7 @@ ) (none) ) - :post - (the-as (function none :behavior ogreboss-super-boulder) transform-post) + :post (the-as (function none :behavior ogreboss-super-boulder) transform-post) ) ;; definition for function ogreboss-super-boulder-impact-effect @@ -665,14 +609,16 @@ (the-as symbol (-> self draw origin)) ) (activate! *camera-smush-control* (the-as float 819.2) 37 600 (the-as float 1.0) (the-as float 0.995)) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 471) -1 #f #f #f (-> self draw origin)) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 471) + -1 + #f + #f + #f + (-> self draw origin) + :to *entity-pool* ) 0 (none) @@ -702,10 +648,8 @@ ;; failed to figure out what this is: (defstate ogreboss-super-boulder-throw (ogreboss-super-boulder) - :event - ogreboss-super-boulder-event-handler - :code - (behavior () + :event ogreboss-super-boulder-event-handler + :code (behavior () (set! (-> self hit-boss) #f) (set! (-> self src-pos quad) (-> self root-override trans quad)) (ja-no-eval :group! ogreboss-super-boulder-throw-ja :num! (seek!) :frame-num 0.0) @@ -726,31 +670,25 @@ (go ogreboss-super-boulder-land) (none) ) - :post - (the-as (function none :behavior ogreboss-super-boulder) transform-post) + :post (the-as (function none :behavior ogreboss-super-boulder) transform-post) ) ;; failed to figure out what this is: (defstate ogreboss-super-boulder-hit (ogreboss-super-boulder) - :event - ogreboss-super-boulder-event-handler - :code - (behavior () + :event ogreboss-super-boulder-event-handler + :code (behavior () (set! (-> self hit-boss) #t) (ogreboss-super-boulder-play-hit-anim) (go ogreboss-super-boulder-land) (none) ) - :post - (the-as (function none :behavior ogreboss-super-boulder) transform-post) + :post (the-as (function none :behavior ogreboss-super-boulder) transform-post) ) ;; failed to figure out what this is: (defstate ogreboss-super-boulder-die (ogreboss-super-boulder) - :event - ogreboss-super-boulder-event-handler - :code - (behavior () + :event ogreboss-super-boulder-event-handler + :code (behavior () (ogreboss-super-boulder-play-hit-anim) (ogreboss-rock-explosion-effect (the-as basic (-> self draw origin))) (ogreboss-rock-explosion-effect (the-as basic (-> self draw origin))) @@ -761,16 +699,13 @@ (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior ogreboss-super-boulder) transform-post) + :post (the-as (function none :behavior ogreboss-super-boulder) transform-post) ) ;; failed to figure out what this is: (defstate ogreboss-super-boulder-land (ogreboss-super-boulder) - :event - ogreboss-super-boulder-event-handler - :code - (behavior () + :event ogreboss-super-boulder-event-handler + :code (behavior () (set! (-> self root-override trans quad) (-> self orig-pos quad)) (ogreboss-super-boulder-impact-effect) (set! (-> self joint enable) #f) @@ -791,8 +726,7 @@ (go ogreboss-super-boulder-roll) (none) ) - :post - (behavior () + :post (behavior () (transform-post) 0 (none) @@ -801,10 +735,8 @@ ;; failed to figure out what this is: (defstate ogreboss-super-boulder-roll (ogreboss-super-boulder) - :event - ogreboss-super-boulder-event-handler - :code - (behavior () + :event ogreboss-super-boulder-event-handler + :code (behavior () (ogreboss-super-boulder-impact-effect) (ja-no-eval :group! ogreboss-super-boulder-roll-ja :num! (seek! (ja-aframe (the-as float 162.0) 0)) @@ -868,8 +800,7 @@ (cleanup-for-death self) (none) ) - :post - (behavior () + :post (behavior () (transform-post) 0 (none) @@ -893,8 +824,7 @@ ;; failed to figure out what this is: (defstate ogreboss-super-boulder-killed-player (ogreboss-super-boulder) - :code - (behavior () + :code (behavior () (clear-collide-with-as (-> self root-override)) (ja-post) (loop @@ -1007,10 +937,8 @@ ;; failed to figure out what this is: (defstate ogreboss-bounce-boulder-idle (ogreboss-bounce-boulder) - :event - ogreboss-bounce-boulder-event-handler - :code - (behavior () + :event ogreboss-bounce-boulder-event-handler + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((f30-0 2.0)) (ja-no-eval :group! ogreboss-bounce-boulder-idle-ja @@ -1039,8 +967,7 @@ (cleanup-for-death self) (none) ) - :post - (behavior () + :post (behavior () (vector+*! (-> self root-override trans) (-> self src-pos) (-> self side-dir) (-> self side-pos)) (transform-post) (find-ground-and-draw-shadow @@ -1297,20 +1224,9 @@ ;; failed to figure out what this is: (defstate ogreboss-idle (ogreboss) - :enter - (behavior () + :enter (behavior () (when (zero? (-> self try-count)) - (let* ((s5-0 (get-process *default-dead-pool* manipy #x4000)) - (gp-0 - (when s5-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> self root-override trans) (-> self entity) *ogreboss-column-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) + (let ((gp-0 (manipy-spawn (-> self root-override trans) (-> self entity) *ogreboss-column-sg* #f :to self))) (set! (-> self column) (ppointer->handle gp-0)) (send-event (ppointer->process gp-0) 'anim-mode 'loop) (send-event (ppointer->process gp-0) 'art-joint-anim "ogreboss-column-idle" 0) @@ -1319,8 +1235,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (try-preload-stream *art-control* "$GAMCAM23" 0 self (the-as float -99.0)) (when *target* (let ((gp-0 (-> *target* control trans))) @@ -1334,20 +1249,17 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ogreboss-reset-camera) (ogreboss-idle-loop) (none) ) - :post - (the-as (function none :behavior ogreboss) ja-post) + :post (the-as (function none :behavior ogreboss) ja-post) ) ;; failed to figure out what this is: (defstate ogreboss-intro (ogreboss) - :code - (behavior () + :code (behavior () (when (zero? (-> self try-count)) (process-drawable-delay-player (seconds 1)) (let ((gp-0 (get-process *default-dead-pool* pov-camera #x4000))) @@ -1385,14 +1297,12 @@ (go ogreboss-wait-for-player) (none) ) - :post - (the-as (function none :behavior ogreboss) ja-post) + :post (the-as (function none :behavior ogreboss) ja-post) ) ;; failed to figure out what this is: (defstate ogreboss-wait-for-player (ogreboss) - :trans - (behavior () + :trans (behavior () (when *target* (if (ogreboss-player-inside-range? (the-as float 614400.0)) (go ogreboss-stage1) @@ -1403,13 +1313,11 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ogreboss-idle-loop) (none) ) - :post - (the-as (function none :behavior ogreboss) ja-post) + :post (the-as (function none :behavior ogreboss) ja-post) ) ;; definition for function ogreboss-debug-adjust-difficulty @@ -1499,24 +1407,18 @@ 1 (the-as symbol (-> self root-override trans)) ) - (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-2 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-2) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 part-tracker-init (-> *part-group-id-table* 470) -1 #f #f #f (-> gp-0 src)) - (-> s5-2 ppointer) - ) - ) - (let ((s5-3 (get-process *default-dead-pool* ogreboss-missile #x4000))) - (when s5-3 - (let ((t9-8 (method-of-type ogreboss-missile activate))) - (t9-8 (the-as ogreboss-missile s5-3) self 'ogreboss-missile (the-as pointer #x70004000)) - ) - (run-now-in-process s5-3 ogreboss-missile-init-by-other gp-0 (-> self entity)) - (-> s5-3 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 470) + -1 + #f + #f + #f + (-> gp-0 src) + :to *entity-pool* ) + (process-spawn ogreboss-missile gp-0 (-> self entity) :to self) ) 0 (none) @@ -1686,8 +1588,7 @@ ;; failed to figure out what this is: (defstate ogreboss-stage1 (ogreboss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('next-stage) (set! (-> self bridge-assembled) #t) @@ -1695,13 +1596,11 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (-> self bridge-assembled) (ogreboss-player-inside-range? (the-as float 524288.0)) (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) @@ -1710,8 +1609,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self mask) (logior (process-mask enemy) (-> self mask))) (ogreboss-set-stage1-camera) (ogreboss-move-near (seconds 3) (the-as float 1.0)) @@ -1799,8 +1697,7 @@ (go ogreboss-stage1) (none) ) - :post - ogreboss-post + :post ogreboss-post ) ;; definition for function ogreboss-roll-boulder @@ -1822,37 +1719,13 @@ (let ((v1-7 (-> self roll-boulder))) (cond ((zero? v1-7) - (let ((gp-2 (get-process *default-dead-pool* ogreboss-bounce-boulder #x4000))) - (when gp-2 - (let ((t9-4 (method-of-type ogreboss-bounce-boulder activate))) - (t9-4 (the-as ogreboss-bounce-boulder gp-2) self 'ogreboss-bounce-boulder (the-as pointer #x70004000)) - ) - (run-now-in-process gp-2 ogreboss-bounce-boulder-init-by-other 2 (-> self entity)) - (-> gp-2 ppointer) - ) - ) + (process-spawn ogreboss-bounce-boulder 2 (-> self entity) :to self) ) ((= v1-7 1) - (let ((gp-3 (get-process *default-dead-pool* ogreboss-bounce-boulder #x4000))) - (when gp-3 - (let ((t9-7 (method-of-type ogreboss-bounce-boulder activate))) - (t9-7 (the-as ogreboss-bounce-boulder gp-3) self 'ogreboss-bounce-boulder (the-as pointer #x70004000)) - ) - (run-now-in-process gp-3 ogreboss-bounce-boulder-init-by-other 1 (-> self entity)) - (-> gp-3 ppointer) - ) - ) + (process-spawn ogreboss-bounce-boulder 1 (-> self entity) :to self) ) (else - (let ((gp-4 (get-process *default-dead-pool* ogreboss-bounce-boulder #x4000))) - (when gp-4 - (let ((t9-10 (method-of-type ogreboss-bounce-boulder activate))) - (t9-10 (the-as ogreboss-bounce-boulder gp-4) self 'ogreboss-bounce-boulder (the-as pointer #x70004000)) - ) - (run-now-in-process gp-4 ogreboss-bounce-boulder-init-by-other 0 (-> self entity)) - (-> gp-4 ppointer) - ) - ) + (process-spawn ogreboss-bounce-boulder 0 (-> self entity) :to self) ) ) ) @@ -1980,20 +1853,16 @@ ;; failed to figure out what this is: (defstate ogreboss-stage2 (ogreboss) - :event - ogreboss-attack-event-handler - :enter - (behavior () + :event ogreboss-attack-event-handler + :enter (behavior () (set! (-> self boulder) (the-as handle #f)) (none) ) - :trans - (behavior () + :trans (behavior () 0 (none) ) - :code - (behavior () + :code (behavior () (ogreboss-set-stage2-camera) (ogreboss-move-far (seconds 0.1) (the-as float 2.0)) (let ((f30-0 (* 0.75 (-> self difficulty)))) @@ -2033,42 +1902,25 @@ (go ogreboss-stage3-shuffle) (none) ) - :post - ogreboss-post + :post ogreboss-post ) ;; definition for function ogreboss-spawn-super-boulder ;; INFO: Return type mismatch int vs none. (defbehavior ogreboss-spawn-super-boulder ogreboss () - (let ((gp-0 (get-process *default-dead-pool* ogreboss-super-boulder #x4000))) - (set! (-> self boulder) - (ppointer->handle - (when gp-0 - (let ((t9-1 (method-of-type ogreboss-super-boulder activate))) - (t9-1 (the-as ogreboss-super-boulder gp-0) self 'ogreboss-super-boulder (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - ogreboss-super-boulder-init-by-other - (-> self far-pos) - (-> self grow-time) - (-> self entity) - ) - (-> gp-0 ppointer) - ) - ) + (set! (-> self boulder) + (ppointer->handle + (process-spawn ogreboss-super-boulder (-> self far-pos) (-> self grow-time) (-> self entity) :to self) ) - ) + ) 0 (none) ) ;; failed to figure out what this is: (defstate ogreboss-stage3-shuffle (ogreboss) - :event - ogreboss-attack-event-handler - :enter - (behavior () + :event ogreboss-attack-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self hit-count) 0) (set! (-> self max-hit-count) (the int (* 6.0 (-> self difficulty)))) @@ -2076,14 +1928,12 @@ (set! (-> self boulder) (the-as handle #f)) (none) ) - :exit - (behavior () + :exit (behavior () (send-event *camera* 'point-of-interest #f) (set! (-> self vulnerable) #f) (none) ) - :trans - (behavior () + :trans (behavior () (let ((v1-1 (handle->process (-> self boulder)))) (if (and v1-1 (>= (-> (the-as ogreboss-super-boulder v1-1) size) 1.0)) (go ogreboss-stage3-throw) @@ -2098,8 +1948,7 @@ 0 (none) ) - :code - (behavior () + :code (behavior () (set! (-> self shuffle-pos) 0.0) (let ((f30-0 (+ 1.0 (* 0.25 (-> self difficulty) (-> self level)))) (gp-0 (if (rand-vu-percent? (the-as float 0.5)) @@ -2186,8 +2035,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (vector+*! (-> self root-override trans) (-> self far-pos) (-> self side-dir) (-> self shuffle-pos)) (ogreboss-post) (none) @@ -2196,8 +2044,7 @@ ;; failed to figure out what this is: (defstate ogreboss-stage3-throw (ogreboss) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (send-event (handle->process (-> self boulder)) 'go-throw) (ja-no-eval :group! ogreboss-attack3-throw-ja :num! (seek!) :frame-num 0.0) @@ -2219,14 +2066,12 @@ (go ogreboss-stage1) (none) ) - :post - (the-as (function none :behavior ogreboss) transform-post) + :post (the-as (function none :behavior ogreboss) transform-post) ) ;; failed to figure out what this is: (defstate ogreboss-stage3-hit (ogreboss) - :code - (behavior () + :code (behavior () (set! (-> self level) (+ 1.0 (-> self level))) (if (< 2.0 (-> self level)) (go ogreboss-die) @@ -2246,8 +2091,7 @@ (go ogreboss-stage1) (none) ) - :post - (the-as (function none :behavior ogreboss) transform-post) + :post (the-as (function none :behavior ogreboss) transform-post) ) ;; definition for function ogreboss-trigger-steps @@ -2279,8 +2123,7 @@ ;; failed to figure out what this is: (defstate ogreboss-die (ogreboss) - :code - (behavior () + :code (behavior () (ogreboss-reset-camera) (send-event (handle->process (-> self boulder)) 'go-die) (ja-channel-push! 1 (seconds 0.2)) @@ -2298,13 +2141,11 @@ ;; failed to figure out what this is: (defstate ogreboss-dead (ogreboss) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior ogreboss) process-drawable-fuel-cell-handler ) - :code - (behavior () + :code (behavior () (clear-pending-settings-from-process *setting-control* self 'music) (ogreboss-reset-camera) (let ((gp-0 (new 'stack-no-clear 'event-message-block))) diff --git a/test/decompiler/reference/levels/racer_common/racer-part_REF.gc b/test/decompiler/reference/levels/racer_common/racer-part_REF.gc index 9fa208e6f5..f7bbe90a1d 100644 --- a/test/decompiler/reference/levels/racer_common/racer-part_REF.gc +++ b/test/decompiler/reference/levels/racer_common/racer-part_REF.gc @@ -50,8 +50,7 @@ :id 108 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 740 :flags (launch-asap))) + :parts ((sp-item 740 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -59,8 +58,7 @@ :id 109 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 741 :flags (launch-asap))) + :parts ((sp-item 741 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -68,14 +66,12 @@ :id 110 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 1999 :flags (launch-asap))) + :parts ((sp-item 1999 :flags (launch-asap))) ) ;; failed to figure out what this is: (defpart 741 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x45f)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x45f)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3)) (sp-int spt-rot-x 4) @@ -91,8 +87,7 @@ ;; failed to figure out what this is: (defpart 740 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x45f)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x45f)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-int spt-rot-x 4) @@ -110,8 +105,7 @@ ;; failed to figure out what this is: (defpart 1999 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x45f)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x45f)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.8)) (sp-int spt-rot-x 4) @@ -212,8 +206,7 @@ :id 111 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 737 :flags (launch-asap))) + :parts ((sp-item 737 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -221,8 +214,7 @@ :id 112 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 738 :flags (launch-asap))) + :parts ((sp-item 738 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -230,8 +222,7 @@ :id 113 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 739 :flags (launch-asap))) + :parts ((sp-item 739 :flags (launch-asap))) ) ;; failed to figure out what this is: @@ -239,14 +230,12 @@ :id 114 :flags (use-local-clock screen-space) :bounds (static-bspherem 0 0 0 100) - :parts - ((sp-item 2010 :flags (launch-asap)) (sp-item 2011 :flags (launch-asap)) (sp-item 2012 :flags (launch-asap))) + :parts ((sp-item 2010 :flags (launch-asap)) (sp-item 2011 :flags (launch-asap)) (sp-item 2012 :flags (launch-asap))) ) ;; failed to figure out what this is: (defpart 739 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x45f)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x45f)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3)) (sp-int spt-rot-x 4) @@ -262,8 +251,7 @@ ;; failed to figure out what this is: (defpart 737 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x45f)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x45f)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3.5)) (sp-int spt-rot-x 4) @@ -279,8 +267,7 @@ ;; failed to figure out what this is: (defpart 738 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x45f)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x45f)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.9)) (sp-int spt-rot-x 4) @@ -297,8 +284,7 @@ ;; failed to figure out what this is: (defpart 2010 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2)) (sp-copy-from-other spt-scale-y -4) @@ -314,8 +300,7 @@ ;; failed to figure out what this is: (defpart 2011 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2)) (sp-copy-from-other spt-scale-y -4) @@ -331,8 +316,7 @@ ;; failed to figure out what this is: (defpart 2012 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 2)) (sp-copy-from-other spt-scale-y -4) @@ -517,8 +501,7 @@ (defpartgroup group-racer-trans-pad :id 115 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 742 :fade-after (meters 160)) + :parts ((sp-item 742 :fade-after (meters 160)) (sp-item 743 :fade-after (meters 160)) (sp-item 744 :fade-after (meters 60) :falloff-to (meters 60) :flags (is-3d)) ) @@ -526,8 +509,7 @@ ;; failed to figure out what this is: (defpart 742 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 7)) (sp-rnd-flt spt-scale-x (meters 14) (meters 1) 1.0) @@ -543,8 +525,7 @@ ;; failed to figure out what this is: (defpart 743 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 4)) (sp-rnd-flt spt-scale-x (meters 7) (meters 1) 1.0) @@ -561,8 +542,7 @@ ;; failed to figure out what this is: (defpart 744 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0.75) (meters 0.1) 1.0) (sp-flt spt-scale-x (meters 0)) @@ -586,8 +566,7 @@ ;; failed to figure out what this is: (defpart 2211 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -610,8 +589,7 @@ ;; failed to figure out what this is: (defpart 2207 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -636,8 +614,7 @@ ;; failed to figure out what this is: (defpart 2221 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 0.5 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.35) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -660,8 +637,7 @@ ;; failed to figure out what this is: (defpart 2208 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -686,8 +662,7 @@ ;; failed to figure out what this is: (defpart 2218 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -711,8 +686,7 @@ ;; failed to figure out what this is: (defpart 2215 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -737,8 +711,7 @@ ;; failed to figure out what this is: (defpart 2216 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -763,8 +736,7 @@ ;; failed to figure out what this is: (defpart 2831 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -789,8 +761,7 @@ ;; failed to figure out what this is: (defpart 2214 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -815,8 +786,7 @@ ;; failed to figure out what this is: (defpart 2220 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.025) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -840,8 +810,7 @@ ;; failed to figure out what this is: (defpart 2213 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -866,8 +835,7 @@ ;; failed to figure out what this is: (defpart 2275 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) (sp-flt spt-num 0.06) (sp-flt spt-x (meters 10)) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 3) 1.0) @@ -892,8 +860,7 @@ ;; failed to figure out what this is: (defpart 2276 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-rnd-flt spt-num 0.04 0.03 1.0) (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) (sp-rnd-flt spt-z (meters -0.2) (meters 0.4) 1.0) @@ -916,8 +883,7 @@ ;; failed to figure out what this is: (defpart 2212 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-func spt-birth-func 'birth-func-vector-orient) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 4) (meters -0.5) 1.0) @@ -937,8 +903,7 @@ ;; failed to figure out what this is: (defpart 2225 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) (sp-rnd-flt spt-num 4.0 16.0 1.0) (sp-flt spt-x (meters 0.9)) (sp-flt spt-y (meters 0.05)) @@ -968,8 +933,7 @@ ;; failed to figure out what this is: (defpart 2226 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) (sp-rnd-flt spt-num 4.0 16.0 1.0) (sp-flt spt-x (meters 0.9)) (sp-flt spt-y (meters 0.05)) @@ -999,8 +963,7 @@ ;; failed to figure out what this is: (defpart 2227 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1024,8 +987,7 @@ ;; failed to figure out what this is: (defpart 2277 - :init-specs - ((sp-flt spt-fade-r -5.0) + :init-specs ((sp-flt spt-fade-r -5.0) (sp-flt spt-fade-g -1.6) (sp-flt spt-fade-b 1.6) (sp-flt spt-fade-a 0.0) @@ -1036,8 +998,7 @@ ;; failed to figure out what this is: (defpart 2278 - :init-specs - ((sp-flt spt-fade-r -0.2) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-r -0.2) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334)) ) ;; failed to figure out what this is: @@ -1047,8 +1008,7 @@ :linger-duration 3000 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2279 :period 600 :length 5) + :parts ((sp-item 2279 :period 600 :length 5) (sp-item 2280 :period 600 :length 40) (sp-item 2281 :period 600 :length 20) (sp-item 2282 :period 600 :length 20) @@ -1057,8 +1017,7 @@ ;; failed to figure out what this is: (defpart 2280 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) @@ -1086,14 +1045,12 @@ ;; failed to figure out what this is: (defpart 2283 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 2282 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-flt spt-scale-x (meters 0.3)) @@ -1114,8 +1071,7 @@ ;; failed to figure out what this is: (defpart 2279 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 24)) @@ -1132,8 +1088,7 @@ ;; failed to figure out what this is: (defpart 2281 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) @@ -1162,8 +1117,7 @@ ;; failed to figure out what this is: (defpart 2284 - :init-specs - ((sp-flt spt-fade-r -1.0666667) + :init-specs ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g -1.0666667) (sp-flt spt-fade-b -2.1166666) (sp-int spt-next-time 60) @@ -1173,8 +1127,7 @@ ;; failed to figure out what this is: (defpart 2285 - :init-specs - ((sp-flt spt-fade-r -0.5688889) + :init-specs ((sp-flt spt-fade-r -0.5688889) (sp-flt spt-fade-g -0.28444445) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334) @@ -1185,14 +1138,12 @@ ;; failed to figure out what this is: (defpart 2286 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: (defpart 2229 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) (sp-copy-from-other spt-scale-y -4) diff --git a/test/decompiler/reference/levels/racer_common/racer-states_REF.gc b/test/decompiler/reference/levels/racer_common/racer-states_REF.gc index 99e1689da8..bd2d439c27 100644 --- a/test/decompiler/reference/levels/racer_common/racer-states_REF.gc +++ b/test/decompiler/reference/levels/racer_common/racer-states_REF.gc @@ -3,8 +3,7 @@ ;; failed to figure out what this is: (defstate target-racing-start (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) 'racer @@ -29,7 +28,8 @@ ) (('attack 'attack-or-shove 'attack-invinc) (let ((v1-27 (the-as attack-info (-> arg3 param 1)))) - (if (not (and (logtest? (-> v1-27 mask) 32) (or (= (-> v1-27 mode) 'burn) (= (-> v1-27 mode) 'burnup)))) + (if (not (and (logtest? (-> v1-27 mask) (attack-mask mode)) (or (= (-> v1-27 mode) 'burn) (= (-> v1-27 mode) 'burnup))) + ) (target-attacked arg2 (the-as attack-info (-> arg3 param 1)) @@ -87,8 +87,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (when (not (or (= (-> self next-state name) 'target-racing) (= (-> self next-state name) 'target-racing-jump) (= (-> self next-state name) 'target-racing-bounce) @@ -146,8 +145,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (target-exit) (set! *display-profile* #f) (set! *display-entity-errors* #f) @@ -237,20 +235,9 @@ (set! (-> self racer surface-y) (-> self control trans y)) (let ((s5-0 (-> self entity))) (set! (-> self entity) (-> self racer entity)) - (let ((s4-0 (get-process *8k-dead-pool* manipy #x4000))) - (set! (-> self manipy) - (the-as - (pointer manipy) - (when s4-0 - (let ((t9-9 (method-of-type manipy activate))) - (t9-9 (the-as manipy s4-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 manipy-init (-> self control trans) (-> self entity) *racer-sg* #f) - (-> s4-0 ppointer) - ) - ) - ) - ) + (set! (-> self manipy) + (manipy-spawn (-> self control trans) (-> self entity) *racer-sg* #f :from *8k-dead-pool* :to self) + ) (set! (-> self entity) s5-0) ) (when (-> self manipy) @@ -312,8 +299,7 @@ (go target-racing-get-on arg0) (none) ) - :post - target-post + :post target-post ) ;; definition for function target-racing-smack-check @@ -342,21 +328,17 @@ ;; failed to figure out what this is: (defstate target-racing (target) - :event - (-> target-racing-start event) - :enter - (behavior () + :event (-> target-racing-start event) + :enter (behavior () (set! (-> self control unknown-surface00) *racer-mods*) (none) ) - :exit - (behavior () + :exit (behavior () (target-racing-center-anim) ((-> target-racing-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (logtest? (logior (logior (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) ) @@ -400,8 +382,7 @@ (racer-buzz (+ 0.45 (* 1.7 (fabs (-> self racer slide-shift-x))))) (none) ) - :code - (behavior () + :code (behavior () (cond ((ja-group? (-> self draw art-group data 138)) (ja-no-eval :num! (seek!)) @@ -522,8 +503,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (if (= (-> self next-state name) 'target-racing) (set! (-> self racer racing-time) (-> *display* base-frame-counter)) ) @@ -534,10 +514,8 @@ ;; failed to figure out what this is: (defstate target-racing-jump (target) - :event - (-> target-racing-start event) - :enter - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + :event (-> target-racing-start event) + :enter (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (set! (-> self racer shock-offsetv) 0.0) (sound-play-by-name (static-sound-name "zoomer-jump") (new-sound-id) 1024 0 0 1 #t) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -570,15 +548,13 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self control root-prim prim-core action) (collide-action ca-15)) (set! (-> self racer hop?) #f) ((-> target-racing-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self control unknown-float123) (fmax (-> self control unknown-float123) @@ -647,8 +623,7 @@ (racer-buzz 0.4) (none) ) - :code - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (let ((a0-1 (if (< 0.1 (-> self racer hill-value)) 'jump ) @@ -658,16 +633,13 @@ ) (none) ) - :post - (-> target-racing post) + :post (-> target-racing post) ) ;; failed to figure out what this is: (defstate target-racing-bounce (target) - :event - (-> target-racing-start event) - :enter - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + :event (-> target-racing-start event) + :enter (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (logior! (-> self control root-prim prim-core action) (collide-action ca-15)) (sound-play-by-name (static-sound-name "zoomer-jump") (new-sound-id) 1024 0 0 1 #t) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -679,14 +651,12 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self control root-prim prim-core action) (collide-action ca-15)) ((-> target-racing-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self control unknown-float123) (fmax (-> self control unknown-float123) @@ -721,8 +691,7 @@ (racer-buzz 0.4) (none) ) - :code - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (target-racing-land-anim arg2) (when (not (ja-group? (-> self draw art-group data 123))) (ja-channel-push! 4 (seconds 0.1)) @@ -737,16 +706,13 @@ ) (none) ) - :post - (-> target-racing post) + :post (-> target-racing post) ) ;; failed to figure out what this is: (defstate target-racing-smack (target) - :event - (-> target-racing-start event) - :enter - (behavior ((arg0 float) (arg1 symbol)) + :event (-> target-racing-start event) + :enter (behavior ((arg0 float) (arg1 symbol)) (sound-play-by-name (static-sound-name "smack-surface") (new-sound-id) 1024 0 0 1 #t) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.5)) (set! (-> self racer heavy) arg1) @@ -765,19 +731,16 @@ 0 (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self racer heavy) #f) ((-> target-racing-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self racer turn-anim-targ) 0.0) (none) ) - :code - (behavior ((arg0 float) (arg1 symbol)) + :code (behavior ((arg0 float) (arg1 symbol)) (sound-play-by-name (static-sound-name "zoomer-crash-2") (new-sound-id) 1024 0 0 1 #t) (ja-channel-push! 2 (seconds 0.05)) (ja-no-eval :group! (-> self draw art-group data 136) :num! (seek!)) @@ -793,28 +756,23 @@ (go target-racing) (none) ) - :post - (-> target-racing post) + :post (-> target-racing post) ) ;; failed to figure out what this is: (defstate target-racing-falling (target) - :event - (-> target-racing-start event) - :enter - (behavior () + :event (-> target-racing-start event) + :enter (behavior () (set! (-> self control unknown-surface00) *racer-air-mods*) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self control root-prim prim-core action) (collide-action ca-15)) ((-> target-racing-start exit)) (none) ) - :trans - (behavior () + :trans (behavior () (if (logtest? (-> self control status) (cshape-moving-flags onsurf)) (go target-racing) ) @@ -825,21 +783,17 @@ ) (none) ) - :code - (behavior () + :code (behavior () (target-racing-jump-anim #f (seconds 0.1)) (none) ) - :post - (-> target-racing post) + :post (-> target-racing post) ) ;; failed to figure out what this is: (defstate target-racing-hit (target) - :event - target-generic-event-handler - :enter - (behavior ((arg0 handle) (arg1 attack-info)) + :event target-generic-event-handler + :enter (behavior ((arg0 handle) (arg1 attack-info)) (let ((v1-0 (-> self attack-info))) (set! (-> v1-0 attacker) arg0) (set! (-> v1-0 mode) 'generic) @@ -864,16 +818,14 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (if (!= (-> self next-state name) 'target-racing-death) (logclear! (-> self state-flags) (state-flags sf03 sf15)) ) ((-> target-racing-start exit)) (none) ) - :code - (behavior ((arg0 handle) (arg1 attack-info)) + :code (behavior ((arg0 handle) (arg1 attack-info)) (target-timed-invulnerable (-> *TARGET-bank* hit-invulnerable-timeout) self) (when (!= (-> self attack-info mode) 'endlessfall) (dummy-10 (-> self skel effect) 'group-target-hit -1.0 -1) @@ -932,16 +884,13 @@ (go target-racing) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) ;; failed to figure out what this is: (defstate target-racing-death (target) - :event - (-> target-death event) - :exit - (behavior () + :event (-> target-death event) + :exit (behavior () (logclear! (-> self state-flags) (state-flags sf15)) (send-event (ppointer->process (-> self manipy)) 'draw #t) (send-event (ppointer->process (-> self manipy)) 'anim-mode 'clone-anim) @@ -953,8 +902,7 @@ (set! (-> self racer stick-off) #f) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (local-vars (v1-154 symbol)) (set! (-> self racer stick-off) #t) (set! (-> self neck flex-blend) 0.0) @@ -966,14 +914,16 @@ (send-event (ppointer->process (-> self manipy)) 'anim-mode 'loop) (send-event (ppointer->process (-> self manipy)) 'draw #f) (sound-play-by-name (static-sound-name "zoomer-explode") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 116) -1 #f #f #f (-> self control trans)) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 116) + -1 + #f + #f + #f + (-> self control trans) + :to *entity-pool* ) (send-event (ppointer->process (-> self manipy)) @@ -995,44 +945,32 @@ (vector-normalize! (-> gp-0 fountain-rand-transv-lo) (* 12288.0 f30-0)) ) (vector+! (-> gp-0 fountain-rand-transv-lo) (-> gp-0 fountain-rand-transv-lo) (-> s5-0 0 control trans)) - (let ((s5-1 (get-process *default-dead-pool* joint-exploder #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type joint-exploder activate))) - (t9-5 (the-as joint-exploder s5-1) self 'joint-exploder (the-as pointer #x70004000)) + (process-spawn + joint-exploder + *racer-explode-sg* + 24 + gp-0 + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 3 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) ) - (run-now-in-process - s5-1 - joint-exploder-init-by-other - *racer-explode-sg* - 24 - gp-0 - (new 'static 'joint-exploder-static-params - :joints - (new - 'static - 'boxed-array - :type joint-exploder-static-joint-params :length 16 :allocated-length 16 - (new 'static 'joint-exploder-static-joint-params :joint-index 3 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) - (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) - ) - ) - ) - (-> s5-1 ppointer) ) + :to self ) ) ) @@ -1068,14 +1006,16 @@ ) (('melt) (sound-play-by-name (static-sound-name "zoomer-melt") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-5 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-5 - (let ((t9-29 (method-of-type part-tracker activate))) - (t9-29 (the-as part-tracker gp-5) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-5 part-tracker-init (-> *part-group-id-table* 32) -1 #f #f #f (-> self control trans)) - (-> gp-5 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 32) + -1 + #f + #f + #f + (-> self control trans) + :to *entity-pool* ) (clear-collide-with-as (-> self control)) (set! (-> self post-hook) target-no-ja-move-post) @@ -1152,18 +1092,14 @@ (go target-stance) (none) ) - :post - target-racing-post + :post target-racing-post ) ;; failed to figure out what this is: (defstate target-racing-get-on (target) - :event - target-generic-event-handler - :exit - (-> target-racing-start exit) - :code - (behavior ((arg0 handle)) + :event target-generic-event-handler + :exit (-> target-racing-start exit) + :code (behavior ((arg0 handle)) (set! (-> self control transv quad) (the-as uint128 0)) (set! (-> self alt-cam-pos quad) (-> (&-> (-> self control) unknown-qword00) 0)) (logior! (-> self state-flags) (state-flags sf10)) @@ -1241,38 +1177,12 @@ (= (-> *target* current-level name) 'firecanyon) (= (-> *target* current-level name) 'citadel) ) - (let ((gp-3 (get-process *default-dead-pool* hud-bike-heat #x4000))) - (set! (-> *hud-parts* bike-heat) - (the-as - (pointer hud-bike-heat) - (when gp-3 - (let ((t9-23 (method-of-type hud-bike-heat activate))) - (t9-23 (the-as hud-bike-heat gp-3) self 'hud-bike-heat (the-as pointer #x70004000)) - ) - (run-now-in-process gp-3 hud-init-by-other 0) - (-> gp-3 ppointer) - ) - ) - ) - ) + (set! (-> *hud-parts* bike-heat) (process-spawn hud-bike-heat :init hud-init-by-other 0 :to self)) (set! (-> *hud-parts* buzzers 0 next-y-offset) -120) (set! (-> *hud-parts* buzzers 0 y-sgn) 0) 0 ) - (let ((gp-4 (get-process *default-dead-pool* hud-bike-speed #x4000))) - (set! (-> *hud-parts* bike-speed) - (the-as - (pointer hud-bike-speed) - (when gp-4 - (let ((t9-26 (method-of-type hud-bike-speed activate))) - (t9-26 (the-as hud-bike-speed gp-4) self 'hud-bike-speed (the-as pointer #x70004000)) - ) - (run-now-in-process gp-4 hud-init-by-other 0) - (-> gp-4 ppointer) - ) - ) - ) - ) + (set! (-> *hud-parts* bike-speed) (process-spawn hud-bike-speed :init hud-init-by-other 0 :to self)) (set! (-> *hud-parts* power 0 next-y-offset) -120) (set! (-> *hud-parts* power 0 y-sgn) 0) 0 @@ -1280,8 +1190,7 @@ (go target-racing) (none) ) - :post - (behavior () + :post (behavior () (let ((gp-0 (new 'stack-no-clear 'vector)) (f30-0 (fmin 1.0 (* 0.0044444446 (the float (- (-> *display* base-frame-counter) (-> self state-time)))))) ) @@ -1332,12 +1241,9 @@ ;; failed to figure out what this is: (defstate target-racing-get-off (target) - :event - target-generic-event-handler - :exit - (-> target-racing-start exit) - :code - (behavior ((arg0 handle)) + :event target-generic-event-handler + :exit (-> target-racing-start exit) + :code (behavior ((arg0 handle)) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *racer-mods*) (let ((a0-2 (-> *hud-parts* bike-speed))) @@ -1371,18 +1277,14 @@ (go target-racing-get-off-jump arg0) (none) ) - :post - target-racing-post + :post target-racing-post ) ;; failed to figure out what this is: (defstate target-racing-get-off-jump (target) - :event - target-generic-event-handler - :exit - (-> target-racing-start exit) - :code - (behavior ((arg0 handle)) + :event target-generic-event-handler + :exit (-> target-racing-start exit) + :code (behavior ((arg0 handle)) (sound-play-by-name (static-sound-name "zoomer-stop") (new-sound-id) 1024 0 0 1 #t) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control transv quad) (the-as uint128 0)) @@ -1434,8 +1336,7 @@ (go target-racing-get-off-hit-ground #f) (none) ) - :post - (behavior () + :post (behavior () (let* ((f0-2 (deg-diff (-> self racer front-rot) (-> *RACER-bank* default-front-blade))) (f0-5 (if (< 0.0 f0-2) (fmax 5461.3335 (* 4.0 f0-2)) @@ -1513,18 +1414,14 @@ ;; failed to figure out what this is: (defstate target-racing-get-off-hit-ground (target) - :event - target-standard-event-handler - :enter - (-> target-hit-ground enter) - :trans - (behavior () + :event target-standard-event-handler + :enter (-> target-hit-ground enter) + :trans (behavior () (logior! (-> self control status) (cshape-moving-flags onsurf onground tsurf)) ((-> target-hit-ground trans)) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-channel-set! 1) (ja-no-eval :group! (-> self draw art-group data 35) :num! (seek!) :frame-num (ja-aframe 42.0 0)) (until (ja-done? 0) @@ -1534,8 +1431,7 @@ (go target-stance) (none) ) - :post - (behavior () + :post (behavior () (hide-hud) (target-post) (none) @@ -1544,8 +1440,7 @@ ;; failed to figure out what this is: (defstate target-racing-grab (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) (-> self state name) @@ -1565,24 +1460,21 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self control unknown-surface00) *grab-mods*) (set! (-> self neck flex-blend) 0.0) (logior! (-> self state-flags) (state-flags sf04 sf08)) (set! (-> self racer stick-off) #t) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self racer stick-off) #f) (logclear! (-> self state-flags) (state-flags sf04 sf08)) (logclear! (-> self water flags) (water-flags wt16)) ((-> target-racing-start exit)) (none) ) - :code - (behavior () + :code (behavior () (when (not (ja-group? (-> self draw art-group data 123))) (ja-channel-push! 4 (seconds 0.1)) (ja :group! (-> self draw art-group data 123) :num! (identity (ja-aframe (-> self racer turn-anim-frame) 0))) @@ -1597,23 +1489,19 @@ ) (none) ) - :post - target-racing-post + :post target-racing-post ) ;; failed to figure out what this is: (defstate target-racing-clone-anim (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (= arg2 'trans) (= (-> arg3 param 0) 'restore)) (set! (-> self control unknown-uint20) (the-as uint #f)) ) ((-> target-racing-grab event) arg0 arg1 arg2 arg3) ) - :enter - (-> target-clone-anim enter) - :exit - (behavior () + :enter (-> target-clone-anim enter) + :exit (behavior () (set! (-> self control unknown-vector11 y) (the-as float (-> self control unknown-uint20))) (set! (-> self control unknown-vector12 y) (-> self control unknown-vector11 y)) (send-event (ppointer->process (-> self sidekick)) 'matrix #f) @@ -1622,8 +1510,7 @@ (vector-reset! (-> self control transv)) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (set! (-> self control unknown-uint20) (the-as uint (-> self control unknown-vector11 y))) (set! (-> self control unknown-vector11 y) 0.0) (send-event (ppointer->process (-> self sidekick)) 'matrix 'play-anim) @@ -1631,8 +1518,7 @@ (go target-racing) (none) ) - :post - (behavior () + :post (behavior () (racer-sounds) (seek! (-> self racer heat) 0.0 (* (-> *RACER-bank* surface-heat-inc) (-> *display* seconds-per-frame))) (vector+! (-> self racer bike-trans) (-> self control trans) (-> self control unknown-vector12)) diff --git a/test/decompiler/reference/levels/racer_common/racer_REF.gc b/test/decompiler/reference/levels/racer_common/racer_REF.gc index 2f9a7b0bd4..e2fb11b5a0 100644 --- a/test/decompiler/reference/levels/racer_common/racer_REF.gc +++ b/test/decompiler/reference/levels/racer_common/racer_REF.gc @@ -77,10 +77,8 @@ ;; definition for symbol *racer-shadow-control*, type shadow-control (define *racer-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #xa)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 614400.0) + :center (new 'static 'vector :w (the-as float #xa)) + :shadow-dir (new 'static 'vector :y -1.0 :w 614400.0) :bot-plane (new 'static 'plane :y 1.0 :w 81920.0) :top-plane (new 'static 'plane :y 1.0 :w 2048.0) ) @@ -101,8 +99,7 @@ ;; failed to figure out what this is: (defstate wait-for-start (racer) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-1 structure)) (let ((v1-0 arg2)) (the-as @@ -133,15 +130,13 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (set! (-> self root-override root-prim prim-core action) (collide-action)) (set! (-> self root-override root-prim prim-core offense) (collide-offense no-offense)) 0 (none) ) - :code - (behavior () + :code (behavior () (label cfg-0) (case (-> self condition) ((2) @@ -232,18 +227,14 @@ ;; failed to figure out what this is: (defstate idle (racer) :virtual #t - :event - (-> (method-of-type racer wait-for-start) event) - :enter - (behavior () + :event (-> (method-of-type racer wait-for-start) event) + :enter (behavior () (blocking-plane-destroy) (blocking-plane-spawn (-> self path-target)) (none) ) - :exit - (-> (method-of-type racer wait-for-start) exit) - :code - (behavior () + :exit (-> (method-of-type racer wait-for-start) exit) + :code (behavior () (ja-channel-set! 1) (ja :group! (-> self draw art-group data 3)) (set! (-> self root-override root-prim prim-core action) (collide-action solid ca-11)) @@ -290,15 +281,13 @@ ) (none) ) - :post - (the-as (function none :behavior racer) ja-post) + :post (the-as (function none :behavior racer) ja-post) ) ;; failed to figure out what this is: (defstate pickup (racer) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('draw) (ja-channel-set! 1) @@ -329,13 +318,11 @@ ) ) ) - :enter - (behavior ((arg0 (state collectable))) + :enter (behavior ((arg0 (state collectable))) ((the-as (function none :behavior racer) (-> arg0 enter))) (none) ) - :code - (behavior ((arg0 (state collectable))) + :code (behavior ((arg0 (state collectable))) (ja-channel-set! 0) (ja-post) (while (zero? (ja-group-size)) @@ -379,8 +366,7 @@ ;; failed to figure out what this is: (defstate wait-for-return (racer) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (if (and (or (= arg2 'touch) (= arg2 'attack)) (and (!= (-> self condition) 4) (send-event *target* 'end-mode))) (go-virtual pickup (the-as (state collectable) (method-of-object self idle))) ) @@ -407,14 +393,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (blocking-plane-destroy) (blocking-plane-spawn (the-as curve-control (-> self path-racer))) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (ja-post) (loop diff --git a/test/decompiler/reference/levels/racer_common/target-racer_REF.gc b/test/decompiler/reference/levels/racer_common/target-racer_REF.gc index 748ca8e416..20cd921713 100644 --- a/test/decompiler/reference/levels/racer_common/target-racer_REF.gc +++ b/test/decompiler/reference/levels/racer_common/target-racer_REF.gc @@ -447,14 +447,16 @@ ((< (-> self racer shock-offset) -8192.0) (set! (-> self racer shock-offset) -8192.0) (set! (-> self racer shock-offsetv) 0.0) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker s5-0) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 13) -1 #f #f #f (-> self control trans)) - (-> s5-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 13) + -1 + #f + #f + #f + (-> self control trans) + :to self ) (dummy-10 (-> self skel effect) 'effect-land -1.0 -1) ) @@ -627,17 +629,7 @@ ) ) ((>= (- (-> *display* base-frame-counter) (-> self racer unstuck-time)) (seconds 5)) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'attack) - (set! (-> a1-6 param 0) (the-as uint #f)) - (let ((a0-12 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-12 mode) 'heat) - (set! (-> a1-6 param 1) (the-as uint a0-12)) - ) - (send-event-function self a1-6) - ) + (send-event self 'attack #f (static-attack-info ((mode 'heat)))) ) ((and (>= (- (-> *display* base-frame-counter) (-> self racer unstuck-time)) (seconds 3)) (>= (- (-> *display* base-frame-counter) (-> self racer heat-sound-time)) (seconds 1)) @@ -850,25 +842,18 @@ (set! (-> gp-6 y) 0.0) (vector-normalize! gp-6 (-> *RACER-bank* yellow-projectile-speed)) (vector+! gp-6 gp-6 (-> self control transv)) - (let ((s4-3 (get-process *default-dead-pool* projectile-yellow #x4000))) - (when s4-3 - (let ((t9-22 (method-of-type projectile-yellow activate))) - (t9-22 (the-as projectile-yellow s4-3) self 'projectile-yellow (the-as pointer #x70004000)) + (process-spawn + projectile-yellow + :init projectile-init-by-other + (-> self entity) + s5-4 + gp-6 + (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) + 152 + 136 ) - (run-now-in-process - s4-3 - projectile-init-by-other - (-> self entity) - s5-4 - gp-6 - (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) - 152 - 136 - ) - #f - ) - (-> s4-3 ppointer) - ) + #f + :to self ) ) (set! (-> self control unknown-dword82) (-> *display* base-frame-counter)) @@ -915,19 +900,9 @@ ) ) ) - (when (and (>= (-> self racer heat) (-> *RACER-bank* heat-max)) (= (-> self game mode) 'play)) - (let ((a1-43 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-43 from) self) - (set! (-> a1-43 num-params) 2) - (set! (-> a1-43 message) 'attack) - (set! (-> a1-43 param 0) (the-as uint #f)) - (let ((a0-68 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-68 mode) 'heat) - (set! (-> a1-43 param 1) (the-as uint a0-68)) - ) - (send-event-function self a1-43) + (if (and (>= (-> self racer heat) (-> *RACER-bank* heat-max)) (= (-> self game mode) 'play)) + (send-event self 'attack #f (static-attack-info ((mode 'heat)))) ) - ) (if (and *cheat-mode* *debug-segment* (cpad-pressed? 0 l2)) (send-event self 'boost 1.0) ) @@ -1180,8 +1155,7 @@ ) (ja :chan 3 :num! (chan 0) - :frame-interp - (* (-> self racer slide-interp) (+ 0.5 (* 0.025 (-> self racer tail-anim-frame)))) + :frame-interp (* (-> self racer slide-interp) (+ 0.5 (* 0.025 (-> self racer tail-anim-frame)))) ) 0 (none) diff --git a/test/decompiler/reference/levels/robocave/cave-trap_REF.gc b/test/decompiler/reference/levels/robocave/cave-trap_REF.gc index 00c4121ef2..c74c70a9f8 100644 --- a/test/decompiler/reference/levels/robocave/cave-trap_REF.gc +++ b/test/decompiler/reference/levels/robocave/cave-trap_REF.gc @@ -61,8 +61,7 @@ ;; failed to figure out what this is: (defstate spider-vent-idle (spider-vent) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) (case arg2 (('can-spawn?) @@ -76,8 +75,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 @@ -151,68 +149,61 @@ ;; definition for method 20 of type cave-trap ;; Used lq/sq (defmethod TODO-RENAME-20 cave-trap ((obj cave-trap)) - (with-pp - (set! (-> obj last-spawn-time) (-> *display* base-frame-counter)) - (set! (-> obj spawn-delay) (rand-vu-int-range (seconds 0.1) (seconds 0.5))) - (let ((s5-0 (new 'stack-no-clear 'spawn-baby-spider-work))) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (dotimes (v1-2 4) - (set! (-> s5-0 best v1-2 index) -1) - ) - (set! (-> s4-0 quad) (-> (matrix-local->world #f #f) vector 2 quad)) - (set! (-> s4-0 y) 0.0) - (vector-normalize! s4-0 102400.0) - (vector+! s4-0 s4-0 (camera-pos)) - (set! (-> s4-0 y) (-> (target-pos 0) y)) - (dotimes (s3-2 (-> obj alt-actors length)) - (let* ((v1-10 (-> obj alt-actors s3-2)) - (s1-0 (if v1-10 - (-> v1-10 extra process) - ) - ) - (s2-2 (if (and (nonzero? s1-0) (type-type? (-> s1-0 type) process-drawable)) - s1-0 - ) - ) - ) - (when s2-2 - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) pp) - (set! (-> a1-6 num-params) 0) - (set! (-> a1-6 message) 'can-spawn?) - (when (send-event-function s2-2 a1-6) - (let ((f30-0 (vector-vector-distance s4-0 (-> (the-as process-drawable s2-2) root trans))) - (a0-12 (new 'stack-no-clear 'sphere)) - ) - (let ((v1-16 (-> s5-0 best 3))) - (when (or (< (-> v1-16 index) 0) (< f30-0 (-> v1-16 dist))) - (set! (-> v1-16 index) s3-2) - (set! (-> v1-16 dist) f30-0) + (set! (-> obj last-spawn-time) (-> *display* base-frame-counter)) + (set! (-> obj spawn-delay) (rand-vu-int-range (seconds 0.1) (seconds 0.5))) + (let ((s5-0 (new 'stack-no-clear 'spawn-baby-spider-work))) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (dotimes (v1-2 4) + (set! (-> s5-0 best v1-2 index) -1) + ) + (set! (-> s4-0 quad) (-> (matrix-local->world #f #f) vector 2 quad)) + (set! (-> s4-0 y) 0.0) + (vector-normalize! s4-0 102400.0) + (vector+! s4-0 s4-0 (camera-pos)) + (set! (-> s4-0 y) (-> (target-pos 0) y)) + (dotimes (s3-2 (-> obj alt-actors length)) + (let* ((v1-10 (-> obj alt-actors s3-2)) + (s1-0 (if v1-10 + (-> v1-10 extra process) + ) + ) + (s2-2 (if (and (nonzero? s1-0) (type-type? (-> s1-0 type) process-drawable)) + s1-0 + ) + ) + ) + (when s2-2 + (when (send-event s2-2 'can-spawn?) + (let ((f30-0 (vector-vector-distance s4-0 (-> (the-as process-drawable s2-2) root trans))) + (a0-12 (new 'stack-no-clear 'sphere)) + ) + (let ((v1-16 (-> s5-0 best 3))) + (when (or (< (-> v1-16 index) 0) (< f30-0 (-> v1-16 dist))) + (set! (-> v1-16 index) s3-2) + (set! (-> v1-16 dist) f30-0) + ) + ) + (set! (-> a0-12 quad) (-> (the-as process-drawable s2-2) root trans quad)) + (set! (-> a0-12 w) 4096.0) + (when (sphere-in-view-frustum? a0-12) + (let ((v1-18 (-> s5-0 best 2))) + (when (or (< (-> v1-18 index) 0) (< f30-0 (-> v1-18 dist))) + (set! (-> v1-18 index) s3-2) + (set! (-> v1-18 dist) f30-0) + ) + ) + (when (>= 40960.0 f30-0) + (let ((v1-19 (-> s5-0 best 1))) + (when (or (< (-> v1-19 index) 0) (< f30-0 (-> v1-19 dist))) + (set! (-> v1-19 index) s3-2) + (set! (-> v1-19 dist) f30-0) ) ) - (set! (-> a0-12 quad) (-> (the-as process-drawable s2-2) root trans quad)) - (set! (-> a0-12 w) 4096.0) - (when (sphere-in-view-frustum? a0-12) - (let ((v1-18 (-> s5-0 best 2))) - (when (or (< (-> v1-18 index) 0) (< f30-0 (-> v1-18 dist))) - (set! (-> v1-18 index) s3-2) - (set! (-> v1-18 dist) f30-0) - ) - ) - (when (>= 40960.0 f30-0) - (let ((v1-19 (-> s5-0 best 1))) - (when (or (< (-> v1-19 index) 0) (< f30-0 (-> v1-19 dist))) - (set! (-> v1-19 index) s3-2) - (set! (-> v1-19 dist) f30-0) - ) - ) - (when (= (-> s2-2 type) spider-egg) - (let ((v1-21 (-> s5-0 best))) - (when (or (< (-> v1-21 0 index) 0) (< f30-0 (-> v1-21 0 dist))) - (set! (-> v1-21 0 index) s3-2) - (set! (-> v1-21 0 dist) f30-0) - ) - ) + (when (= (-> s2-2 type) spider-egg) + (let ((v1-21 (-> s5-0 best))) + (when (or (< (-> v1-21 0 index) 0) (< f30-0 (-> v1-21 0 dist))) + (set! (-> v1-21 0 index) s3-2) + (set! (-> v1-21 0 dist) f30-0) ) ) ) @@ -223,63 +214,45 @@ ) ) ) - (dotimes (s4-1 4) - (let ((v1-29 (-> s5-0 best s4-1 index))) - (when (>= v1-29 0) - (let* ((v1-32 (-> obj alt-actors v1-29)) - (s2-3 (if v1-32 - (-> v1-32 extra process) - ) - ) - (s3-3 (if (and (nonzero? s2-3) (type-type? (-> s2-3 type) process-drawable)) - s2-3 - ) - ) - (s2-4 (new 'stack-no-clear 'vector)) - (s1-1 (new 'stack-no-clear 'baby-spider-spawn-params)) - ) - (vector-! s2-4 (target-pos 0) (-> (the-as process-drawable s3-3) root trans)) - (vector-normalize! s2-4 1.0) - (init! s1-1 (= (-> s3-3 type) spider-egg) #t #t #t 7 1 'untrigger) - (let* ((s0-2 (get-process *default-dead-pool* baby-spider #x4000)) - (v1-40 (when s0-2 - (let ((t9-14 (method-of-type baby-spider activate))) - (t9-14 (the-as baby-spider s0-2) obj 'baby-spider (the-as pointer #x70004000)) - ) - (run-now-in-process - s0-2 - baby-spider-init-by-other - obj - (-> (the-as process-drawable s3-3) root trans) - s2-4 - s1-1 - ) - (-> s0-2 ppointer) - ) - ) - ) - (when v1-40 - (set! (-> (the-as baby-spider (-> v1-40 0)) die-if-not-visible?) #t) - (+! (-> obj spider-count) 1) - (send-event s3-3 'notify-spawned) - (return #f) - ) + ) + (dotimes (s4-1 4) + (let ((v1-29 (-> s5-0 best s4-1 index))) + (when (>= v1-29 0) + (let* ((v1-32 (-> obj alt-actors v1-29)) + (s2-3 (if v1-32 + (-> v1-32 extra process) + ) + ) + (s3-3 (if (and (nonzero? s2-3) (type-type? (-> s2-3 type) process-drawable)) + s2-3 + ) + ) + (s2-4 (new 'stack-no-clear 'vector)) + (s1-1 (new 'stack-no-clear 'baby-spider-spawn-params)) + ) + (vector-! s2-4 (target-pos 0) (-> (the-as process-drawable s3-3) root trans)) + (vector-normalize! s2-4 1.0) + (init! s1-1 (= (-> s3-3 type) spider-egg) #t #t #t 7 1 'untrigger) + (let ((v1-40 (process-spawn baby-spider obj (-> (the-as process-drawable s3-3) root trans) s2-4 s1-1 :to obj))) + (when v1-40 + (set! (-> (the-as baby-spider (-> v1-40 0)) die-if-not-visible?) #t) + (+! (-> obj spider-count) 1) + (send-event s3-3 'notify-spawned) + (return #f) ) ) ) ) ) ) - #f ) + #f ) ;; failed to figure out what this is: (defstate cave-trap-idle (cave-trap) - :event - cave-trap-default-event-handler - :trans - (behavior () + :event cave-trap-default-event-handler + :trans (behavior () (when *target* (let* ((gp-0 (target-pos 0)) (f0-0 (vector-vector-xz-distance (-> self root-override trans) (target-pos 0))) @@ -287,7 +260,7 @@ ) (when (and (>= 61440.0 f1-1) (>= f1-1 -16384.0)) (when (>= 274432.0 f0-0) - (when (or (>= 188416.0 f0-0) (send-event *target* 'query 'powerup 1)) + (when (or (>= 188416.0 f0-0) (send-event *target* 'query 'powerup (pickup-type eco-yellow))) (level-hint-spawn (game-text-id cave-trap-nest-hint) "sksp0341" @@ -304,8 +277,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 @@ -315,15 +287,12 @@ ;; failed to figure out what this is: (defstate cave-trap-active (cave-trap) - :event - cave-trap-default-event-handler - :enter - (behavior () + :event cave-trap-default-event-handler + :enter (behavior () (set! (-> self spawn-delay) (seconds 0.5)) (none) ) - :trans - (behavior () + :trans (behavior () (cond (*target* (let* ((gp-0 (target-pos 0)) @@ -347,8 +316,7 @@ 0 (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 @@ -358,10 +326,8 @@ ;; failed to figure out what this is: (defstate cave-trap-give-up (cave-trap) - :event - cave-trap-default-event-handler - :code - (behavior () + :event cave-trap-default-event-handler + :code (behavior () (suspend) (go cave-trap-idle) (none) diff --git a/test/decompiler/reference/levels/robocave/robocave-part_REF.gc b/test/decompiler/reference/levels/robocave/robocave-part_REF.gc index 6c7904c3d9..5e766a7c9b 100644 --- a/test/decompiler/reference/levels/robocave/robocave-part_REF.gc +++ b/test/decompiler/reference/levels/robocave/robocave-part_REF.gc @@ -22,8 +22,7 @@ (defpartgroup group-part-robocave-torch :id 506 :bounds (static-bspherem 0 3 0 4) - :parts - ((sp-item 729 :fade-after (meters 150) :falloff-to (meters 180)) + :parts ((sp-item 729 :fade-after (meters 150) :falloff-to (meters 180)) (sp-item 730 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 731 :fade-after (meters 40) :falloff-to (meters 40) :period 600 :length 90) (sp-item 732 :fade-after (meters 40) :falloff-to (meters 40) :period 369 :length 69) @@ -34,8 +33,7 @@ ;; failed to figure out what this is: (defpart 734 - :init-specs - ((sp-flt spt-num 0.3) + :init-specs ((sp-flt spt-num 0.3) (sp-flt spt-x (meters 0.2)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) (sp-int spt-rot-x 5) @@ -54,14 +52,12 @@ ;; failed to figure out what this is: (defpart 735 - :init-specs - ((sp-flt spt-fade-b -6.826667)) + :init-specs ((sp-flt spt-fade-b -6.826667)) ) ;; failed to figure out what this is: (defpart 729 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1068708659 1 0.5) (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) (sp-rnd-flt spt-z (meters -0.35) (meters 0.7) 1.0) @@ -84,14 +80,12 @@ ;; failed to figure out what this is: (defpart 736 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) ;; failed to figure out what this is: (defpart 731 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-flt spt-y (meters 1)) @@ -115,8 +109,7 @@ ;; failed to figure out what this is: (defpart 732 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) (sp-flt spt-y (meters 0.5)) @@ -140,8 +133,7 @@ ;; failed to figure out what this is: (defpart 733 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0) (sp-flt spt-y (meters 0.6)) @@ -165,8 +157,7 @@ ;; failed to figure out what this is: (defpart 730 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.3)) diff --git a/test/decompiler/reference/levels/robocave/spider-egg_REF.gc b/test/decompiler/reference/levels/robocave/spider-egg_REF.gc index 6a52e9f497..4bab2056b9 100644 --- a/test/decompiler/reference/levels/robocave/spider-egg_REF.gc +++ b/test/decompiler/reference/levels/robocave/spider-egg_REF.gc @@ -50,8 +50,7 @@ ;; failed to figure out what this is: (defstate spider-egg-idle (spider-egg) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 none)) (let ((v1-0 arg2)) (the-as object (cond @@ -79,21 +78,18 @@ ) ) ) - :enter - (behavior ((arg0 symbol)) + :enter (behavior ((arg0 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) (cond (arg0 (ja-channel-set! 1) (ja-no-eval :group! spider-egg-idle-ja :num! (seek! max f30-0) - :frame-num - (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1))) + :frame-num (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1))) ) (until (ja-done? 0) (suspend) @@ -125,14 +121,12 @@ ) (none) ) - :post - (the-as (function none :behavior spider-egg) ja-post) + :post (the-as (function none :behavior spider-egg) ja-post) ) ;; failed to figure out what this is: (defstate spider-egg-hatch (spider-egg) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 symbol)) (case arg2 (('can-spawn?) @@ -141,28 +135,20 @@ ) ) ) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (logclear! (-> self mask) (process-mask actor-pause)) (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 324) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 324) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (lods-assign! (-> self draw) (-> self broken-look)) (ja-channel-push! 1 (seconds 0.2)) @@ -177,14 +163,12 @@ ) (none) ) - :post - (the-as (function none :behavior spider-egg) ja-post) + :post (the-as (function none :behavior spider-egg) ja-post) ) ;; failed to figure out what this is: (defstate spider-egg-die (spider-egg) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 symbol)) (case arg2 (('can-spawn?) @@ -193,8 +177,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (logclear! (-> self mask) (process-mask actor-pause)) (when (-> self notify-actor) @@ -215,23 +198,16 @@ ) ) ) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 325) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 325) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (lods-assign! (-> self draw) (-> self broken-look)) (ja-channel-push! 1 (seconds 0.1)) @@ -247,8 +223,7 @@ ) (none) ) - :post - (the-as (function none :behavior spider-egg) ja-post) + :post (the-as (function none :behavior spider-egg) ja-post) ) ;; definition for method 11 of type spider-egg diff --git a/test/decompiler/reference/levels/rolling/rolling-lightning-mole_REF.gc b/test/decompiler/reference/levels/rolling/rolling-lightning-mole_REF.gc index 34c6bb7f2b..c8a3273346 100644 --- a/test/decompiler/reference/levels/rolling/rolling-lightning-mole_REF.gc +++ b/test/decompiler/reference/levels/rolling/rolling-lightning-mole_REF.gc @@ -425,38 +425,29 @@ ;; failed to figure out what this is: (defstate nav-enemy-patrol (fleeing-nav-enemy) :virtual #t - :enter - (-> (method-of-type nav-enemy nav-enemy-patrol) enter) - :exit - (-> (method-of-type nav-enemy nav-enemy-patrol) exit) - :trans - (behavior () + :enter (-> (method-of-type nav-enemy nav-enemy-patrol) enter) + :exit (-> (method-of-type nav-enemy nav-enemy-patrol) exit) + :trans (behavior () ((-> (method-of-type nav-enemy nav-enemy-patrol) trans)) (fleeing-nav-enemy-adjust-nav-info) (none) ) - :code - (-> (method-of-type nav-enemy nav-enemy-patrol) code) - :post - (-> (method-of-type nav-enemy nav-enemy-patrol) post) + :code (-> (method-of-type nav-enemy nav-enemy-patrol) code) + :post (-> (method-of-type nav-enemy nav-enemy-patrol) post) ) ;; failed to figure out what this is: (defstate nav-enemy-notice (fleeing-nav-enemy) :virtual #t - :enter - (-> (method-of-type nav-enemy nav-enemy-notice) enter) - :trans - (behavior () + :enter (-> (method-of-type nav-enemy nav-enemy-notice) enter) + :trans (behavior () (fleeing-nav-enemy-adjust-nav-info) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 1.0 1.2))) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info notice-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -480,59 +471,47 @@ (go-virtual nav-enemy-chase) (none) ) - :post - (-> (method-of-type nav-enemy nav-enemy-notice) post) + :post (-> (method-of-type nav-enemy nav-enemy-notice) post) ) ;; failed to figure out what this is: (defstate nav-enemy-chase (fleeing-nav-enemy) :virtual #t - :enter - (behavior () + :enter (behavior () (logior! (-> self nav flags) (nav-control-flags navcf12)) ((-> (method-of-type nav-enemy nav-enemy-chase) enter)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self nav flags) (nav-control-flags navcf12)) (none) ) - :trans - (behavior () + :trans (behavior () ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) (fleeing-nav-enemy-adjust-nav-info) (none) ) - :code - (-> (method-of-type nav-enemy nav-enemy-chase) code) - :post - (-> (method-of-type nav-enemy nav-enemy-chase) post) + :code (-> (method-of-type nav-enemy nav-enemy-chase) code) + :post (-> (method-of-type nav-enemy nav-enemy-chase) post) ) ;; failed to figure out what this is: (defstate nav-enemy-stop-chase (fleeing-nav-enemy) :virtual #t - :enter - (-> (method-of-type nav-enemy nav-enemy-stop-chase) enter) - :trans - (behavior () + :enter (-> (method-of-type nav-enemy nav-enemy-stop-chase) enter) + :trans (behavior () ((-> (method-of-type nav-enemy nav-enemy-stop-chase) trans)) (fleeing-nav-enemy-adjust-nav-info) (none) ) - :code - (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) - :post - (-> (method-of-type nav-enemy nav-enemy-stop-chase) post) + :code (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) + :post (-> (method-of-type nav-enemy nav-enemy-stop-chase) post) ) ;; failed to figure out what this is: (defstate fleeing-nav-enemy-debug (fleeing-nav-enemy) - :enter - (-> (method-of-type nav-enemy nav-enemy-chase) enter) - :code - (behavior () + :enter (-> (method-of-type nav-enemy nav-enemy-chase) enter) + :code (behavior () (let ((gp-0 (new-stack-vector0)) (s5-0 (new-stack-vector0)) ) @@ -573,8 +552,7 @@ ) (none) ) - :post - (the-as (function none :behavior fleeing-nav-enemy) nav-enemy-travel-post) + :post (the-as (function none :behavior fleeing-nav-enemy) nav-enemy-travel-post) ) ;; definition for symbol *lightning-mole-hole*, type vector @@ -630,31 +608,26 @@ (cond (sv-16 (close-specific-task! (-> self entity extra perm task) (task-status need-reminder)) - (let ((gp-0 (get-process *default-dead-pool* process #x4000))) - (when gp-0 - (let ((t9-4 (method-of-type process activate))) - (t9-4 gp-0 self 'process (the-as pointer #x70004000)) + (process-spawn-function + process + (lambda :behavior lightning-mole + () + (while (or (-> *setting-control* current ambient) + (-> *setting-control* current movie) + (-> *setting-control* current hint) + ) + (suspend) ) - (run-next-time-in-process gp-0 (lambda :behavior lightning-mole - () - (while (or (-> *setting-control* current ambient) - (-> *setting-control* current movie) - (-> *setting-control* current hint) - ) - (suspend) - ) - (level-hint-spawn - (game-text-id rolling-lightning-moles-completion) - "sksp0112" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (none) - ) - ) - (-> gp-0 ppointer) + (level-hint-spawn + (game-text-id rolling-lightning-moles-completion) + "sksp0112" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (none) ) + :to self ) (format #t "lightning-mole task is complete~%") ) @@ -690,8 +663,7 @@ ;; failed to figure out what this is: (defstate lightning-mole-debug-blend (lightning-mole) - :trans - (behavior () + :trans (behavior () (let ((gp-0 (new-stack-vector0))) (let ((a1-0 (new-stack-vector0))) (clmf-input gp-0 a1-0 1) @@ -701,24 +673,20 @@ (set! (-> self speed-adjust) 1.0) (none) ) - :code - lightning-mole-run-code - :post - (the-as (function none :behavior lightning-mole) ja-post) + :code lightning-mole-run-code + :post (the-as (function none :behavior lightning-mole) ja-post) ) ;; failed to figure out what this is: (defstate lightning-mole-debug-run (lightning-mole) - :enter - (behavior () + :enter (behavior () (set! (-> self speed-adjust) 1.0) (set-vector! (-> self debug-vector) 0.0 0.0 1.0 1.0) (set! (-> self saved-travel quad) (-> self debug-vector quad)) ((-> (method-of-type nav-enemy nav-enemy-chase) enter)) (none) ) - :trans - (behavior () + :trans (behavior () (when (cpad-pressed? 1 r3) (logclear! (-> *cpad-list* cpads 1 button0-abs 0) (pad-buttons r3)) (logclear! (-> *cpad-list* cpads 1 button0-rel 0) (pad-buttons r3)) @@ -726,10 +694,8 @@ ) (none) ) - :code - lightning-mole-run-code - :post - (behavior () + :code lightning-mole-run-code + :post (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) (let ((s4-0 (new-stack-vector0)) (a1-0 (new-stack-vector0)) @@ -772,8 +738,7 @@ ;; failed to figure out what this is: (defstate lightning-mole-gone (lightning-mole) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (ja-channel-set! 0) (ja-post) @@ -787,14 +752,12 @@ ;; failed to figure out what this is: (defstate lightning-mole-hiding (lightning-mole) - :enter - (behavior () + :enter (behavior () (ja-channel-set! 0) (clear-collide-with-as (-> self collide-info)) (none) ) - :trans - (behavior () + :trans (behavior () (when (task-closed? (-> self entity extra perm task) (task-status need-introduction)) (ja-channel-set! 1) (ja :group! (-> self draw art-group data 5)) @@ -803,8 +766,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) @@ -814,8 +776,7 @@ ;; failed to figure out what this is: (defstate lightning-mole-dive (lightning-mole) - :trans - (behavior () + :trans (behavior () (when (< (vector-vector-xz-distance *lightning-mole-hole* (-> self collide-info trans)) 61440.0) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-1 from) self) @@ -835,8 +796,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -869,19 +829,16 @@ (go lightning-mole-gone) (none) ) - :post - lightning-mole-hole-post + :post lightning-mole-hole-post ) ;; failed to figure out what this is: (defstate lightning-mole-head-for-hole (lightning-mole) - :enter - (behavior () + :enter (behavior () (clear-collide-with-as (-> self collide-info)) (none) ) - :trans - (behavior () + :trans (behavior () (when (< (vector-vector-xz-distance *lightning-mole-hole* (-> self collide-info trans)) 61440.0) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-1 from) self) @@ -904,29 +861,23 @@ ) (none) ) - :code - (-> (method-of-type fleeing-nav-enemy nav-enemy-chase) code) - :post - lightning-mole-hole-post + :code (-> (method-of-type fleeing-nav-enemy nav-enemy-chase) code) + :post lightning-mole-hole-post ) ;; failed to figure out what this is: (defstate lightning-mole-yelp (lightning-mole) - :enter - (behavior () + :enter (behavior () (clear-collide-with-as (-> self collide-info)) ((-> (method-of-type fleeing-nav-enemy nav-enemy-chase) enter)) (none) ) - :exit - (behavior () + :exit (behavior () (restore-collide-with-as (-> self collide-info)) (none) ) - :trans - (-> (method-of-type fleeing-nav-enemy nav-enemy-chase) trans) - :code - (behavior () + :trans (-> (method-of-type fleeing-nav-enemy nav-enemy-chase) trans) + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! max f30-0) :frame-num 0.0) @@ -938,32 +889,27 @@ (go-virtual nav-enemy-chase) (none) ) - :post - (the-as (function none :behavior lightning-mole) nav-enemy-simple-post) + :post (the-as (function none :behavior lightning-mole) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate nav-enemy-stop-chase (lightning-mole) :virtual #t - :code - lightning-mole-run-code - :post - (the-as (function none :behavior lightning-mole) fleeing-nav-enemy-chase-post) + :code lightning-mole-run-code + :post (the-as (function none :behavior lightning-mole) fleeing-nav-enemy-chase-post) ) ;; failed to figure out what this is: (defstate nav-enemy-chase (lightning-mole) :virtual #t - :enter - (behavior () + :enter (behavior () (set! (-> self speed-adjust) 1.0) (set! (-> self run-blend-interp) 0.0) (vector-! (-> self saved-travel) (-> self collide-info trans) (target-pos 0)) ((-> (method-of-type fleeing-nav-enemy nav-enemy-chase) enter)) (none) ) - :trans - (behavior () + :trans (behavior () (let ((s3-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) @@ -1019,10 +965,8 @@ ((-> (method-of-type fleeing-nav-enemy nav-enemy-chase) trans)) (none) ) - :code - lightning-mole-run-code - :post - (the-as (function none :behavior lightning-mole) fleeing-nav-enemy-chase-post) + :code lightning-mole-run-code + :post (the-as (function none :behavior lightning-mole) fleeing-nav-enemy-chase-post) ) ;; definition for method 43 of type lightning-mole @@ -1168,14 +1112,12 @@ :id 456 :duration 5 :bounds (static-bspherem 0 0 0 15) - :parts - ((sp-item 1768) (sp-item 1769 :period 120 :length 30) (sp-item 1770 :period 120 :length 60)) + :parts ((sp-item 1768) (sp-item 1769 :period 120 :length 30) (sp-item 1770 :period 120 :length 60)) ) ;; failed to figure out what this is: (defpart 1768 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.25) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters -2)) @@ -1201,8 +1143,7 @@ ;; failed to figure out what this is: (defpart 1769 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters -2)) @@ -1227,8 +1168,7 @@ ;; failed to figure out what this is: (defpart 1770 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0)) @@ -1255,8 +1195,7 @@ ;; failed to figure out what this is: (defpart 1771 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.05) 1.0) @@ -1281,8 +1220,7 @@ ;; failed to figure out what this is: (defpart 1772 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.05) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1326,13 +1264,9 @@ (when (< (-> arg2 y) (-> arg1 user-float)) (let ((gp-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.05) - (sound-play-by-name (static-sound-name "land-grass") (new-sound-id) 1024 0 0 1 #t) - ) - ) + (if (< (rand-float-gen) 0.05) + (sound-play-by-name (static-sound-name "land-grass") (new-sound-id) 1024 0 0 1 #t) + ) (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) (sp-launch-particles-var *sp-particle-system-2d* @@ -1372,8 +1306,7 @@ ;; failed to figure out what this is: (defstate peeper-wait (peeper) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'hide) (let ((v0-0 (-> *display* base-frame-counter))) @@ -1384,16 +1317,14 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) (not (and *target* (>= 81920.0 (vector-vector-xz-distance (-> self root trans) (-> *target* control trans))))) ) @@ -1401,22 +1332,19 @@ ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior peeper) ja-post) + :post (the-as (function none :behavior peeper) ja-post) ) ;; failed to figure out what this is: (defstate peeper-hide (peeper) - :code - (behavior () + :code (behavior () (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) @@ -1429,29 +1357,25 @@ (go peeper-wait) (none) ) - :post - (the-as (function none :behavior peeper) ja-post) + :post (the-as (function none :behavior peeper) ja-post) ) ;; failed to figure out what this is: (defstate peeper-down (peeper) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hide) (go peeper-wait) ) ) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 61440.0 (vector-vector-xz-distance (-> self root trans) (-> *target* control trans)))) (go peeper-wait) ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) @@ -1482,37 +1406,32 @@ (go peeper-up) (none) ) - :post - (the-as (function none :behavior peeper) ja-post) + :post (the-as (function none :behavior peeper) ja-post) ) ;; failed to figure out what this is: (defstate peeper-up (peeper) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hide) (go peeper-hide) ) ) ) - :enter - (behavior () + :enter (behavior () (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 61440.0 (vector-vector-xz-distance (-> self root trans) (-> *target* control trans)))) (go peeper-hide) ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 13) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1523,8 +1442,7 @@ ) (none) ) - :post - (the-as (function none :behavior peeper) ja-post) + :post (the-as (function none :behavior peeper) ja-post) ) ;; definition for method 11 of type peeper diff --git a/test/decompiler/reference/levels/rolling/rolling-obs_REF.gc b/test/decompiler/reference/levels/rolling/rolling-obs_REF.gc index a88530242f..fd36a7f8c2 100644 --- a/test/decompiler/reference/levels/rolling/rolling-obs_REF.gc +++ b/test/decompiler/reference/levels/rolling/rolling-obs_REF.gc @@ -178,10 +178,8 @@ ;; failed to figure out what this is: (defstate pusher-idle (pusher) - :trans - (the-as (function none :behavior pusher) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior pusher) rider-trans) + :code (behavior () (loop (let ((f0-0 -1.0)) (when (and *target* *camera*) @@ -199,8 +197,7 @@ ) (none) ) - :post - (the-as (function none :behavior pusher) rider-post) + :post (the-as (function none :behavior pusher) rider-post) ) ;; definition for method 11 of type pusher @@ -223,10 +220,8 @@ ;; failed to figure out what this is: (defstate gorge-pusher-idle (gorge-pusher) - :trans - (the-as (function none :behavior gorge-pusher) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior gorge-pusher) rider-trans) + :code (behavior () (loop (if (task-closed? (game-task rolling-race) (task-status need-introduction)) (ja :num! (seek! (-> self min-frame))) @@ -236,8 +231,7 @@ ) (none) ) - :post - (the-as (function none :behavior gorge-pusher) rider-post) + :post (the-as (function none :behavior gorge-pusher) rider-post) ) ;; definition for method 11 of type gorge-pusher @@ -306,7 +300,7 @@ ;; INFO: Return type mismatch object vs symbol. (defun dark-plant-check-target ((arg0 dark-plant)) (the-as symbol (and *target* (and (< (vector-vector-distance (-> arg0 root trans) (target-pos 0)) 16384.0) - (send-event *target* 'query 'powerup 4) + (send-event *target* 'query 'powerup (pickup-type eco-green)) ) ) ) @@ -366,10 +360,8 @@ ;; failed to figure out what this is: (defstate dark-plant-sprout (dark-plant) - :trans - dark-plant-trans - :code - (behavior () + :trans dark-plant-trans + :code (behavior () (dark-plant-randomize self) (logclear! (-> self draw status) (draw-status hidden)) (sound-play-by-name (static-sound-name "darkvine-grow") (new-sound-id) 1024 0 0 1 #t) @@ -381,14 +373,12 @@ (go dark-plant-idle) (none) ) - :post - (the-as (function none :behavior dark-plant) ja-post) + :post (the-as (function none :behavior dark-plant) ja-post) ) ;; failed to figure out what this is: (defstate dark-plant-gone (dark-plant) - :code - (behavior () + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (let* ((f30-0 1500.0) (v1-4 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) @@ -419,14 +409,12 @@ ) (none) ) - :post - (the-as (function none :behavior dark-plant) ja-post) + :post (the-as (function none :behavior dark-plant) ja-post) ) ;; failed to figure out what this is: (defstate dark-plant-death (dark-plant) - :code - (behavior () + :code (behavior () (spawn (-> self part) (-> self root trans)) (ja-channel-push! 1 (seconds 0.2)) (sound-play-by-name (static-sound-name "darkvine-kill") (new-sound-id) 1024 0 0 1 #t) @@ -438,16 +426,13 @@ (go dark-plant-gone) (none) ) - :post - (the-as (function none :behavior dark-plant) ja-post) + :post (the-as (function none :behavior dark-plant) ja-post) ) ;; failed to figure out what this is: (defstate dark-plant-idle (dark-plant) - :trans - dark-plant-trans - :code - (behavior () + :trans dark-plant-trans + :code (behavior () (loop (when (and (logtest? (-> self draw status) (draw-status was-drawn)) *target* @@ -464,22 +449,15 @@ *entity-pool* (game-task none) ) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'query) - (set! (-> a1-4 param 0) (the-as uint 'powerup)) - (set! (-> a1-4 param 1) (the-as uint 4)) - (if (not (send-event-function *target* a1-4)) - (level-hint-spawn - (game-text-id rolling-dark-plants-hint) - "sksp0114" - (the-as entity #f) - *entity-pool* - (game-task none) - ) + (if (not (send-event *target* 'query 'powerup (pickup-type eco-green))) + (level-hint-spawn + (game-text-id rolling-dark-plants-hint) + "sksp0114" + (the-as entity #f) + *entity-pool* + (game-task none) ) - ) + ) ) ) (let ((gp-1 (-> self skel root-channel 0))) @@ -487,12 +465,10 @@ (set! (-> gp-1 param 0) (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) ) - (let* ((f30-1 0.9) - (f28-0 0.25) - (v1-32 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-33 (the-as number (logior #x3f800000 v1-32))) - ) - (set! (-> gp-1 param 1) (+ f30-1 (* f28-0 (+ -1.0 (the-as float v1-33))))) + (let ((f30-1 0.9) + (f28-0 0.25) + ) + (set! (-> gp-1 param 1) (+ f30-1 (* f28-0 (rand-float-gen)))) ) (set! (-> gp-1 frame-num) 0.0) (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) @@ -501,12 +477,10 @@ (suspend) (let ((gp-2 (-> self skel root-channel 0))) (set! (-> gp-2 param 0) (the float (+ (-> gp-2 frame-group data 0 length) -1))) - (let* ((f30-2 0.9) - (f28-1 0.25) - (v1-45 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-46 (the-as number (logior #x3f800000 v1-45))) - ) - (set! (-> gp-2 param 1) (+ f30-2 (* f28-1 (+ -1.0 (the-as float v1-46))))) + (let ((f30-2 0.9) + (f28-1 0.25) + ) + (set! (-> gp-2 param 1) (+ f30-2 (* f28-1 (rand-float-gen)))) ) (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) ) @@ -514,27 +488,20 @@ ) (none) ) - :post - (the-as (function none :behavior dark-plant) ja-post) + :post (the-as (function none :behavior dark-plant) ja-post) ) ;; failed to figure out what this is: (defstate dark-plant-startup (dark-plant) - :trans - dark-plant-trans - :code - (behavior () + :trans dark-plant-trans + :code (behavior () (let ((gp-0 (-> self skel root-channel 0))) (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) (set! (-> gp-0 param 0) (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) ) (set! (-> gp-0 param 1) 1.0) - (let* ((v1-12 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-13 (the-as number (logior #x3f800000 v1-12))) - ) - (set! (-> gp-0 frame-num) (* (+ -1.0 (the-as float v1-13)) (the float (ja-num-frames 0)))) - ) + (set! (-> gp-0 frame-num) (* (rand-float-gen) (the float (ja-num-frames 0)))) (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) ) (until (ja-done? 0) @@ -544,8 +511,7 @@ (go dark-plant-idle) (none) ) - :post - (the-as (function none :behavior dark-plant) ja-post) + :post (the-as (function none :behavior dark-plant) ja-post) ) ;; failed to figure out what this is: @@ -554,14 +520,12 @@ :duration 42 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 15) - :parts - ((sp-item 1764) (sp-item 2356)) + :parts ((sp-item 1764) (sp-item 2356)) ) ;; failed to figure out what this is: (defpart 2356 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 12)) @@ -580,8 +544,7 @@ ;; failed to figure out what this is: (defpart 1764 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 128.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -663,8 +626,7 @@ ;; failed to figure out what this is: (defstate happy-plant-opened (happy-plant) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -674,14 +636,12 @@ ) (none) ) - :post - (the-as (function none :behavior happy-plant) ja-post) + :post (the-as (function none :behavior happy-plant) ja-post) ) ;; failed to figure out what this is: (defstate happy-plant-opening (happy-plant) - :exit - (behavior () + :exit (behavior () (when *target* (logclear! (-> *target* mask) (process-mask sleep)) (process-entity-status! self (entity-perm-status bit-3) #f) @@ -689,27 +649,17 @@ ) (none) ) - :code - (behavior () + :code (behavior () (close-specific-task! (game-task rolling-plants) (task-status need-reminder)) (process-entity-status! self (entity-perm-status bit-3) #t) (logclear! (-> self mask) (process-mask actor-pause)) (while (and *target* (< (vector-vector-distance (-> self root-override trans) (target-pos 0)) 24576.0)) (suspend) ) - (let* ((gp-1 (get-process *default-dead-pool* manipy #x4000)) - (gp-2 - (ppointer->handle - (when gp-1 - (let ((t9-5 (method-of-type manipy activate))) - (t9-5 (the-as manipy gp-1) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 manipy-init (-> self entity extra trans) (-> self entity) *rollingcam-sg* #f) - (-> gp-1 ppointer) - ) - ) - ) - ) + (let ((gp-2 + (ppointer->handle (manipy-spawn (-> self entity extra trans) (-> self entity) *rollingcam-sg* #f :to self)) + ) + ) (let ((s5-1 (get-process *default-dead-pool* othercam #x4000))) (ppointer->handle (when s5-1 (let ((t9-8 (method-of-type othercam activate))) @@ -720,17 +670,10 @@ ) ) ) - (let* ((s5-2 (get-process *default-dead-pool* fuel-cell #x4000)) - (s5-3 (ppointer->handle (when s5-2 - (let ((t9-11 (method-of-type fuel-cell activate))) - (t9-11 (the-as fuel-cell s5-2) self 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 fuel-cell-init-as-clone (process->handle self) 55) - (-> s5-2 ppointer) - ) - ) - ) - ) + (let ((s5-3 + (ppointer->handle (process-spawn fuel-cell :init fuel-cell-init-as-clone (process->handle self) 55 :to self)) + ) + ) (if *target* (logior! (-> *target* mask) (process-mask sleep)) ) @@ -740,8 +683,7 @@ :name "happy-plant-open" :index 5 :parts 2 - :command-list - '((0 send-event target draw #f) (10000 send-event target draw #t)) + :command-list '((0 send-event target draw #f) (10000 send-event target draw #t)) ) (the-as art-joint-anim #f) (the-as art-joint-anim (-> self draw art-group data 4)) @@ -767,14 +709,12 @@ (go happy-plant-opened) (none) ) - :post - (the-as (function none :behavior happy-plant) transform-post) + :post (the-as (function none :behavior happy-plant) transform-post) ) ;; failed to figure out what this is: (defstate happy-plant-init (happy-plant) - :trans - (behavior () + :trans (behavior () (when (-> self alt-actor) (spool-push *art-control* "happy-plant-open" 0 self -99.0) (let* ((gp-0 (-> self alt-actor extra process)) @@ -792,8 +732,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (clear-collide-with-as (-> self root-override)) (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) @@ -804,8 +743,7 @@ ) (none) ) - :post - (the-as (function none :behavior happy-plant) ja-post) + :post (the-as (function none :behavior happy-plant) ja-post) ) ;; definition for method 11 of type happy-plant @@ -995,16 +933,14 @@ ;; failed to figure out what this is: (defstate rolling-start-break (rolling-start) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('unbreak) (go rolling-start-whole) ) ) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -1028,14 +964,12 @@ ) (none) ) - :post - (the-as (function none :behavior rolling-start) ja-post) + :post (the-as (function none :behavior rolling-start) ja-post) ) ;; failed to figure out what this is: (defstate rolling-start-whole (rolling-start) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('break) (sound-play-by-name (static-sound-name "cool-rolling-st") (new-sound-id) 1024 0 0 1 #t) @@ -1046,8 +980,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (lods-assign! (-> self draw) (-> self whole-look)) (loop (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) @@ -1058,8 +991,7 @@ ) (none) ) - :post - (the-as (function none :behavior rolling-start) ja-post) + :post (the-as (function none :behavior rolling-start) ja-post) ) ;; definition for function rolling-start-init-by-other @@ -1240,10 +1172,8 @@ ;; failed to figure out what this is: (defstate gorge-abort-idle (gorge-abort) - :trans - (the-as (function none :behavior gorge-abort) gorge-trans) - :code - (behavior () + :trans (the-as (function none :behavior gorge-abort) gorge-trans) + :code (behavior () (loop (suspend) (if (gorge-behind self) @@ -1267,10 +1197,8 @@ ;; failed to figure out what this is: (defstate gorge-finish-idle (gorge-finish) - :trans - (the-as (function none :behavior gorge-finish) gorge-trans) - :code - (behavior () + :trans (the-as (function none :behavior gorge-finish) gorge-trans) + :code (behavior () (loop (suspend) (if (gorge-in-front self) @@ -1432,42 +1360,27 @@ ;; INFO: Return type mismatch int vs handle. ;; Used lq/sq (defbehavior gorge-start-launch-start-banner gorge-start () - (the-as - handle - (when (task-closed? (game-task rolling-race) (task-status need-introduction)) - (when (not (handle->process (-> self start-banner))) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override trans quad)) - (let* ((s5-0 (get-process *default-dead-pool* rolling-start #x4000)) - (v0-1 - (ppointer->handle (when s5-0 - (let ((t9-2 (method-of-type rolling-start activate))) - (t9-2 (the-as rolling-start s5-0) self 'rolling-start (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 rolling-start-init-by-other gp-0 0.0) - (-> s5-0 ppointer) - ) - ) + (the-as handle (when (task-closed? (game-task rolling-race) (task-status need-introduction)) + (when (not (handle->process (-> self start-banner))) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self root-override trans quad)) + (let ((v0-1 (ppointer->handle (process-spawn rolling-start gp-0 0.0 :to self)))) + (set! (-> self start-banner) (the-as handle v0-1)) + v0-1 + ) + ) + ) ) - ) - (set! (-> self start-banner) (the-as handle v0-1)) - v0-1 - ) ) - ) - ) - ) ) ;; failed to figure out what this is: (defstate gorge-start-race-finished (gorge-start) - :trans - (behavior () + :trans (behavior () (gorge-trans) (none) ) - :code - (behavior () + :code (behavior () (gorge-start-draw-time #t #t) (suspend) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -1490,13 +1403,11 @@ ;; failed to figure out what this is: (defstate gorge-start-race-aborted (gorge-start) - :trans - (behavior () + :trans (behavior () (gorge-trans) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) (seekl! (-> self timer-pos-offset) 100 (the int (* 5.0 (-> *display* time-adjust-ratio)))) @@ -1548,8 +1459,7 @@ ;; failed to figure out what this is: (defstate gorge-start-racing (gorge-start) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('finished) (go gorge-start-race-finished) @@ -1559,112 +1469,58 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (send-event (handle->process (-> self start-banner)) 'break) (send-event (ppointer->process (-> *hud-parts* fuel-cell)) 'disable) (send-event (ppointer->process (-> *hud-parts* fuel-cell)) 'hide) (send-event (ppointer->process (-> *hud-parts* money)) 'disable) (send-event (ppointer->process (-> *hud-parts* money)) 'hide) (race-time-read (-> self record-time) 1 (-> self tasks) (seconds 45)) - (let ((gp-0 (get-process *default-dead-pool* rolling-start #x4000))) - (set! (-> self end-banner) - (ppointer->handle (when gp-0 - (let ((t9-7 (method-of-type rolling-start activate))) - (t9-7 (the-as rolling-start gp-0) self 'rolling-start (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - rolling-start-init-by-other - (new 'static 'vector :x -86016.0 :y 112640.0 :z -6309888.0) - 16384.0 - ) - (-> gp-0 ppointer) - ) - ) + (set! (-> self end-banner) + (ppointer->handle + (process-spawn rolling-start (new 'static 'vector :x -86016.0 :y 112640.0 :z -6309888.0) 16384.0 :to self) ) + ) + (process-spawn + gorge-finish + (new 'static 'vector :x -86016.0 :y 114688.0 :z -6303744.0) + (new 'static 'vector :x -1.0) + 57344.0 + :to self ) - (let ((gp-1 (get-process *default-dead-pool* gorge-finish #x4000))) - (when gp-1 - (let ((t9-10 (method-of-type gorge-finish activate))) - (t9-10 (the-as gorge-finish gp-1) self 'gorge-finish (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - gorge-finish-init-by-other - (new 'static 'vector :x -86016.0 :y 114688.0 :z -6303744.0) - (new 'static 'vector :x -1.0) - 57344.0 - ) - (-> gp-1 ppointer) - ) + (process-spawn + gorge-abort + (new 'static 'vector :x -696320.0 :y 122880.0 :z -6828032.0) + (new 'static 'vector :x -0.707 :y 0.707) + 163840.0 + :to self ) - (let ((gp-2 (get-process *default-dead-pool* gorge-abort #x4000))) - (when gp-2 - (let ((t9-13 (method-of-type gorge-abort activate))) - (t9-13 (the-as gorge-abort gp-2) self 'gorge-abort (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-2 - gorge-abort-init-by-other - (new 'static 'vector :x -696320.0 :y 122880.0 :z -6828032.0) - (new 'static 'vector :x -0.707 :y 0.707) - 163840.0 - ) - (-> gp-2 ppointer) - ) + (process-spawn + gorge-abort + (new 'static 'vector :x -847872.0 :y 143360.0 :z -6828032.0) + (new 'static 'vector :x 0.707 :y 0.707) + 163840.0 + :to self ) - (let ((gp-3 (get-process *default-dead-pool* gorge-abort #x4000))) - (when gp-3 - (let ((t9-16 (method-of-type gorge-abort activate))) - (t9-16 (the-as gorge-abort gp-3) self 'gorge-abort (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-3 - gorge-abort-init-by-other - (new 'static 'vector :x -847872.0 :y 143360.0 :z -6828032.0) - (new 'static 'vector :x 0.707 :y 0.707) - 163840.0 - ) - (-> gp-3 ppointer) - ) + (process-spawn + gorge-abort + (new 'static 'vector :x -417792.0 :y 143360.0 :z -6004736.0) + (new 'static 'vector :x -0.5 :y 0.707 :z 0.3) + 266240.0 + :to self ) - (let ((gp-4 (get-process *default-dead-pool* gorge-abort #x4000))) - (when gp-4 - (let ((t9-19 (method-of-type gorge-abort activate))) - (t9-19 (the-as gorge-abort gp-4) self 'gorge-abort (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-4 - gorge-abort-init-by-other - (new 'static 'vector :x -417792.0 :y 143360.0 :z -6004736.0) - (new 'static 'vector :x -0.5 :y 0.707 :z 0.3) - 266240.0 - ) - (-> gp-4 ppointer) - ) - ) - (let ((gp-5 (get-process *default-dead-pool* gorge-abort #x4000))) - (when gp-5 - (let ((t9-22 (method-of-type gorge-abort activate))) - (t9-22 (the-as gorge-abort gp-5) self 'gorge-abort (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-5 - gorge-abort-init-by-other - (new 'static 'vector :x -647168.0 :y 143360.0 :z -6025216.0) - (new 'static 'vector :x 0.5 :y 0.707 :z -0.3) - 163840.0 - ) - (-> gp-5 ppointer) - ) + (process-spawn + gorge-abort + (new 'static 'vector :x -647168.0 :y 143360.0 :z -6025216.0) + (new 'static 'vector :x 0.5 :y 0.707 :z -0.3) + 163840.0 + :to self ) (sleep (-> self ticker) (seconds 6000)) (set-setting! *setting-control* self 'sound-flava #f 40.0 42) (none) ) - :exit - (behavior () + :exit (behavior () (let* ((v1-0 (-> self child)) (gp-0 (-> v1-0 0 brother)) ) @@ -1681,10 +1537,8 @@ (clear-pending-settings-from-process *setting-control* self 'sound-flava) (none) ) - :trans - (the-as (function none :behavior gorge-start) gorge-trans) - :code - (behavior () + :trans (the-as (function none :behavior gorge-start) gorge-trans) + :code (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (loop (seconds->race-time (-> self this-time) (- (-> *display* game-frame-counter) (-> self state-time))) @@ -1702,10 +1556,8 @@ ;; failed to figure out what this is: (defstate gorge-start-ready (gorge-start) - :trans - (the-as (function none :behavior gorge-start) gorge-trans) - :code - (behavior () + :trans (the-as (function none :behavior gorge-start) gorge-trans) + :code (behavior () (loop (suspend) (seekl! (-> self timer-pos-offset) 100 (the int (* 5.0 (-> *display* time-adjust-ratio)))) @@ -1731,26 +1583,22 @@ ;; failed to figure out what this is: (defstate gorge-start-idle (gorge-start) - :enter - (behavior () + :enter (behavior () (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #t) (none) ) - :trans - (behavior () + :trans (behavior () (gorge-start-launch-start-banner) (gorge-trans) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (seekl! (-> self timer-pos-offset) 100 (the int (* 5.0 (-> *display* time-adjust-ratio)))) @@ -1808,8 +1656,7 @@ :count 3 :converted #f :normal-scale 1.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 40.0 :xdiv -1 :zdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) diff --git a/test/decompiler/reference/levels/rolling/rolling-race-ring_REF.gc b/test/decompiler/reference/levels/rolling/rolling-race-ring_REF.gc index 6d56f59618..5ea3b27e31 100644 --- a/test/decompiler/reference/levels/rolling/rolling-race-ring_REF.gc +++ b/test/decompiler/reference/levels/rolling/rolling-race-ring_REF.gc @@ -48,8 +48,7 @@ :id 457 :linger-duration 0 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1773 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 1773 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1774 :fade-after (meters 80)) (sp-item 1775 :flags (is-3d)) (sp-item 1776 :flags (is-3d)) @@ -58,8 +57,7 @@ ;; failed to figure out what this is: (defpart 1773 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 2.0 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -80,8 +78,7 @@ ;; failed to figure out what this is: (defpart 1774 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -102,8 +99,7 @@ ;; failed to figure out what this is: (defpart 1775 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 10)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -122,8 +118,7 @@ ;; failed to figure out what this is: (defpart 1776 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 12)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -145,8 +140,7 @@ :duration 5 :linger-duration 141 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1777 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 1777 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1778 :flags (is-3d)) (sp-item 1779 :flags (is-3d)) ) @@ -154,8 +148,7 @@ ;; failed to figure out what this is: (defpart 1777 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -178,8 +171,7 @@ ;; failed to figure out what this is: (defpart 1780 - :init-specs - ((sp-rnd-int spt-r 1115684864 1 64.0) + :init-specs ((sp-rnd-int spt-r 1115684864 1 64.0) (sp-flt spt-g 0.0) (sp-rnd-int spt-b 1115684864 1 64.0) (sp-rnd-int spt-a 0 63 1.0) @@ -190,8 +182,7 @@ ;; failed to figure out what this is: (defpart 1778 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -213,8 +204,7 @@ ;; failed to figure out what this is: (defpart 1781 - :init-specs - ((sp-rnd-int spt-r 1124073472 1 127.0) + :init-specs ((sp-rnd-int spt-r 1124073472 1 127.0) (sp-flt spt-g 0.0) (sp-rnd-int spt-b 1124073472 1 127.0) (sp-rnd-flt spt-a 32.0 32.0 1.0) @@ -225,8 +215,7 @@ ;; failed to figure out what this is: (defpart 1779 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -248,8 +237,7 @@ ;; failed to figure out what this is: (defpart 1782 - :init-specs - ((sp-rnd-int spt-r 1124073472 1 127.0) + :init-specs ((sp-rnd-int spt-r 1124073472 1 127.0) (sp-flt spt-g 0.0) (sp-rnd-int spt-b 1124073472 1 127.0) (sp-rnd-flt spt-a 32.0 32.0 1.0) @@ -264,14 +252,12 @@ :duration 5 :linger-duration 150 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1783 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1784 :flags (is-3d))) + :parts ((sp-item 1783 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1784 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 1783 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 64.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -294,8 +280,7 @@ ;; failed to figure out what this is: (defpart 1784 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 10)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -337,8 +322,7 @@ :id 460 :linger-duration 0 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1785 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 1785 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1786 :fade-after (meters 80)) (sp-item 1787 :flags (is-3d)) (sp-item 1788 :flags (is-3d)) @@ -347,8 +331,7 @@ ;; failed to figure out what this is: (defpart 1785 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 2.0 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -369,8 +352,7 @@ ;; failed to figure out what this is: (defpart 1786 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -391,8 +373,7 @@ ;; failed to figure out what this is: (defpart 1787 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 10)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -411,8 +392,7 @@ ;; failed to figure out what this is: (defpart 1788 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 12)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -434,8 +414,7 @@ :duration 5 :linger-duration 141 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1789 :fade-after (meters 100) :falloff-to (meters 100)) + :parts ((sp-item 1789 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1790 :flags (is-3d)) (sp-item 1791 :flags (is-3d)) ) @@ -443,8 +422,7 @@ ;; failed to figure out what this is: (defpart 1789 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -467,8 +445,7 @@ ;; failed to figure out what this is: (defpart 1792 - :init-specs - ((sp-flt spt-r 0.0) + :init-specs ((sp-flt spt-r 0.0) (sp-rnd-int spt-g 1115684864 1 64.0) (sp-rnd-int spt-b 1115684864 1 64.0) (sp-rnd-int spt-a 0 63 1.0) @@ -479,8 +456,7 @@ ;; failed to figure out what this is: (defpart 1790 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -502,8 +478,7 @@ ;; failed to figure out what this is: (defpart 1793 - :init-specs - ((sp-flt spt-r 0.0) + :init-specs ((sp-flt spt-r 0.0) (sp-rnd-int spt-g 1124073472 1 127.0) (sp-rnd-int spt-b 1124073472 1 127.0) (sp-rnd-flt spt-a 32.0 32.0 1.0) @@ -514,8 +489,7 @@ ;; failed to figure out what this is: (defpart 1791 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -537,8 +511,7 @@ ;; failed to figure out what this is: (defpart 1794 - :init-specs - ((sp-flt spt-r 0.0) + :init-specs ((sp-flt spt-r 0.0) (sp-rnd-int spt-g 1124073472 1 127.0) (sp-rnd-int spt-b 1124073472 1 127.0) (sp-rnd-flt spt-a 32.0 32.0 1.0) @@ -553,14 +526,12 @@ :duration 5 :linger-duration 150 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1795 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1796 :flags (is-3d))) + :parts ((sp-item 1795 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1796 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 1795 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 64.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -583,8 +554,7 @@ ;; failed to figure out what this is: (defpart 1796 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 10)) (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) @@ -639,8 +609,7 @@ ;; failed to figure out what this is: (defstate race-ring-active (race-ring) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 symbol)) (let ((v1-0 arg2)) (the-as @@ -649,52 +618,36 @@ (when (and (= (-> arg3 param 0) 'die) (= arg0 (-> self part-track process 0))) (cond ((= (-> self entity extra perm task) (game-task rolling-ring-chase-2)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 460) - -1 - race-ring-blue-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root trans) - ) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 460) + -1 + race-ring-blue-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root trans) + :to self + ) + ) + ) (set! v0-0 #t) (set! (-> self keep-part-track-alive) v0-0) ) (else - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 457) - -1 - race-ring-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root trans) - ) - (-> gp-1 ppointer) - ) - ) - ) - ) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 457) + -1 + race-ring-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root trans) + :to self + ) + ) + ) (set! v0-0 #t) (set! (-> self keep-part-track-alive) v0-0) ) @@ -705,8 +658,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (cond ((first-ring? self) (logior! (-> self mask) (process-mask actor-pause)) @@ -718,115 +670,74 @@ ) ) (set! (-> self keep-part-track-alive) #f) - (cond - ((= (-> self entity extra perm task) (game-task rolling-ring-chase-2)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-0 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-0) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 461) - -1 - race-ring-blue-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root trans) - ) - (-> gp-0 ppointer) - ) - ) - ) - ) - ) - (else - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker gp-1) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 458) - -1 - race-ring-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root trans) - ) - (-> gp-1 ppointer) - ) - ) - ) - ) + (if (= (-> self entity extra perm task) (game-task rolling-ring-chase-2)) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 461) + -1 + race-ring-blue-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root trans) + :to self + ) + ) + ) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 458) + -1 + race-ring-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root trans) + :to self + ) + ) + ) ) - ) (set! (-> self old-hips quad) (-> (target-pos 26) quad)) (set! (-> self old-hips x) (+ 1.0 (-> self old-hips x))) (set! (-> self state-time) (-> *display* game-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (sound-play-by-name (static-sound-name "close-racering") (new-sound-id) 1024 0 0 1 #t) (let ((a0-3 (handle->process (-> self part-track)))) (if a0-3 (deactivate a0-3) ) ) - (cond - ((= (-> self entity extra perm task) (game-task rolling-ring-chase-2)) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 462) - -1 - race-ring-blue-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root trans) - ) - (-> gp-1 ppointer) - ) - ) - ) - ) - ) - (else - (let ((gp-2 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-2 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 (the-as part-tracker gp-2) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-2 - part-tracker-init - (-> *part-group-id-table* 459) - -1 - race-ring-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root trans) - ) - (-> gp-2 ppointer) - ) - ) - ) - ) + (if (= (-> self entity extra perm task) (game-task rolling-ring-chase-2)) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 462) + -1 + race-ring-blue-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root trans) + :to self + ) + ) + ) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 459) + -1 + race-ring-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root trans) + :to self + ) + ) + ) ) - ) (cond ((first-ring? self) (logclear! (-> self mask) (process-mask actor-pause)) @@ -839,8 +750,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (nonzero? (-> self sound)) (update! (-> self sound)) ) @@ -851,51 +761,35 @@ ) ) ((= (-> self entity extra perm task) (game-task rolling-ring-chase-2)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 (the-as part-tracker gp-0) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 460) - -1 - race-ring-blue-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root trans) - ) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 460) + -1 + race-ring-blue-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root trans) + :to self + ) + ) + ) (set! (-> self keep-part-track-alive) #t) ) (else - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) - (ppointer->handle (when gp-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker gp-1) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 457) - -1 - race-ring-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root trans) - ) - (-> gp-1 ppointer) - ) - ) - ) - ) + (set! (-> self part-track) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 457) + -1 + race-ring-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root trans) + :to self + ) + ) + ) (set! (-> self keep-part-track-alive) #t) ) ) @@ -911,8 +805,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) (cond @@ -988,29 +881,17 @@ ) ) ((last-ring? self) - (let* ((gp-1 (get-process *default-dead-pool* othercam #x4000)) - (gp-2 (ppointer->handle (when gp-1 - (let ((t9-15 (method-of-type othercam activate))) - (t9-15 (the-as othercam gp-1) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 othercam-init-by-other self 4 #f #t) - (-> gp-1 ppointer) - ) - ) - ) - (s5-1 (get-process *default-dead-pool* fuel-cell #x4000)) - (s5-2 - (ppointer->handle - (when s5-1 - (let ((t9-18 (method-of-type fuel-cell activate))) - (t9-18 (the-as fuel-cell s5-1) self 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 fuel-cell-init-as-clone (process->handle self) (-> self entity extra perm task)) - (-> s5-1 ppointer) - ) - ) - ) - ) + (let ((gp-2 (ppointer->handle (process-spawn othercam self 4 #f #t :to self))) + (s5-2 (ppointer->handle (process-spawn + fuel-cell + :init fuel-cell-init-as-clone + (process->handle self) + (-> self entity extra perm task) + :to self + ) + ) + ) + ) (if *target* (logior! (-> *target* mask) (process-mask sleep)) ) @@ -1076,14 +957,12 @@ ) (none) ) - :post - (the-as (function none :behavior race-ring) ja-post) + :post (the-as (function none :behavior race-ring) ja-post) ) ;; failed to figure out what this is: (defstate race-ring-wait (race-ring) - :code - (behavior () + :code (behavior () (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) @@ -1101,8 +980,7 @@ ;; failed to figure out what this is: (defstate race-ring-idle (race-ring) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('activate) (logclear! (-> self mask) (process-mask actor-pause)) @@ -1110,8 +988,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) diff --git a/test/decompiler/reference/levels/rolling/rolling-robber_REF.gc b/test/decompiler/reference/levels/rolling/rolling-robber_REF.gc index ee4e794f04..411bbdf3fe 100644 --- a/test/decompiler/reference/levels/rolling/rolling-robber_REF.gc +++ b/test/decompiler/reference/levels/rolling/rolling-robber_REF.gc @@ -5,10 +5,8 @@ ;; failed to figure out what this is: (defstate fuel-cell-spline-slider (fuel-cell) - :trans - (the-as (function none :behavior fuel-cell) hide-hud-quick) - :code - (behavior ((arg0 handle) (arg1 float) (arg2 float)) + :trans (the-as (function none :behavior fuel-cell) hide-hud-quick) + :code (behavior ((arg0 handle) (arg1 float) (arg2 float)) (logclear! (-> self mask) (process-mask actor-pause)) (ja :group! (-> self draw art-group data 2)) (if *target* @@ -324,8 +322,7 @@ ;; failed to figure out what this is: (defstate robber-debug (robber) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -354,14 +351,12 @@ ) (none) ) - :post - (the-as (function none :behavior robber) ja-post) + :post (the-as (function none :behavior robber) ja-post) ) ;; failed to figure out what this is: (defstate robber-dead (robber) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (deactivate self) (none) @@ -370,13 +365,11 @@ ;; failed to figure out what this is: (defstate robber-die (robber) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior robber) process-drawable-death-event-handler ) - :code - (behavior () + :code (behavior () (let ((gp-0 #t)) (when (robber-task-complete?) (let ((v1-3 (-> self entity extra perm))) @@ -390,21 +383,15 @@ -163840.0 ) ) - (s5-0 (get-process *default-dead-pool* fuel-cell #x4000)) ) - (when s5-0 - (let ((t9-2 (method-of-type fuel-cell activate))) - (t9-2 (the-as fuel-cell s5-0) self 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - fuel-cell-init-as-spline-slider - (process->handle self) - (-> self curve-position) - f30-0 - (-> self entity extra perm task) - ) - (-> s5-0 ppointer) + (process-spawn + fuel-cell + :init fuel-cell-init-as-spline-slider + (process->handle self) + (-> self curve-position) + f30-0 + (-> self entity extra perm task) + :to self ) ) ) @@ -444,16 +431,13 @@ (go robber-dead) (none) ) - :post - (the-as (function none :behavior robber) transform-post) + :post (the-as (function none :behavior robber) transform-post) ) ;; failed to figure out what this is: (defstate robber-got-away (robber) - :event - robber-event-handler - :trans - (behavior () + :event robber-event-handler + :trans (behavior () (if (and (not (and *target* (>= 204800.0 (vector-vector-xz-distance (-> self root-override trans) (-> *target* control trans))) ) @@ -469,8 +453,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (when (not (ja-group? (-> self draw art-group data 7))) (ja-channel-push! 1 (seconds 0.2)) (ja :group! (-> self draw art-group data 7)) @@ -486,26 +469,21 @@ ) (none) ) - :post - (the-as (function none :behavior robber) transform-post) + :post (the-as (function none :behavior robber) transform-post) ) ;; failed to figure out what this is: (defstate robber-tired (robber) - :event - robber-event-handler - :enter - (behavior () + :event robber-event-handler + :enter (behavior () (set! (-> self y-offset-desired) -12288.0) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self y-offset-desired) 0.0) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (and *target* (>= 163840.0 (vector-vector-xz-distance (-> self root-override trans) (-> *target* control trans))) ) @@ -514,8 +492,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (ja-group? (-> self draw art-group data 7))) (ja-channel-push! 1 (seconds 0.2)) @@ -551,23 +528,19 @@ ) (none) ) - :post - (the-as (function none :behavior robber) transform-post) + :post (the-as (function none :behavior robber) transform-post) ) ;; failed to figure out what this is: (defstate robber-flee (robber) - :event - robber-event-handler - :enter - (behavior () + :event robber-event-handler + :enter (behavior () (set! (-> self near-timer) 3000) (set! (-> self far-time) (-> *display* base-frame-counter)) (set! (-> self y-offset-desired) 0.0) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (and *target* (>= 163840.0 (vector-vector-xz-distance (-> self root-override trans) (-> *target* control trans))) ) @@ -591,8 +564,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (when (not (ja-group? (-> self draw art-group data 7))) (ja-channel-push! 1 (seconds 0.2)) @@ -628,21 +600,17 @@ ) (none) ) - :post - (the-as (function none :behavior robber) transform-post) + :post (the-as (function none :behavior robber) transform-post) ) ;; failed to figure out what this is: (defstate robber-idle (robber) - :event - robber-event-handler - :enter - (behavior () + :event robber-event-handler + :enter (behavior () (set! (-> self speed) 0.0) (none) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 122880.0 (vector-vector-xz-distance (-> self root-override trans) (-> *target* control trans))) ) @@ -652,8 +620,7 @@ (robber-move) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (loop (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) @@ -664,16 +631,13 @@ ) (none) ) - :post - (the-as (function none :behavior robber) transform-post) + :post (the-as (function none :behavior robber) transform-post) ) ;; failed to figure out what this is: (defstate robber-initial-notice (robber) - :event - robber-event-handler - :trans - (behavior () + :event robber-event-handler + :trans (behavior () (when (logtest? (-> self draw status) (draw-status was-drawn)) (if (and *target* (>= 163840.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) @@ -694,8 +658,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (TODO-RENAME-14 (-> self path) (-> self tangent) (-> self curve-position)) (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root-override trans) (target-pos 0))) (f0-1 6.826667) @@ -719,21 +682,17 @@ ) (none) ) - :post - (the-as (function none :behavior robber) transform-post) + :post (the-as (function none :behavior robber) transform-post) ) ;; failed to figure out what this is: (defstate robber-initial (robber) - :event - robber-event-handler - :enter - (behavior () + :event robber-event-handler + :enter (behavior () (set! (-> self speed) 0.0) (none) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 122880.0 (vector-vector-xz-distance (-> self root-override trans) (-> *target* control trans))) ) @@ -742,8 +701,7 @@ (robber-move) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (loop (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) @@ -754,8 +712,7 @@ ) (none) ) - :post - (the-as (function none :behavior robber) transform-post) + :post (the-as (function none :behavior robber) transform-post) ) ;; definition for method 11 of type robber diff --git a/test/decompiler/reference/levels/snow/ice-cube_REF.gc b/test/decompiler/reference/levels/snow/ice-cube_REF.gc index 3f3cd5404a..7bc7ee18d8 100644 --- a/test/decompiler/reference/levels/snow/ice-cube_REF.gc +++ b/test/decompiler/reference/levels/snow/ice-cube_REF.gc @@ -143,16 +143,14 @@ :id 507 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 1887 :fade-after (meters 70) :falloff-to (meters 70)) + :parts ((sp-item 1887 :fade-after (meters 70) :falloff-to (meters 70)) (sp-item 1888 :fade-after (meters 70) :falloff-to (meters 70)) ) ) ;; failed to figure out what this is: (defpart 1888 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) @@ -177,8 +175,7 @@ ;; failed to figure out what this is: (defpart 1887 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) @@ -209,14 +206,12 @@ :id 508 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 1889 :fade-after (meters 70) :falloff-to (meters 70))) + :parts ((sp-item 1889 :fade-after (meters 70) :falloff-to (meters 70))) ) ;; failed to figure out what this is: (defpart 1889 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.25) (meters 0.5) 1.0) @@ -243,14 +238,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2325) (sp-item 2326) (sp-item 2327)) + :parts ((sp-item 2325) (sp-item 2326) (sp-item 2327)) ) ;; failed to figure out what this is: (defpart 2325 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -275,8 +268,7 @@ ;; failed to figure out what this is: (defpart 2326 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -301,8 +293,7 @@ ;; failed to figure out what this is: (defpart 2327 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -329,14 +320,12 @@ :id 509 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 1890) (sp-item 1891) (sp-item 1892)) + :parts ((sp-item 1890) (sp-item 1891) (sp-item 1892)) ) ;; failed to figure out what this is: (defpart 1892 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 64.0) (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 0.24) (meters 0.24) 1.0) @@ -358,8 +347,7 @@ ;; failed to figure out what this is: (defpart 1891 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters 1)) @@ -387,8 +375,7 @@ ;; failed to figure out what this is: (defpart 1890 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters 1)) @@ -428,14 +415,7 @@ (cond ((and (= (-> arg0 type) target) (= (-> self cprims-type) 2) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'powerup)) - (set! (-> a1-1 param 1) (the-as uint 2)) - (not (send-event-function *target* a1-1)) - ) + (not (send-event *target* 'query 'powerup (pickup-type eco-red))) ) (when (and (cond ((= (-> arg0 type) target) @@ -504,17 +484,7 @@ (when (!= (-> arg0 type) target) (cond ((= (-> arg0 type) target) - (let ((a1-9 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-9 from) self) - (set! (-> a1-9 num-params) 2) - (set! (-> a1-9 message) 'attack) - (set! (-> a1-9 param 0) (-> arg3 param 0)) - (let ((v1-49 (new 'static 'attack-info :mask #x20))) - (set! (-> v1-49 mode) #f) - (set! (-> a1-9 param 1) (the-as uint v1-49)) - ) - (send-event-function arg0 a1-9) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode #f)))) ) (else (let ((a1-10 (new 'stack-no-clear 'event-message-block))) @@ -838,22 +808,19 @@ ;; failed to figure out what this is: (defstate ice-cube-trying-to-appear (ice-cube) - :enter - (behavior () + :enter (behavior () (ja-channel-set! 0) (ja-post) (logior! (-> self draw status) (draw-status hidden)) (clear-collide-with-as (-> self collide-info)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (restore-collide-with-as (-> self collide-info)) (none) ) - :trans - (behavior () + :trans (behavior () (when (and *target* (>= 163840.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)))) (let ((s5-0 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) @@ -868,8 +835,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 @@ -879,10 +845,8 @@ ;; failed to figure out what this is: (defstate ice-cube-appear (ice-cube) - :event - ice-cube-default-event-handler - :enter - (behavior () + :event ice-cube-default-event-handler + :enter (behavior () (dummy-57 self) (set! (-> self ground-y) (-> self collide-info trans y)) (spawn (-> self part) (-> self collide-info trans)) @@ -892,8 +856,7 @@ (set! (-> self collide-info transv y) (rand-vu-float-range 102400.0 114688.0)) (none) ) - :trans - (behavior () + :trans (behavior () (when (and (< (-> self collide-info trans y) (-> self ground-y)) (< (-> self collide-info transv y) 0.0)) (set! (-> self collide-info trans y) (-> self ground-y)) (set! (-> self collide-info transv quad) (-> *null-vector* quad)) @@ -908,8 +871,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! ice-cube-appear-jump-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -921,16 +883,13 @@ ) (none) ) - :post - (the-as (function none :behavior ice-cube) nav-enemy-falling-post) + :post (the-as (function none :behavior ice-cube) nav-enemy-falling-post) ) ;; failed to figure out what this is: (defstate ice-cube-appear-land (ice-cube) - :event - ice-cube-default-event-handler - :code - (behavior () + :event ice-cube-default-event-handler + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 29)) (spawn (-> self part4) gp-0) @@ -949,17 +908,14 @@ ) (none) ) - :post - (the-as (function none :behavior ice-cube) ja-post) + :post (the-as (function none :behavior ice-cube) ja-post) ) ;; failed to figure out what this is: (defstate nav-enemy-idle (ice-cube) :virtual #t - :event - ice-cube-default-event-handler - :enter - (behavior () + :event ice-cube-default-event-handler + :enter (behavior () (let ((t9-0 (-> (method-of-type nav-enemy nav-enemy-idle) enter))) (if t9-0 (t9-0) @@ -974,10 +930,8 @@ ;; failed to figure out what this is: (defstate nav-enemy-patrol (ice-cube) :virtual #t - :event - ice-cube-default-event-handler - :enter - (behavior () + :event ice-cube-default-event-handler + :enter (behavior () (let ((t9-0 (-> (method-of-type nav-enemy nav-enemy-patrol) enter))) (if t9-0 (t9-0) @@ -987,8 +941,7 @@ (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-patrol) code))) (if t9-1 @@ -1002,30 +955,23 @@ ;; failed to figure out what this is: (defstate nav-enemy-notice (ice-cube) :virtual #t - :enter - (the-as (function none :behavior ice-cube) #f) - :exit - (the-as (function none :behavior ice-cube) #f) - :trans - (the-as (function none :behavior ice-cube) #f) - :code - (behavior () + :enter (the-as (function none :behavior ice-cube) #f) + :exit (the-as (function none :behavior ice-cube) #f) + :trans (the-as (function none :behavior ice-cube) #f) + :code (behavior () (dummy-57 self) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf1)) (logclear! (-> self mask) (process-mask actor-pause)) (go ice-cube-face-player) (none) ) - :post - (the-as (function none :behavior ice-cube) #f) + :post (the-as (function none :behavior ice-cube) #f) ) ;; failed to figure out what this is: (defstate ice-cube-face-player (ice-cube) - :event - ice-cube-default-event-handler - :enter - (behavior () + :event ice-cube-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (dummy-57 self) @@ -1042,8 +988,7 @@ (set-vector! (-> self collide-info transv) 0.0 114688.0 0.0 1.0) (none) ) - :code - (behavior () + :code (behavior () (local-vars (gp-0 symbol)) (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! ice-cube-appear-jump-up-ja :num! (seek!) :frame-num 0.0) @@ -1111,23 +1056,19 @@ (go ice-cube-become-mean) (none) ) - :post - (the-as (function none :behavior ice-cube) nav-enemy-simple-post) + :post (the-as (function none :behavior ice-cube) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate ice-cube-become-mean (ice-cube) - :event - ice-cube-default-event-handler - :enter - (behavior () + :event ice-cube-default-event-handler + :enter (behavior () (set! (-> self draw force-lod) 0) (logclear! (-> self mask) (process-mask actor-pause)) (dummy-57 self) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((gp-0 #f)) (ja-no-eval :group! ice-cube-extend-spikes-ja :num! (seek!) :frame-num 0.0) @@ -1143,8 +1084,7 @@ (go ice-cube-mean-turn-to-charge) (none) ) - :post - (the-as (function none :behavior ice-cube) nav-enemy-simple-post) + :post (the-as (function none :behavior ice-cube) nav-enemy-simple-post) ) ;; definition for method 54 of type ice-cube @@ -1170,10 +1110,8 @@ ;; failed to figure out what this is: (defstate ice-cube-mean-turn-to-charge (ice-cube) - :event - ice-cube-default-event-handler - :enter - (behavior () + :event ice-cube-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (dummy-58 self) @@ -1189,8 +1127,7 @@ (set-vector! (-> self collide-info transv) 0.0 114688.0 0.0 1.0) (none) ) - :code - (behavior () + :code (behavior () (local-vars (gp-0 symbol)) (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! ice-cube-turn-on-player-ja :num! (seek!) :frame-num 0.0) @@ -1258,16 +1195,13 @@ (go ice-cube-mean-charge) (none) ) - :post - (the-as (function none :behavior ice-cube) nav-enemy-simple-post) + :post (the-as (function none :behavior ice-cube) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate ice-cube-mean-charge (ice-cube) - :event - ice-cube-default-event-handler - :enter - (behavior () + :event ice-cube-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (dummy-58 self) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) @@ -1294,14 +1228,12 @@ (set! (-> self charge-angle) (quaternion-y-angle (-> self collide-info quat))) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav flags) (nav-control-flags navcf8)) (set-root-prim-collide-with! (-> self collide-info) (collide-kind target)) (none) ) - :trans - (behavior () + :trans (behavior () (when (or (not *target*) (logtest? (-> *target* state-flags) (state-flags sf07))) (cond ((= (-> self speed) 0.0) @@ -1414,8 +1346,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja :group! ice-cube-invuln-run-ja :num! min) (until (-> self slow-down?) @@ -1432,16 +1363,13 @@ ) (none) ) - :post - (the-as (function none :behavior ice-cube) nav-enemy-simple-post) + :post (the-as (function none :behavior ice-cube) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate ice-cube-mean-charge-done (ice-cube) - :event - ice-cube-default-event-handler - :code - (behavior () + :event ice-cube-default-event-handler + :code (behavior () (dummy-58 self) (nav-enemy-neck-control-inactive) (go ice-cube-retract-spikes) @@ -1451,10 +1379,8 @@ ;; failed to figure out what this is: (defstate ice-cube-retract-spikes (ice-cube) - :event - ice-cube-default-event-handler - :code - (behavior () + :event ice-cube-default-event-handler + :code (behavior () (dummy-58 self) (nav-enemy-neck-control-inactive) (ja-channel-push! 1 (seconds 0.07)) @@ -1472,21 +1398,17 @@ (go ice-cube-tired) (none) ) - :post - (the-as (function none :behavior ice-cube) nav-enemy-simple-post) + :post (the-as (function none :behavior ice-cube) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate ice-cube-tired (ice-cube) - :event - ice-cube-default-event-handler - :enter - (behavior () + :event ice-cube-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 2)) (cond ((or (not *target*) (< (-> self enemy-info idle-distance) @@ -1505,8 +1427,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! ice-cube-head-wipe-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1523,14 +1444,12 @@ ) (none) ) - :post - (the-as (function none :behavior ice-cube) nav-enemy-simple-post) + :post (the-as (function none :behavior ice-cube) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate ice-cube-shatter (ice-cube) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 3)) @@ -1543,50 +1462,38 @@ (set! (-> gp-1 duration) (seconds 3)) (set! (-> gp-1 gravity) -327680.0) (set! (-> gp-1 fountain-rand-transv-lo quad) (-> (target-pos 0) quad)) - (let ((s5-1 (get-process *default-dead-pool* joint-exploder #x4000))) - (when s5-1 - (let ((t9-8 (method-of-type joint-exploder activate))) - (t9-8 (the-as joint-exploder s5-1) self 'joint-exploder (the-as pointer #x70004000)) + (process-spawn + joint-exploder + *ice-cube-break-sg* + 2 + gp-1 + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 28) + (new 'static 'joint-exploder-static-joint-params :joint-index 23) + (new 'static 'joint-exploder-static-joint-params :joint-index 8) + (new 'static 'joint-exploder-static-joint-params :joint-index 7) + (new 'static 'joint-exploder-static-joint-params :joint-index 26) + (new 'static 'joint-exploder-static-joint-params :joint-index 21) + (new 'static 'joint-exploder-static-joint-params :joint-index 24) + (new 'static 'joint-exploder-static-joint-params :joint-index 29) + (new 'static 'joint-exploder-static-joint-params :joint-index 11) + (new 'static 'joint-exploder-static-joint-params :joint-index 4) + (new 'static 'joint-exploder-static-joint-params :joint-index 6) + (new 'static 'joint-exploder-static-joint-params :joint-index 5) + (new 'static 'joint-exploder-static-joint-params :joint-index 12) + (new 'static 'joint-exploder-static-joint-params :joint-index 13) + (new 'static 'joint-exploder-static-joint-params :joint-index 14) + (new 'static 'joint-exploder-static-joint-params :joint-index 15) + (new 'static 'joint-exploder-static-joint-params :joint-index 16) + (new 'static 'joint-exploder-static-joint-params :joint-index 17) + (new 'static 'joint-exploder-static-joint-params :joint-index 18) + (new 'static 'joint-exploder-static-joint-params :joint-index 19) + (new 'static 'joint-exploder-static-joint-params :joint-index 3) + (new 'static 'joint-exploder-static-joint-params :joint-index 20) ) - (run-now-in-process - s5-1 - joint-exploder-init-by-other - *ice-cube-break-sg* - 2 - gp-1 - (new 'static 'joint-exploder-static-params - :joints - (new - 'static - 'boxed-array - :type joint-exploder-static-joint-params :length 22 :allocated-length 22 - (new 'static 'joint-exploder-static-joint-params :joint-index 28) - (new 'static 'joint-exploder-static-joint-params :joint-index 23) - (new 'static 'joint-exploder-static-joint-params :joint-index 8) - (new 'static 'joint-exploder-static-joint-params :joint-index 7) - (new 'static 'joint-exploder-static-joint-params :joint-index 26) - (new 'static 'joint-exploder-static-joint-params :joint-index 21) - (new 'static 'joint-exploder-static-joint-params :joint-index 24) - (new 'static 'joint-exploder-static-joint-params :joint-index 29) - (new 'static 'joint-exploder-static-joint-params :joint-index 11) - (new 'static 'joint-exploder-static-joint-params :joint-index 4) - (new 'static 'joint-exploder-static-joint-params :joint-index 6) - (new 'static 'joint-exploder-static-joint-params :joint-index 5) - (new 'static 'joint-exploder-static-joint-params :joint-index 12) - (new 'static 'joint-exploder-static-joint-params :joint-index 13) - (new 'static 'joint-exploder-static-joint-params :joint-index 14) - (new 'static 'joint-exploder-static-joint-params :joint-index 15) - (new 'static 'joint-exploder-static-joint-params :joint-index 16) - (new 'static 'joint-exploder-static-joint-params :joint-index 17) - (new 'static 'joint-exploder-static-joint-params :joint-index 18) - (new 'static 'joint-exploder-static-joint-params :joint-index 19) - (new 'static 'joint-exploder-static-joint-params :joint-index 3) - (new 'static 'joint-exploder-static-joint-params :joint-index 20) - ) - ) - ) - (-> s5-1 ppointer) ) + :to self ) ) (sound-play-by-name (static-sound-name "ice-explode") (new-sound-id) 1024 0 0 1 #t) diff --git a/test/decompiler/reference/levels/snow/snow-ball_REF.gc b/test/decompiler/reference/levels/snow/snow-ball_REF.gc index a1f8961e01..d4dcbc635d 100644 --- a/test/decompiler/reference/levels/snow/snow-ball_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-ball_REF.gc @@ -164,10 +164,8 @@ ;; definition for symbol *snow-ball-shadow-control*, type shadow-control (define *snow-ball-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #xa)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 245760.0) + :center (new 'static 'vector :w (the-as float #xa)) + :shadow-dir (new 'static 'vector :y -1.0 :w 245760.0) :bot-plane (new 'static 'plane :y 1.0 :w 26624.0) :top-plane (new 'static 'plane :y 1.0) :fade-dist 819200.0 @@ -177,23 +175,20 @@ ;; failed to figure out what this is: (defstate snow-ball-shadow-idle (snow-ball-shadow) - :trans - (behavior () + :trans (behavior () (set! (-> self root trans quad) (-> (the-as process-drawable (-> self parent 0)) root trans quad)) (update-direction-from-time-of-day (-> self draw shadow-ctrl)) 0 (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) (none) ) - :post - (the-as (function none :behavior snow-ball-shadow) ja-post) + :post (the-as (function none :behavior snow-ball-shadow) ja-post) ) ;; definition for function snow-ball-shadow-init-by-other @@ -401,75 +396,60 @@ ;; INFO: Return type mismatch object vs none. ;; Used lq/sq (defmethod dummy-22 snow-ball-roller ((obj snow-ball-roller) (arg0 process-drawable)) - (with-pp - (cond - ((< (+ 4096.0 (-> arg0 root trans y)) (-> obj root-override trans y)) - (let ((f0-2 81920.0)) - (+! (-> obj root-override transv y) f0-2) - (play-landing-sound obj f0-2) - ) + (cond + ((< (+ 4096.0 (-> arg0 root trans y)) (-> obj root-override trans y)) + (let ((f0-2 81920.0)) + (+! (-> obj root-override transv y) f0-2) + (play-landing-sound obj f0-2) ) - (else - (let ((f0-3 24576.0)) - (+! (-> obj root-override transv y) f0-3) - (play-landing-sound obj f0-3) - ) + ) + (else + (let ((f0-3 24576.0)) + (+! (-> obj root-override transv y) f0-3) + (play-landing-sound obj f0-3) ) ) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (let ((s3-0 (new 'stack-no-clear 'vector))) - (vector-! s4-0 (-> arg0 root trans) (-> obj root-override trans)) - (set! (-> s4-0 y) 0.0) - (vector-normalize! s4-0 1.0) - (TODO-RENAME-14 (-> obj path) s3-0 (-> obj path-u)) - (set! (-> s3-0 y) 0.0) - (vector-normalize! s3-0 1.0) - (let* ((f28-0 (atan (-> s4-0 x) (-> s4-0 z))) - (f30-0 (atan (-> s3-0 x) (-> s3-0 z))) - (f0-11 (deg- f28-0 f30-0)) - ) - (when (< (fabs f0-11) 10922.667) - (let ((f30-1 (+ f30-0 (if (>= f0-11 0.0) - 10922.667 - -10922.667 - ) - ) - ) - ) - (set-vector! s4-0 (sin f30-1) 0.0 (cos f30-1) 1.0) - ) - ) - ) - ) - (vector-normalize! s4-0 25600.0) - (vector+! s4-0 s4-0 (-> obj root-override trans)) - (vector-! s4-0 s4-0 (-> arg0 root trans)) - (set! (-> s4-0 y) 0.0) - (let ((f30-2 (vector-length s4-0))) - (vector-normalize! s4-0 1.0) - (let ((a1-17 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-17 from) pp) - (set! (-> a1-17 num-params) 2) - (set! (-> a1-17 message) 'attack) - (set! (-> a1-17 param 0) (the-as uint #f)) - (let ((v1-20 (new 'static 'attack-info :mask #xc2))) - (set! (-> v1-20 vector quad) (-> s4-0 quad)) - (set! (-> v1-20 shove-up) 12288.0) - (set! (-> v1-20 shove-back) f30-2) - (set! (-> a1-17 param 1) (the-as uint v1-20)) - ) - (send-event-function arg0 a1-17) - ) - ) - ) - (none) ) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (vector-! s4-0 (-> arg0 root trans) (-> obj root-override trans)) + (set! (-> s4-0 y) 0.0) + (vector-normalize! s4-0 1.0) + (TODO-RENAME-14 (-> obj path) s3-0 (-> obj path-u)) + (set! (-> s3-0 y) 0.0) + (vector-normalize! s3-0 1.0) + (let* ((f28-0 (atan (-> s4-0 x) (-> s4-0 z))) + (f30-0 (atan (-> s3-0 x) (-> s3-0 z))) + (f0-11 (deg- f28-0 f30-0)) + ) + (when (< (fabs f0-11) 10922.667) + (let ((f30-1 (+ f30-0 (if (>= f0-11 0.0) + 10922.667 + -10922.667 + ) + ) + ) + ) + (set-vector! s4-0 (sin f30-1) 0.0 (cos f30-1) 1.0) + ) + ) + ) + ) + (vector-normalize! s4-0 25600.0) + (vector+! s4-0 s4-0 (-> obj root-override trans)) + (vector-! s4-0 s4-0 (-> arg0 root trans)) + (set! (-> s4-0 y) 0.0) + (let ((f30-2 (vector-length s4-0))) + (vector-normalize! s4-0 1.0) + (send-event arg0 'attack #f (static-attack-info ((vector s4-0) (shove-up (meters 3)) (shove-back f30-2)))) + ) + ) + (none) ) ;; failed to figure out what this is: (defstate snow-ball-roller-idle (snow-ball-roller) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (or (= v1-0 'touch) (= v1-0 'attack)) (when (= (-> arg0 type) target) @@ -483,14 +463,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self last-bounce-time) (-> *display* base-frame-counter)) (snow-ball-roller-path-init) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self rolling-sound-enabled?) #f) (when (nonzero? (-> self rolling-sound-id)) (sound-stop (-> self rolling-sound-id)) @@ -499,21 +477,18 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (snow-ball-roller-path-update) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) (none) ) - :post - (the-as (function none :behavior snow-ball-roller) transform-post) + :post (the-as (function none :behavior snow-ball-roller) transform-post) ) ;; definition for function snow-ball-roller-init-by-other @@ -567,15 +542,7 @@ ) ) (set! (-> self delay-til-bounce) (rand-vu-int-range 900 2100)) - (let ((gp-1 (get-process *default-dead-pool* snow-ball-shadow #x4000))) - (when gp-1 - (let ((t9-11 (method-of-type snow-ball-shadow activate))) - (t9-11 (the-as snow-ball-shadow gp-1) self 'snow-ball-shadow (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 snow-ball-shadow-init-by-other) - (-> gp-1 ppointer) - ) - ) + (process-spawn snow-ball-shadow :to self) (go snow-ball-roller-idle) (none) ) @@ -631,8 +598,7 @@ ;; failed to figure out what this is: (defstate snow-ball-idle (snow-ball) - :code - (behavior () + :code (behavior () (local-vars (gp-0 int)) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self delay-til-next) 0) @@ -658,15 +624,7 @@ (let ((s3-0 (/ (+ 98304.0 (rand-vu-float-range 0.0 32768.0)) (path-distance (-> self path gp-0))))) (dummy-14 self s5-0 s3-0 gp-0) (when (dummy-15 self s5-0 gp-0) - (let ((s4-1 (get-process *default-dead-pool* snow-ball-roller #x4000))) - (when s4-1 - (let ((t9-6 (method-of-type snow-ball-roller activate))) - (t9-6 (the-as snow-ball-roller s4-1) self 'snow-ball-roller (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 snow-ball-roller-init-by-other (-> self entity) self s3-0 gp-0 s5-0) - (-> s4-1 ppointer) - ) - ) + (process-spawn snow-ball-roller (-> self entity) self s3-0 gp-0 s5-0 :to self) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self delay-til-next) (rand-vu-int-range 450 1650)) (cond diff --git a/test/decompiler/reference/levels/snow/snow-bumper_REF.gc b/test/decompiler/reference/levels/snow/snow-bumper_REF.gc index 5939486dcc..9e7ee2e4b2 100644 --- a/test/decompiler/reference/levels/snow/snow-bumper_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-bumper_REF.gc @@ -52,14 +52,12 @@ :id 519 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1893 :fade-after (meters 90) :falloff-to (meters 90) :period 25 :length 10)) + :parts ((sp-item 1893 :fade-after (meters 90) :falloff-to (meters 90) :period 25 :length 10)) ) ;; failed to figure out what this is: (defpart 1893 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 15.0) (sp-flt spt-y (meters 1.5)) (sp-flt spt-z (meters 0)) @@ -87,14 +85,12 @@ :id 520 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1895)) + :parts ((sp-item 1895)) ) ;; failed to figure out what this is: (defpart 1895 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 16.0) (sp-flt spt-x (meters 5.5)) (sp-flt spt-y (meters 1.5)) @@ -119,71 +115,55 @@ ;; INFO: Return type mismatch time-frame vs none. ;; Used lq/sq (defmethod shove-player snow-bumper ((obj snow-bumper) (arg0 process-drawable)) - (with-pp - (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector-! s5-0 (-> arg0 root trans) (-> obj root trans)) - (set! (-> s5-0 y) 0.0) - (vector-normalize! s5-0 1.0) - (let* ((f0-3 (atan (-> s5-0 x) (-> s5-0 z))) - (f30-0 (-> obj base-shove-ry)) - (f28-0 (-> obj max-shove-diff-ry)) - (f0-4 (deg- f0-3 f30-0)) - ) - (when (< f28-0 (fabs f0-4)) - (let ((f30-1 (if (>= f0-4 0.0) - (+ f30-0 f28-0) - (- f30-0 f28-0) - ) - ) - ) - (set-vector! s5-0 (sin f30-1) 0.0 (cos f30-1) 1.0) - ) - ) - ) - (let ((f0-12 (+ -16384.0 (atan (-> s5-0 x) (-> s5-0 z))))) - (set! (-> *part-id-table* 1895 init-specs 17 initial-valuef) (+ -4096.0 f0-12)) - ) - (spawn (-> obj part2) (-> obj root trans)) - (let ((s3-1 (new 'stack-no-clear 'vector))) - (vector-normalize-copy! s3-1 s5-0 32768.0) - (vector+! s3-1 s3-1 (-> obj root trans)) - (vector-! s5-0 s3-1 (-> arg0 root trans)) - ) - (let ((f30-3 (vector-xz-length s5-0))) - (vector-normalize! s5-0 1.0) - (let ((a1-12 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-12 from) pp) - (set! (-> a1-12 num-params) 2) - (set! (-> a1-12 message) 'shove) - (set! (-> a1-12 param 0) (the-as uint #f)) - (let ((v1-16 (new 'static 'attack-info :mask #xc2))) - (set! (-> v1-16 vector quad) (-> s5-0 quad)) - (set! (-> v1-16 shove-up) 4096.0) - (set! (-> v1-16 shove-back) f30-3) - (set! (-> a1-12 param 1) (the-as uint v1-16)) - ) - (if (send-event-function *target* a1-12) - (set! (-> obj last-shoved-player-time) (-> *display* base-frame-counter)) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (vector-! s5-0 (-> arg0 root trans) (-> obj root trans)) + (set! (-> s5-0 y) 0.0) + (vector-normalize! s5-0 1.0) + (let* ((f0-3 (atan (-> s5-0 x) (-> s5-0 z))) + (f30-0 (-> obj base-shove-ry)) + (f28-0 (-> obj max-shove-diff-ry)) + (f0-4 (deg- f0-3 f30-0)) + ) + (when (< f28-0 (fabs f0-4)) + (let ((f30-1 (if (>= f0-4 0.0) + (+ f30-0 f28-0) + (- f30-0 f28-0) + ) + ) ) + (set-vector! s5-0 (sin f30-1) 0.0 (cos f30-1) 1.0) ) ) ) - (none) + (let ((f0-12 (+ -16384.0 (atan (-> s5-0 x) (-> s5-0 z))))) + (set! (-> *part-id-table* 1895 init-specs 17 initial-valuef) (+ -4096.0 f0-12)) + ) + (spawn (-> obj part2) (-> obj root trans)) + (let ((s3-1 (new 'stack-no-clear 'vector))) + (vector-normalize-copy! s3-1 s5-0 32768.0) + (vector+! s3-1 s3-1 (-> obj root trans)) + (vector-! s5-0 s3-1 (-> arg0 root trans)) + ) + (let ((f30-3 (vector-xz-length s5-0))) + (vector-normalize! s5-0 1.0) + (if (send-event *target* 'shove #f (static-attack-info ((vector s5-0) (shove-up (meters 1)) (shove-back f30-3)))) + (set! (-> obj last-shoved-player-time) (-> *display* base-frame-counter)) + ) + ) ) + (none) ) ;; failed to figure out what this is: (defstate snow-bumper-active-far-idle (snow-bumper) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 135895450000.0 (vector-vector-xz-distance-squared (-> self root trans) (target-pos 0)))) (go snow-bumper-active-close-idle) ) 0 (none) ) - :code - (behavior () + :code (behavior () (transform-post) (suspend) (loop @@ -196,8 +176,7 @@ ;; failed to figure out what this is: (defstate snow-bumper-active-close-idle (snow-bumper) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack 'bonk) (when (= (-> arg0 type) target) @@ -217,8 +196,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (cond (*target* (let* ((gp-0 (target-pos 0)) @@ -245,8 +223,7 @@ (update! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (transform-post) (suspend) (loop @@ -259,16 +236,13 @@ ;; failed to figure out what this is: (defstate snow-bumper-deactivate (snow-bumper) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (the-as (function none :behavior snow-bumper) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior snow-bumper) rider-trans) + :code (behavior () (local-vars (sv-16 symbol)) (logclear! (-> self mask) (process-mask actor-pause)) (sound-play-by-name (static-sound-name "bumper-pwr-dwn") (new-sound-id) 1024 0 0 1 #t) @@ -299,14 +273,12 @@ (go snow-bumper-inactive-idle) (none) ) - :post - (the-as (function none :behavior snow-bumper) rider-post) + :post (the-as (function none :behavior snow-bumper) rider-post) ) ;; failed to figure out what this is: (defstate snow-bumper-spawn-fuel-cell (snow-bumper) - :code - (behavior () + :code (behavior () (ja-channel-set! 1) (ja :group! snow-bumper-collapse-ja :num! max) (transform-post) @@ -330,8 +302,7 @@ ;; failed to figure out what this is: (defstate snow-bumper-inactive-idle (snow-bumper) - :code - (behavior () + :code (behavior () (set! (-> self root nav-radius) 6963.2) (ja-channel-set! 1) (ja :group! snow-bumper-collapse-ja :num! max) diff --git a/test/decompiler/reference/levels/snow/snow-bunny_REF.gc b/test/decompiler/reference/levels/snow/snow-bunny_REF.gc index 3e41c5f413..61e88f31ba 100644 --- a/test/decompiler/reference/levels/snow/snow-bunny_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-bunny_REF.gc @@ -137,18 +137,11 @@ (go-virtual nav-enemy-die) ) (('touch) - (let ((a1-5 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-5 from) self) - (set! (-> a1-5 num-params) 2) - (set! (-> a1-5 message) 'attack) - (set! (-> a1-5 param 0) (-> arg3 param 0)) - (set! (-> a1-5 param 1) (the-as uint (new 'static 'attack-info))) - (when (send-event-function arg0 a1-5) - (set! (-> self touch-time) (-> *display* base-frame-counter)) - (set-collide-offense (-> self collide-info) 2 (collide-offense no-offense)) - (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) - (go-virtual snow-bunny-attack) - ) + (when (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) + (set! (-> self touch-time) (-> *display* base-frame-counter)) + (set-collide-offense (-> self collide-info) 2 (collide-offense no-offense)) + (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) + (go-virtual snow-bunny-attack) ) ) (('jump) @@ -365,20 +358,17 @@ ;; failed to figure out what this is: (defstate snow-bunny-tune-spheres (snow-bunny) :virtual override - :code - (behavior () + :code (behavior () 0 (none) ) - :post - (the-as (function none :behavior snow-bunny) transform-post) + :post (the-as (function none :behavior snow-bunny) transform-post) ) ;; failed to figure out what this is: (defstate nav-enemy-idle (snow-bunny) :virtual #t - :enter - (behavior () + :enter (behavior () (dummy-76 self #f) (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-idle) enter))) (if t9-1 @@ -387,13 +377,10 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja :group! - (-> self draw art-group data (-> self nav-info idle-anim)) - :num! - (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) + (ja :group! (-> self draw art-group data (-> self nav-info idle-anim)) + :num! (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) ) (let ((f30-0 (nav-enemy-rnd-float-range 0.75 1.25))) (loop @@ -408,12 +395,9 @@ ;; failed to figure out what this is: (defstate nav-enemy-patrol (snow-bunny) :virtual #t - :enter - (the-as (function none :behavior snow-bunny) #f) - :trans - (the-as (function none :behavior snow-bunny) #f) - :code - (behavior () + :enter (the-as (function none :behavior snow-bunny) #f) + :trans (the-as (function none :behavior snow-bunny) #f) + :code (behavior () (go-virtual snow-bunny-nav-resume) (none) ) @@ -422,8 +406,7 @@ ;; failed to figure out what this is: (defstate snow-bunny-nav-resume (snow-bunny) :virtual override - :code - (behavior () + :code (behavior () (cond (*target* (let ((f0-0 (vector-vector-distance (target-pos 0) (-> self collide-info trans)))) @@ -454,10 +437,8 @@ ;; failed to figure out what this is: (defstate snow-bunny-patrol-idle (snow-bunny) :virtual override - :event - snow-bunny-default-event-handler - :enter - (behavior () + :event snow-bunny-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (dummy-76 self #f) (set! (-> self nav flags) (logior (nav-control-flags navcf19) (-> self nav flags))) @@ -466,8 +447,7 @@ (set! (-> self state-timeout) (seconds 0.1)) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-57 self) (go-virtual snow-bunny-defend) ) @@ -487,8 +467,7 @@ (dummy-58 self) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (nav-enemy-rnd-int-count 3))) (when (and (not (-> self patrol-hop-failed?)) (zero? gp-0)) (if (dummy-53 self) @@ -498,10 +477,8 @@ (set! (-> self patrol-hop-failed?) #f) (let ((gp-2 (min gp-0 (nav-enemy-rnd-int-count 3)))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! - (-> self draw art-group data (-> self nav-info idle-anim)) - :num! - (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) + (ja :group! (-> self draw art-group data (-> self nav-info idle-anim)) + :num! (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) ) (loop (let ((s5-1 (-> *display* base-frame-counter))) @@ -525,8 +502,7 @@ ) (none) ) - :post - (the-as (function none :behavior snow-bunny) nav-enemy-simple-post) + :post (the-as (function none :behavior snow-bunny) nav-enemy-simple-post) ) ;; definition for method 51 of type snow-bunny @@ -661,10 +637,8 @@ ;; failed to figure out what this is: (defstate snow-bunny-patrol-hop (snow-bunny) :virtual override - :event - snow-bunny-default-event-handler - :enter - (behavior () + :event snow-bunny-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (when (not (dummy-54 self)) (set! (-> self patrol-hop-failed?) #t) @@ -680,19 +654,16 @@ (set! (-> self turn-time) (seconds 0.1)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) (logclear! (-> self collide-info nav-flags) (nav-flags navf1)) (none) ) - :trans - (behavior () + :trans (behavior () (dummy-58 self) (none) ) - :code - (behavior () + :code (behavior () (snow-bunny-execute-jump) (if (-> self using-jump-event?) (set-current-poly! (-> self nav) (dummy-16 (-> self nav) (-> self collide-info trans))) @@ -705,17 +676,14 @@ ) (none) ) - :post - (the-as (function none :behavior snow-bunny) nav-enemy-jump-post) + :post (the-as (function none :behavior snow-bunny) nav-enemy-jump-post) ) ;; failed to figure out what this is: (defstate nav-enemy-notice (snow-bunny) :virtual #t - :event - snow-bunny-default-event-handler - :enter - (behavior () + :event snow-bunny-default-event-handler + :enter (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (nav-enemy-neck-control-look-at) (if (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf1)) @@ -726,19 +694,15 @@ (set-vector! (-> self collide-info transv) 0.0 (nav-enemy-rnd-float-range 102400.0 131072.0) 0.0 1.0) (none) ) - :exit - (the-as (function none :behavior snow-bunny) #f) - :trans - (behavior () + :exit (the-as (function none :behavior snow-bunny) #f) + :trans (behavior () (dummy-58 self) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info notice-anim)) :num! (seek! (ja-aframe 8.0 0) f30-0) :frame-num 0.0 ) @@ -767,8 +731,7 @@ (suspend) ) (ja-channel-push! 1 (seconds 0.075)) - (ja-no-eval :group! - (-> self draw art-group data (-> self notice-land-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self notice-land-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -780,26 +743,20 @@ (go-virtual nav-enemy-chase) (none) ) - :post - (the-as (function none :behavior snow-bunny) nav-enemy-simple-post) + :post (the-as (function none :behavior snow-bunny) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate nav-enemy-chase (snow-bunny) :virtual #t - :event - (the-as (function process int symbol event-message-block object :behavior snow-bunny) #f) - :exit - (the-as (function none :behavior snow-bunny) #f) - :trans - (the-as (function none :behavior snow-bunny) #f) - :code - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior snow-bunny) #f) + :exit (the-as (function none :behavior snow-bunny) #f) + :trans (the-as (function none :behavior snow-bunny) #f) + :code (behavior () (go-virtual snow-bunny-chase-hop) (none) ) - :post - (the-as (function none :behavior snow-bunny) #f) + :post (the-as (function none :behavior snow-bunny) #f) ) ;; definition for method 52 of type snow-bunny @@ -875,10 +832,8 @@ ;; failed to figure out what this is: (defstate snow-bunny-chase-hop (snow-bunny) :virtual override - :event - snow-bunny-default-event-handler - :enter - (behavior () + :event snow-bunny-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self should-retreat?) #f) (if (or (not *target*) (logtest? (-> *target* state-flags) (state-flags sf07))) @@ -901,22 +856,19 @@ (set! (-> self turn-time) (seconds 0.1)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) (logclear! (-> self collide-info nav-flags) (nav-flags navf1)) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-57 self) (set! (-> self should-retreat?) #t) ) (dummy-58 self) (none) ) - :code - (behavior () + :code (behavior () (snow-bunny-execute-jump) (if (-> self using-jump-event?) (set-current-poly! (-> self nav) (dummy-16 (-> self nav) (-> self collide-info trans))) @@ -927,15 +879,13 @@ (go-virtual snow-bunny-chase-hop) (none) ) - :post - (the-as (function none :behavior snow-bunny) nav-enemy-jump-post) + :post (the-as (function none :behavior snow-bunny) nav-enemy-jump-post) ) ;; failed to figure out what this is: (defstate snow-bunny-defend (snow-bunny) :virtual override - :code - (behavior () + :code (behavior () (if (= (-> self defense) 1) (go-virtual snow-bunny-retreat-hop) (go-virtual snow-bunny-lunge) @@ -1163,10 +1113,8 @@ ;; failed to figure out what this is: (defstate snow-bunny-retreat-hop (snow-bunny) :virtual override - :event - snow-bunny-default-event-handler - :enter - (behavior () + :event snow-bunny-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (if (not *target*) (go-virtual nav-enemy-patrol) @@ -1199,19 +1147,16 @@ (set! (-> self turn-time) (seconds 0.1)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) (logclear! (-> self collide-info nav-flags) (nav-flags navf1)) (none) ) - :trans - (behavior () + :trans (behavior () (dummy-58 self) (none) ) - :code - (behavior () + :code (behavior () (snow-bunny-execute-jump) (if (-> self using-jump-event?) (set-current-poly! (-> self nav) (dummy-16 (-> self nav) (-> self collide-info trans))) @@ -1219,23 +1164,19 @@ (go-virtual snow-bunny-retreat-hop) (none) ) - :post - (the-as (function none :behavior snow-bunny) nav-enemy-jump-post) + :post (the-as (function none :behavior snow-bunny) nav-enemy-jump-post) ) ;; failed to figure out what this is: (defstate snow-bunny-lunge (snow-bunny) :virtual override - :event - snow-bunny-default-event-handler - :enter - (behavior () + :event snow-bunny-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (dummy-76 self #f) (none) ) - :trans - (behavior () + :trans (behavior () (if (not *target*) (go-virtual nav-enemy-patrol) ) @@ -1255,8 +1196,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (loop (ja-no-eval :group! (-> self draw art-group data (-> self nav-info idle-anim)) :num! (seek!) :frame-num 0.0) @@ -1267,24 +1207,20 @@ ) (none) ) - :post - (the-as (function none :behavior snow-bunny) nav-enemy-simple-post) + :post (the-as (function none :behavior snow-bunny) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate snow-bunny-attack (snow-bunny) :virtual override - :event - snow-bunny-default-event-handler - :enter - (behavior () + :event snow-bunny-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set-vector! (-> self collide-info transv) 0.0 0.0 0.0 1.0) (dummy-76 self #t) (none) ) - :trans - (behavior () + :trans (behavior () (when *target* (let ((gp-0 (new 'stack-no-clear 'vector))) (vector-! gp-0 (target-pos 0) (-> self collide-info trans)) @@ -1303,8 +1239,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! (-> self draw art-group data (-> self attack-anim)) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1317,6 +1252,5 @@ (go-virtual snow-bunny-retreat-hop) (none) ) - :post - (the-as (function none :behavior snow-bunny) nav-enemy-simple-post) + :post (the-as (function none :behavior snow-bunny) nav-enemy-simple-post) ) diff --git a/test/decompiler/reference/levels/snow/snow-flutflut-obs_REF.gc b/test/decompiler/reference/levels/snow/snow-flutflut-obs_REF.gc index 9cad7cd5f1..e87d50045a 100644 --- a/test/decompiler/reference/levels/snow/snow-flutflut-obs_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-flutflut-obs_REF.gc @@ -118,16 +118,14 @@ :id 516 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2087 :fade-after (meters 50) :falloff-to (meters 50)) + :parts ((sp-item 2087 :fade-after (meters 50) :falloff-to (meters 50)) (sp-item 2088 :fade-after (meters 120) :falloff-to (meters 120)) ) ) ;; failed to figure out what this is: (defpart 2087 - :init-specs - ((sp-flt spt-num 1.5) + :init-specs ((sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters -1)) (sp-rnd-flt spt-z (meters -2) (meters 4) 1.0) @@ -145,8 +143,7 @@ ;; failed to figure out what this is: (defpart 2088 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-x (meters -3) (meters 6) 1.0) (sp-flt spt-y (meters -1.25)) @@ -172,16 +169,14 @@ :id 517 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2089 :fade-after (meters 50) :falloff-to (meters 50)) + :parts ((sp-item 2089 :fade-after (meters 50) :falloff-to (meters 50)) (sp-item 2090 :fade-after (meters 120) :falloff-to (meters 120)) ) ) ;; failed to figure out what this is: (defpart 2089 - :init-specs - ((sp-flt spt-num 3.0) + :init-specs ((sp-flt spt-num 3.0) (sp-flt spt-y (meters -2.5)) (sp-int spt-rot-x 5) (sp-flt spt-r 5324.8) @@ -199,8 +194,7 @@ ;; failed to figure out what this is: (defpart 2090 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-flt spt-y (meters -2.25)) (sp-rnd-flt spt-scale-x (meters 3) (meters 2) 1.0) @@ -226,16 +220,14 @@ :id 518 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2091 :fade-after (meters 50) :falloff-to (meters 50)) + :parts ((sp-item 2091 :fade-after (meters 50) :falloff-to (meters 50)) (sp-item 2092 :fade-after (meters 120) :falloff-to (meters 120)) ) ) ;; failed to figure out what this is: (defpart 2091 - :init-specs - ((sp-flt spt-num 4.0) + :init-specs ((sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters -1.5)) (sp-rnd-flt spt-z (meters -6) (meters 12) 1.0) @@ -253,8 +245,7 @@ ;; failed to figure out what this is: (defpart 2092 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-flt spt-y (meters -1.25)) @@ -277,8 +268,7 @@ ;; failed to figure out what this is: (defstate snow-button-up-idle (snow-button) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-2 object)) (case arg2 (('touch 'attack 'bonk) @@ -298,8 +288,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) (logior! (-> self mask) (process-mask sleep-code)) @@ -311,8 +300,7 @@ ;; failed to figure out what this is: (defstate snow-button-activate (snow-button) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) (case arg2 (('untrigger) @@ -324,8 +312,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self wiggled?) #f) (sleep (-> self ticker) (-> self timeout)) @@ -344,8 +331,7 @@ (send-to-all-after (-> self link) 'trigger) (none) ) - :trans - (behavior () + :trans (behavior () (if (completed? (-> self ticker)) (go snow-button-deactivate) ) @@ -358,8 +344,7 @@ (rider-trans) (none) ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "prec-button1") (new-sound-id) 1024 -1524 0 1 #t) (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -371,14 +356,12 @@ 0 (none) ) - :post - (the-as (function none :behavior snow-button) rider-post) + :post (the-as (function none :behavior snow-button) rider-post) ) ;; failed to figure out what this is: (defstate snow-button-deactivate (snow-button) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 symbol)) (case arg2 (('query) @@ -387,16 +370,13 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :trans - (the-as (function none :behavior snow-button) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior snow-button) rider-trans) + :code (behavior () (send-to-all-after (-> self link) 'untrigger) (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.6)) @@ -410,8 +390,7 @@ (go snow-button-up-idle) (none) ) - :post - (the-as (function none :behavior snow-button) rider-post) + :post (the-as (function none :behavior snow-button) rider-post) ) ;; definition for method 11 of type snow-button @@ -552,8 +531,7 @@ ;; failed to figure out what this is: (defstate plat-startup (flutflut-plat) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (when (or (!= (-> self plat-type) 1) @@ -565,8 +543,7 @@ ) ) ) - :code - (behavior ((arg0 plat)) + :code (behavior ((arg0 plat)) (cond ((and (= (-> self plat-type) 1) (-> self entity) @@ -602,8 +579,7 @@ ;; failed to figure out what this is: (defstate flutflut-plat-hidden-idle (flutflut-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (logclear! (-> self mask) (process-mask actor-pause)) @@ -611,15 +587,13 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (and (= (-> self plat-type) 1) (get-lit-skel self)) (go flutflut-plat-appear) ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (clear-collide-with-as (-> self root-override)) (set! (-> self root-override trans quad) (-> self appear-trans-top quad)) @@ -633,8 +607,7 @@ ;; failed to figure out what this is: (defstate flutflut-plat-appear (flutflut-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (or (= v1-0 'bonk) (= v1-0 'bounce)) (dummy-22 self) @@ -642,8 +615,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self mask) (process-mask actor-pause)) (logclear! (-> self draw status) (draw-status hidden)) @@ -661,13 +633,11 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (behavior () + :trans (behavior () (plat-trans) (let* ((f0-1 (fmin @@ -707,17 +677,14 @@ (dummy-20 self) (none) ) - :code - (the-as (function none :behavior flutflut-plat) anim-loop) - :post - (the-as (function none :behavior flutflut-plat) rider-post) + :code (the-as (function none :behavior flutflut-plat) anim-loop) + :post (the-as (function none :behavior flutflut-plat) rider-post) ) ;; failed to figure out what this is: (defstate plat-idle (flutflut-plat) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((or (= v1-0 'bonk) (= v1-0 'bounce)) @@ -730,8 +697,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (let ((t9-0 (-> (method-of-type plat plat-idle) enter))) (if t9-0 (t9-0) @@ -740,8 +706,7 @@ (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (let ((t9-0 (-> (method-of-type plat plat-idle) exit))) (if t9-0 @@ -750,8 +715,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((t9-0 (-> (method-of-type plat plat-idle) trans))) (if t9-0 (t9-0) @@ -767,8 +731,7 @@ ;; failed to figure out what this is: (defstate plat-path-active (flutflut-plat) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((or (= v1-0 'bonk) (= v1-0 'bounce)) @@ -781,8 +744,7 @@ ) ) ) - :enter - (behavior ((arg0 plat)) + :enter (behavior ((arg0 plat)) (let ((t9-0 (-> (method-of-type plat plat-path-active) enter))) (if t9-0 (t9-0 arg0) @@ -795,8 +757,7 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (let ((t9-0 (-> (method-of-type plat plat-path-active) exit))) (if t9-0 @@ -809,8 +770,7 @@ ;; failed to figure out what this is: (defstate flutflut-plat-hide (flutflut-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'bonk) (dummy-22 self) @@ -818,8 +778,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self mask) (process-mask actor-pause)) (logclear! (-> self root-override root-prim prim-core action) (collide-action ca-1)) @@ -836,14 +795,12 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (logior! (-> self root-override root-prim prim-core action) (collide-action ca-1)) (none) ) - :trans - (behavior () + :trans (behavior () (plat-trans) (let* ((f0-1 (fmin @@ -866,16 +823,13 @@ (dummy-20 self) (none) ) - :code - (the-as (function none :behavior flutflut-plat) anim-loop) - :post - (the-as (function none :behavior flutflut-plat) rider-post) + :code (the-as (function none :behavior flutflut-plat) anim-loop) + :post (the-as (function none :behavior flutflut-plat) rider-post) ) ;; failed to figure out what this is: (defstate elevator-idle-at-cave (flutflut-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -897,28 +851,23 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self path-pos) 0.0) (eval-path-curve! (-> self path) (-> self basetrans) 0.0 'interp) (none) ) - :trans - (behavior () + :trans (behavior () (plat-trans) (dummy-20 self) (none) ) - :code - (the-as (function none :behavior flutflut-plat) anim-loop) - :post - (the-as (function none :behavior flutflut-plat) plat-post) + :code (the-as (function none :behavior flutflut-plat) anim-loop) + :post (the-as (function none :behavior flutflut-plat) plat-post) ) ;; failed to figure out what this is: (defstate elevator-travel-to-fort (flutflut-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (or (= v1-0 'bonk) (= v1-0 'bounce)) (dummy-22 self) @@ -926,8 +875,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (= (-> self path-pos) 1.0) (dummy-22 self) (go elevator-idle-at-fort) @@ -938,16 +886,13 @@ (dummy-20 self) (none) ) - :code - (the-as (function none :behavior flutflut-plat) anim-loop) - :post - (the-as (function none :behavior flutflut-plat) plat-post) + :code (the-as (function none :behavior flutflut-plat) anim-loop) + :post (the-as (function none :behavior flutflut-plat) plat-post) ) ;; failed to figure out what this is: (defstate elevator-idle-at-fort (flutflut-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (or (= v1-0 'bonk) (= v1-0 'bounce)) (dummy-22 self) @@ -955,14 +900,12 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self path-pos) 1.0) (eval-path-curve! (-> self path) (-> self basetrans) 1.0 'interp) (none) ) - :trans - (behavior () + :trans (behavior () (when *target* (if (and (>= 798720.0 (-> (target-pos 0) y)) (not (and (logtest? (-> *target* control unknown-surface00 flags) (surface-flags surf11)) @@ -977,16 +920,13 @@ (dummy-20 self) (none) ) - :code - (the-as (function none :behavior flutflut-plat) anim-loop) - :post - (the-as (function none :behavior flutflut-plat) plat-post) + :code (the-as (function none :behavior flutflut-plat) anim-loop) + :post (the-as (function none :behavior flutflut-plat) plat-post) ) ;; failed to figure out what this is: (defstate elevator-travel-to-cave (flutflut-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (or (= v1-0 'bonk) (= v1-0 'bounce)) (dummy-22 self) @@ -994,8 +934,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (= (-> self path-pos) 0.0) (dummy-22 self) (go elevator-idle-at-cave) @@ -1006,10 +945,8 @@ (dummy-20 self) (none) ) - :code - (the-as (function none :behavior flutflut-plat) anim-loop) - :post - (the-as (function none :behavior flutflut-plat) plat-post) + :code (the-as (function none :behavior flutflut-plat) anim-loop) + :post (the-as (function none :behavior flutflut-plat) plat-post) ) ;; definition of type flutflut-plat-small diff --git a/test/decompiler/reference/levels/snow/snow-obs_REF.gc b/test/decompiler/reference/levels/snow/snow-obs_REF.gc index 5b18732845..cdfd07e9cd 100644 --- a/test/decompiler/reference/levels/snow/snow-obs_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-obs_REF.gc @@ -44,8 +44,7 @@ ;; failed to figure out what this is: (defstate pov-camera-playing (snowcam) :virtual #t - :code - (behavior () + :code (behavior () (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) @@ -71,19 +70,18 @@ ) ) ((= v1-0 1) - (let* ((gp-1 (get-process *default-dead-pool* fuel-cell #x4000)) - (gp-2 - (ppointer->handle - (when gp-1 - (let ((t9-10 (method-of-type fuel-cell activate))) - (t9-10 (the-as fuel-cell gp-1) (ppointer->process (-> self parent)) 'fuel-cell (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 fuel-cell-init-as-clone (process->handle self) (-> self entity extra perm task)) - (-> gp-1 ppointer) - ) - ) - ) - ) + (let ((gp-2 + (ppointer->handle + (process-spawn + fuel-cell + :init fuel-cell-init-as-clone + (process->handle self) + (-> self entity extra perm task) + :to (ppointer->process (-> self parent)) + ) + ) + ) + ) (push-setting! *setting-control* self 'music-volume 'abs 0.0 0) (push-setting! *setting-control* self 'sfx-volume 'rel 50.0 0) (ja-play-spooled-anim @@ -162,8 +160,7 @@ (defpartgroup group-snow-yellow-eco-room-open :id 510 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 1990 :fade-after (meters 110)) + :parts ((sp-item 1990 :fade-after (meters 110)) (sp-item 1991 :fade-after (meters 110)) (sp-item 1992 :fade-after (meters 110)) (sp-item 1993 :fade-after (meters 110)) @@ -176,14 +173,12 @@ :id 511 :duration 900 :bounds (static-bspherem 0 -6 0 8) - :parts - ((sp-item 1994) (sp-item 1994) (sp-item 1995 :flags (bit1) :period 1200 :length 15)) + :parts ((sp-item 1994) (sp-item 1994) (sp-item 1995 :flags (bit1) :period 1200 :length 15)) ) ;; failed to figure out what this is: (defpart 1995 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 30.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 20) (meters 10) 1.0) @@ -205,20 +200,17 @@ ;; failed to figure out what this is: (defpart 1996 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 225) (sp-launcher-by-id spt-next-launcher 1997)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 225) (sp-launcher-by-id spt-next-launcher 1997)) ) ;; failed to figure out what this is: (defpart 1997 - :init-specs - ((sp-flt spt-fade-a -0.14222223)) + :init-specs ((sp-flt spt-fade-a -0.14222223)) ) ;; failed to figure out what this is: (defpart 1990 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 10) (meters 2) 1.0) @@ -234,8 +226,7 @@ ;; failed to figure out what this is: (defpart 1991 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 3) (meters 2) 1.0) @@ -251,8 +242,7 @@ ;; failed to figure out what this is: (defpart 1992 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.5 1.0 1.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) @@ -273,8 +263,7 @@ ;; failed to figure out what this is: (defpart 1998 - :init-specs - ((sp-flt spt-r 64.0) + :init-specs ((sp-flt spt-r 64.0) (sp-flt spt-g 64.0) (sp-flt spt-fade-r -1.0) (sp-flt spt-fade-g -1.0) @@ -284,8 +273,7 @@ ;; failed to figure out what this is: (defpart 1993 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.5 1.0 1.0) (sp-flt spt-y (meters -4)) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) @@ -306,8 +294,7 @@ ;; failed to figure out what this is: (defpart 1994 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-y (meters -6.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 2) 1.0) @@ -331,8 +318,7 @@ ;; failed to figure out what this is: (defstate snow-eggtop-idle-up (snow-eggtop) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'notify) (case (-> arg3 param 0) @@ -346,8 +332,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (and (not (-> self child)) (task-complete? *game-info* (-> self entity extra perm task))) (go snow-eggtop-activate) ) @@ -355,8 +340,7 @@ (update! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 0) (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) @@ -370,8 +354,7 @@ ;; failed to figure out what this is: (defstate snow-eggtop-activate (snow-eggtop) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('notify) (when (= (-> arg0 type) snowcam) @@ -392,62 +375,45 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #t) (set! (-> self play-sound?) #t) (none) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :trans - (the-as (function none :behavior snow-eggtop) rider-trans) - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 511) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + :trans (the-as (function none :behavior snow-eggtop) rider-trans) + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 511) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) - (let* ((gp-1 (get-process *default-dead-pool* snowcam #x4000)) - (v1-7 - (when gp-1 - (let ((t9-4 (method-of-type snowcam activate))) - (t9-4 (the-as snowcam gp-1) self 'snowcam (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - pov-camera-init-by-other - (-> self spawn-trans) - *snowcam-sg* - "gearstart" - 0 - self - '((0 ambient camera "gamcam38") (10 alive "ecovent-278")) - ) - (-> gp-1 ppointer) - ) - ) - ) + (let ((v1-7 + (process-spawn + snowcam + :init pov-camera-init-by-other + (-> self spawn-trans) + *snowcam-sg* + "gearstart" + 0 + self + '((0 ambient camera "gamcam38") (10 alive "ecovent-278")) + :to self + ) + ) + ) (set! (-> (the-as snowcam (-> v1-7 0)) seq) (the-as uint 2)) ) (change-sound! (-> self sound) (static-sound-name "snw-eggtop-seq")) @@ -489,14 +455,12 @@ ) (none) ) - :post - (the-as (function none :behavior snow-eggtop) rider-post) + :post (the-as (function none :behavior snow-eggtop) rider-post) ) ;; failed to figure out what this is: (defstate snow-eggtop-idle-down (snow-eggtop) - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (let ((a0-1 (-> self entity))) (if (and a0-1 (= self (-> a0-1 extra process))) @@ -608,18 +572,16 @@ ;; failed to figure out what this is: (defstate snowpusher-idle (snowpusher) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) #f ) ) ) ) - :code - (behavior () + :code (behavior () (let ((gp-0 #f)) (loop (let ((f0-0 (get-current-phase-with-mirror (-> self sync)))) @@ -644,8 +606,7 @@ ) (none) ) - :post - (the-as (function none :behavior snowpusher) pusher-post) + :post (the-as (function none :behavior snowpusher) pusher-post) ) ;; definition for method 11 of type snowpusher @@ -748,8 +709,7 @@ ;; failed to figure out what this is: (defstate snow-spatula-idle (snow-spatula) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'bonk) (dummy-22 self) @@ -758,10 +718,8 @@ ) ) ) - :trans - (the-as (function none :behavior snow-spatula) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior snow-spatula) plat-trans) + :code (behavior () (let ((f28-0 0.0) (gp-0 1) ) @@ -813,8 +771,7 @@ ) (none) ) - :post - (the-as (function none :behavior snow-spatula) plat-post) + :post (the-as (function none :behavior snow-spatula) plat-post) ) ;; definition for method 11 of type snow-spatula @@ -894,14 +851,12 @@ :id 512 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1896)) + :parts ((sp-item 1896)) ) ;; failed to figure out what this is: (defpart 1896 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 1.0 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) @@ -928,8 +883,7 @@ ;; failed to figure out what this is: (defpart 1897 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) ;; failed to figure out what this is: @@ -937,14 +891,12 @@ :id 513 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1898)) + :parts ((sp-item 1898)) ) ;; failed to figure out what this is: (defpart 1898 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 64.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) @@ -972,16 +924,14 @@ ;; failed to figure out what this is: (defpart 1899 - :init-specs - ((sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-a -0.10666667)) ) ;; failed to figure out what this is: (defpartgroup group-snow-fort-gate-snowdrops :id 514 :bounds (static-bspherem 0 -16 0 32) - :parts - ((sp-item 2271 :fade-after (meters 100) :falloff-to (meters 130) :period 1200 :length 150) + :parts ((sp-item 2271 :fade-after (meters 100) :falloff-to (meters 130) :period 1200 :length 150) (sp-item 2271 :fade-after (meters 100) :falloff-to (meters 130) :period 1200 :length 100) (sp-item 2271 :fade-after (meters 100) :falloff-to (meters 130) :period 1200 :length 60) (sp-item 2271 :fade-after (meters 100) :falloff-to (meters 130) :period 1200 :length 30) @@ -1001,8 +951,7 @@ ;; failed to figure out what this is: (defpart 2271 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.25) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-z (meters -1) (meters 2) 1.0) @@ -1025,14 +974,12 @@ ;; failed to figure out what this is: (defpart 2274 - :init-specs - ((sp-flt spt-fade-a -0.42666668)) + :init-specs ((sp-flt spt-fade-a -0.42666668)) ) ;; failed to figure out what this is: (defpart 2272 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 1)) @@ -1056,8 +1003,7 @@ ;; failed to figure out what this is: (defpart 2273 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) (sp-flt spt-num 0.25) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 1)) @@ -1078,16 +1024,14 @@ ;; failed to figure out what this is: (defstate snow-fort-gate-idle-closed (snow-fort-gate) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('notice) (go snow-fort-gate-activate) ) ) ) - :trans - (behavior () + :trans (behavior () (when (and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) (level-hint-spawn (game-text-id snow-fort-reminder) @@ -1100,8 +1044,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 2) :num! min) (set! (-> self root-override trans quad) (-> self closed-trans quad)) (transform-post) @@ -1116,19 +1059,16 @@ ;; failed to figure out what this is: (defstate snow-fort-gate-activate (snow-fort-gate) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 #f)) (loop (let ((a1-0 (new 'stack-no-clear 'vector))) @@ -1171,14 +1111,12 @@ ) (none) ) - :post - (the-as (function none :behavior snow-fort-gate) transform-post) + :post (the-as (function none :behavior snow-fort-gate) transform-post) ) ;; failed to figure out what this is: (defstate snow-fort-gate-idle-open (snow-fort-gate) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 2) :num! min) (set! (-> self root-override trans quad) (-> self open-trans quad)) (transform-post) @@ -1311,14 +1249,12 @@ :id 515 :flags (use-local-clock) :bounds (static-bspherem 0 -4 0 16) - :parts - ((sp-item 1900) (sp-item 1901)) + :parts ((sp-item 1900) (sp-item 1901)) ) ;; failed to figure out what this is: (defpart 1900 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -9) (meters 18) 1.0) (sp-flt spt-y (meters -6)) @@ -1342,8 +1278,7 @@ ;; failed to figure out what this is: (defpart 1901 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -7)) (sp-rnd-flt spt-scale-x (meters 3) (meters 4.5) 1.0) @@ -1369,8 +1304,7 @@ ;; failed to figure out what this is: (defpart 1902 - :init-specs - ((sp-flt spt-fade-a 0.0) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 450 239 1) (sp-launcher-by-id spt-next-launcher 1903) ) @@ -1378,8 +1312,7 @@ ;; failed to figure out what this is: (defpart 1903 - :init-specs - ((sp-flt spt-fade-a -0.14222223)) + :init-specs ((sp-flt spt-fade-a -0.14222223)) ) ;; definition for method 20 of type snow-gears @@ -1396,8 +1329,7 @@ ;; failed to figure out what this is: (defstate snow-gears-idle (snow-gears) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('notice) (logclear! (-> self mask) (process-mask actor-pause)) @@ -1406,8 +1338,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja :group! (-> self draw art-group data 2) :num! min) (ja-post) (loop @@ -1420,13 +1351,11 @@ ;; failed to figure out what this is: (defstate snow-gears-activate (snow-gears) - :trans - (behavior () + :trans (behavior () (TODO-RENAME-20 self) (none) ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "eng-start-up") (new-sound-id) 1024 0 0 1 #t) (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.85) :frame-num 0.0) (until (ja-done? 0) @@ -1448,24 +1377,20 @@ (go snow-gears-halt) (none) ) - :post - (the-as (function none :behavior snow-gears) ja-post) + :post (the-as (function none :behavior snow-gears) ja-post) ) ;; failed to figure out what this is: (defstate snow-gears-halt (snow-gears) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (none) ) - :trans - (behavior () + :trans (behavior () (TODO-RENAME-20 self) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.35) :frame-num 0.0) (until (ja-done? 0) (update! (-> self sound)) @@ -1482,14 +1407,12 @@ (go snow-gears-stopped) (none) ) - :post - (the-as (function none :behavior snow-gears) ja-post) + :post (the-as (function none :behavior snow-gears) ja-post) ) ;; failed to figure out what this is: (defstate snow-gears-stopped (snow-gears) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (loop @@ -1579,10 +1502,8 @@ ;; failed to figure out what this is: (defstate snow-switch-idle-up (snow-switch) - :event - snow-switch-event-handler - :code - (behavior () + :event snow-switch-event-handler + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -1593,18 +1514,14 @@ ;; failed to figure out what this is: (defstate snow-switch-activate (snow-switch) - :event - snow-switch-event-handler - :exit - (behavior () + :event snow-switch-event-handler + :exit (behavior () (process-entity-status! self (entity-perm-status bit-3) #f) (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (the-as (function none :behavior snow-switch) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior snow-switch) rider-trans) + :code (behavior () (local-vars (v1-1 symbol)) (until v1-1 (suspend) @@ -1663,16 +1580,13 @@ ) (none) ) - :post - (the-as (function none :behavior snow-switch) rider-post) + :post (the-as (function none :behavior snow-switch) rider-post) ) ;; failed to figure out what this is: (defstate snow-switch-idle-down (snow-switch) - :event - snow-switch-event-handler - :code - (behavior () + :event snow-switch-event-handler + :code (behavior () (set! (-> self pressed?) #t) (set! (-> self root-override trans quad) (-> self orig-trans quad)) (set! (-> self root-override trans y) (+ -1433.6 (-> self root-override trans y))) @@ -1786,16 +1700,14 @@ ;; failed to figure out what this is: (defstate snow-log-wait-for-master (snow-log) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go snow-log-activate) ) ) ) - :code - (behavior () + :code (behavior () (loop (while (let ((v1-0 (-> self master))) (not (if v1-0 @@ -1813,19 +1725,14 @@ ) ) (when a0-1 - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 0) - (set! (-> a1-0 message) 'query) - (cond - ((send-event-function a0-1 a1-0) - (logclear! (-> self mask) (process-mask actor-pause)) - (process-entity-status! self (entity-perm-status bit-3) #t) - (go snow-log-active) - ) - (else - (go snow-log-hidden) - ) + (cond + ((send-event a0-1 'query) + (logclear! (-> self mask) (process-mask actor-pause)) + (process-entity-status! self (entity-perm-status bit-3) #t) + (go snow-log-active) + ) + (else + (go snow-log-hidden) ) ) ) @@ -1837,8 +1744,7 @@ ;; failed to figure out what this is: (defstate snow-log-hidden (snow-log) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (logclear! (-> self mask) (process-mask actor-pause)) @@ -1847,8 +1753,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 0) (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) @@ -1861,23 +1766,19 @@ ;; failed to figure out what this is: (defstate snow-log-activate (snow-log) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #t) (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :trans - (the-as (function none :behavior snow-log) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior snow-log) rider-trans) + :code (behavior () (activate! *camera-smush-control* 819.2 37 150 1.0 0.99) (ja-channel-push! 1 0) (let ((gp-0 #f)) @@ -1895,16 +1796,13 @@ (go snow-log-active) (none) ) - :post - (the-as (function none :behavior snow-log) rider-post) + :post (the-as (function none :behavior snow-log) rider-post) ) ;; failed to figure out what this is: (defstate snow-log-active (snow-log) - :trans - (the-as (function none :behavior snow-log) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior snow-log) rider-trans) + :code (behavior () (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (logclear! (-> self draw status) (draw-status hidden)) @@ -1952,8 +1850,7 @@ ) (none) ) - :post - (the-as (function none :behavior snow-log) rider-post) + :post (the-as (function none :behavior snow-log) rider-post) ) ;; definition for method 11 of type snow-log @@ -2053,10 +1950,8 @@ ;; failed to figure out what this is: (defstate snow-log-button-idle-up (snow-log-button) - :event - snow-log-button-event-handler - :code - (behavior () + :event snow-log-button-event-handler + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -2067,18 +1962,14 @@ ;; failed to figure out what this is: (defstate snow-log-button-activate (snow-log-button) - :event - snow-log-button-event-handler - :exit - (behavior () + :event snow-log-button-event-handler + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :trans - (the-as (function none :behavior snow-log-button) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior snow-log-button) rider-trans) + :code (behavior () (sound-play-by-name (static-sound-name "prec-button1") (new-sound-id) 1024 0 0 1 #t) (loop (let ((f30-0 (+ -1433.6 (-> self orig-trans y)))) @@ -2113,16 +2004,13 @@ ) (none) ) - :post - (the-as (function none :behavior snow-log-button) rider-post) + :post (the-as (function none :behavior snow-log-button) rider-post) ) ;; failed to figure out what this is: (defstate snow-log-button-idle-down (snow-log-button) - :event - snow-log-button-event-handler - :code - (behavior () + :event snow-log-button-event-handler + :code (behavior () (set! (-> self root-override trans quad) (-> self orig-trans quad)) (set! (-> self root-override trans y) (+ -1433.6 (-> self root-override trans y))) (transform-post) diff --git a/test/decompiler/reference/levels/snow/snow-part_REF.gc b/test/decompiler/reference/levels/snow/snow-part_REF.gc index 83e06d68b9..79a2317029 100644 --- a/test/decompiler/reference/levels/snow/snow-part_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-part_REF.gc @@ -22,8 +22,7 @@ (defpartgroup group-snow-snowdrops1 :id 528 :bounds (static-bspherem 0 -16 0 32) - :parts - ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 2700 :length 150) + :parts ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 2700 :length 150) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 2700 :length 100) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 2700 :length 60) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 2700 :length 30) @@ -45,8 +44,7 @@ (defpartgroup group-snow-snowdrops2 :id 529 :bounds (static-bspherem 0 -16 0 32) - :parts - ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3068 :length 150 :offset 900) + :parts ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3068 :length 150 :offset 900) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3068 :length 100 :offset 900) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3068 :length 60 :offset 900) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3068 :length 30 :offset 900) @@ -68,8 +66,7 @@ (defpartgroup group-snow-snowdrops3 :id 530 :bounds (static-bspherem 0 -16 0 32) - :parts - ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3345 :length 150 :offset 1800) + :parts ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3345 :length 150 :offset 1800) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3345 :length 100 :offset 1800) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3345 :length 60 :offset 1800) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 3345 :length 30 :offset 1800) @@ -91,8 +88,7 @@ (defpartgroup group-snow-snowdrops4 :id 531 :bounds (static-bspherem 0 -16 0 32) - :parts - ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 4035 :length 150 :offset 300) + :parts ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 4035 :length 150 :offset 300) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 4035 :length 100 :offset 300) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 4035 :length 60 :offset 300) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 4035 :length 30 :offset 300) @@ -114,8 +110,7 @@ (defpartgroup group-snow-snowdrops5 :id 532 :bounds (static-bspherem 0 -16 0 32) - :parts - ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 5385 :length 150 :offset 1200) + :parts ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 5385 :length 150 :offset 1200) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 5385 :length 100 :offset 1200) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 5385 :length 60 :offset 1200) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 5385 :length 30 :offset 1200) @@ -137,8 +132,7 @@ (defpartgroup group-snow-snowdrops6 :id 533 :bounds (static-bspherem 0 -16 0 32) - :parts - ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 6129 :length 150 :offset 2100) + :parts ((sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 6129 :length 150 :offset 2100) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 6129 :length 100 :offset 2100) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 6129 :length 60 :offset 2100) (sp-item 1924 :fade-after (meters 100) :falloff-to (meters 130) :period 6129 :length 30 :offset 2100) @@ -158,8 +152,7 @@ ;; failed to figure out what this is: (defpart 1924 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.25) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-z (meters -1) (meters 2) 1.0) @@ -182,14 +175,12 @@ ;; failed to figure out what this is: (defpart 1927 - :init-specs - ((sp-flt spt-fade-a -0.42666668)) + :init-specs ((sp-flt spt-fade-a -0.42666668)) ) ;; failed to figure out what this is: (defpart 1925 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 1)) @@ -213,8 +204,7 @@ ;; failed to figure out what this is: (defpart 1926 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) (sp-flt spt-num 0.25) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 1)) @@ -237,8 +227,7 @@ (defpartgroup group-part-snow-torch :id 534 :bounds (static-bspherem 0 3 0 4) - :parts - ((sp-item 2041 :fade-after (meters 200) :falloff-to (meters 220)) + :parts ((sp-item 2041 :fade-after (meters 200) :falloff-to (meters 220)) (sp-item 2042 :fade-after (meters 140) :falloff-to (meters 1400)) (sp-item 2043 :fade-after (meters 50) :falloff-to (meters 50) :period 600 :length 90) (sp-item 2044 :fade-after (meters 50) :falloff-to (meters 50) :period 369 :length 69) @@ -249,8 +238,7 @@ ;; failed to figure out what this is: (defpart 2046 - :init-specs - ((sp-flt spt-num 0.3) + :init-specs ((sp-flt spt-num 0.3) (sp-flt spt-x (meters 0.2)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) (sp-int spt-rot-x 5) @@ -269,14 +257,12 @@ ;; failed to figure out what this is: (defpart 2047 - :init-specs - ((sp-flt spt-fade-b -6.826667)) + :init-specs ((sp-flt spt-fade-b -6.826667)) ) ;; failed to figure out what this is: (defpart 2041 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1069547520 1 1.0) (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) (sp-rnd-flt spt-z (meters -0.35) (meters 0.7) 1.0) @@ -299,14 +285,12 @@ ;; failed to figure out what this is: (defpart 2048 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) ;; failed to figure out what this is: (defpart 2043 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-flt spt-y (meters 1)) @@ -330,8 +314,7 @@ ;; failed to figure out what this is: (defpart 2044 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) (sp-flt spt-y (meters 0.5)) @@ -355,8 +338,7 @@ ;; failed to figure out what this is: (defpart 2045 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0) (sp-flt spt-y (meters 0.6)) @@ -380,8 +362,7 @@ ;; failed to figure out what this is: (defpart 2042 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.3)) @@ -416,8 +397,7 @@ ;; failed to figure out what this is: (defpart 2093 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-rnd-flt spt-y (meters -30) (meters 20) 1.0) @@ -444,16 +424,14 @@ ;; failed to figure out what this is: (defpart 2094 - :init-specs - ((sp-flt spt-fade-a -0.035555556)) + :init-specs ((sp-flt spt-fade-a -0.035555556)) ) ;; failed to figure out what this is: (defpartgroup group-snow-door-torch :id 536 :bounds (static-bspherem 0 5 0 6) - :parts - ((sp-item 2113 :fade-after (meters 240) :falloff-to (meters 240)) + :parts ((sp-item 2113 :fade-after (meters 240) :falloff-to (meters 240)) (sp-item 2114 :fade-after (meters 40) :falloff-to (meters 40) :period 492 :length 60) (sp-item 2115 :fade-after (meters 240) :falloff-to (meters 240)) (sp-item 2116 :fade-after (meters 40) :falloff-to (meters 40) :period 369 :length 219) @@ -466,8 +444,7 @@ ;; failed to figure out what this is: (defpart 2120 - :init-specs - ((sp-flt spt-num 0.6) + :init-specs ((sp-flt spt-num 0.6) (sp-rnd-flt spt-x (meters 0) (meters 2) 1.0) (sp-flt spt-y (meters 2)) (sp-int spt-rot-x 5) @@ -486,14 +463,12 @@ ;; failed to figure out what this is: (defpart 2121 - :init-specs - ((sp-flt spt-fade-b -10.922667)) + :init-specs ((sp-flt spt-fade-b -10.922667)) ) ;; failed to figure out what this is: (defpart 2113 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.75 0.6 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -521,8 +496,7 @@ ;; failed to figure out what this is: (defpart 2114 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1058642330 1 1.3) (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -550,8 +524,7 @@ ;; failed to figure out what this is: (defpart 2115 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.6 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 1)) @@ -581,8 +554,7 @@ ;; failed to figure out what this is: (defpart 2123 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.2 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 1)) @@ -612,8 +584,7 @@ ;; failed to figure out what this is: (defpart 2122 - :init-specs - ((sp-flt spt-fade-g 0.26666668) + :init-specs ((sp-flt spt-fade-g 0.26666668) (sp-flt spt-fade-b 0.53333336) (sp-int spt-next-time 120) (sp-launcher-by-id spt-next-launcher 2124) @@ -622,14 +593,12 @@ ;; failed to figure out what this is: (defpart 2124 - :init-specs - ((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: (defpart 2116 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.6 0.7 1.0) (sp-rnd-flt spt-x (meters -1.2) (meters 2.4) 1.0) (sp-flt spt-y (meters 0.5)) @@ -657,8 +626,7 @@ ;; failed to figure out what this is: (defpart 2117 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1056964608 1 0.9) (sp-rnd-flt spt-x (meters -1.2) (meters 1) 1.0) (sp-flt spt-y (meters 1.25)) @@ -686,8 +654,7 @@ ;; failed to figure out what this is: (defpart 2118 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.75 1.2 1.0) (sp-rnd-flt spt-x (meters -1.2) (meters 2.4) 1.0) (sp-flt spt-y (meters 0.5)) @@ -715,8 +682,7 @@ ;; failed to figure out what this is: (defpart 2119 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1060320051 1 1.6) (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) (sp-flt spt-y (meters 1.25)) @@ -746,8 +712,7 @@ (defpartgroup group-snow-birds :id 537 :bounds (static-bspherem 0 8 0 45) - :parts - ((sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243) + :parts ((sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243) (sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243) (sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243) (sp-item 2245 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 2243) @@ -813,8 +778,7 @@ ;; failed to figure out what this is: (defpart 2245 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-func spt-birth-func 'birth-func-random-next-time) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -70) (meters 140) 1.0) @@ -841,8 +805,7 @@ ;; failed to figure out what this is: (defpart 2243 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-func spt-birth-func 'birth-func-copy-omega-to-z) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) @@ -868,8 +831,7 @@ ;; failed to figure out what this is: (defpart 2246 - :init-specs - ((sp-flt spt-scale-x (meters 8)) + :init-specs ((sp-flt spt-scale-x (meters 8)) (sp-flt spt-scalevel-x (meters -0.08)) (sp-int spt-timer 600) (sp-int spt-next-time 100) @@ -879,8 +841,7 @@ ;; failed to figure out what this is: (defpart 2247 - :init-specs - ((sp-flt spt-scale-x (meters 0)) + :init-specs ((sp-flt spt-scale-x (meters 0)) (sp-flt spt-scalevel-x (meters -0.04)) (sp-int spt-timer 600) (sp-int spt-next-time 199) @@ -890,8 +851,7 @@ ;; failed to figure out what this is: (defpart 2244 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-func spt-birth-func 'birth-func-copy2-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 4)) diff --git a/test/decompiler/reference/levels/snow/snow-ram-boss_REF.gc b/test/decompiler/reference/levels/snow/snow-ram-boss_REF.gc index 82a8ff1b82..cc35c6fac5 100644 --- a/test/decompiler/reference/levels/snow/snow-ram-boss_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-ram-boss_REF.gc @@ -222,14 +222,12 @@ :id 521 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1904) (sp-item 1905) (sp-item 2487)) + :parts ((sp-item 1904) (sp-item 1905) (sp-item 2487)) ) ;; failed to figure out what this is: (defpart 2487 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -249,8 +247,7 @@ ;; failed to figure out what this is: (defpart 1904 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -273,8 +270,7 @@ ;; failed to figure out what this is: (defpart 1905 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -297,8 +293,7 @@ :id 522 :duration 300 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 1910 :flags (launch-asap) :binding 1908) + :parts ((sp-item 1910 :flags (launch-asap) :binding 1908) (sp-item 1908 :flags (start-dead) :binding 1909) (sp-item 1909 :flags (start-dead launch-asap)) (sp-item 1909 :flags (start-dead launch-asap)) @@ -351,8 +346,7 @@ ;; failed to figure out what this is: (defpart 1910 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.01)) (sp-copy-from-other spt-scale-y -4) @@ -365,8 +359,7 @@ ;; failed to figure out what this is: (defpart 1908 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -392,14 +385,12 @@ ;; failed to figure out what this is: (defpart 1912 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: (defpart 1909 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 5.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -432,14 +423,12 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1914) (sp-item 1915) (sp-item 1916)) + :parts ((sp-item 1914) (sp-item 1915) (sp-item 1916)) ) ;; failed to figure out what this is: (defpart 1914 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 64.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -465,8 +454,7 @@ ;; failed to figure out what this is: (defpart 1916 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -491,8 +479,7 @@ ;; failed to figure out what this is: (defpart 1915 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -513,8 +500,7 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1914)) + :parts ((sp-item 1914)) ) ;; definition for method 24 of type ram-boss-proj @@ -702,8 +688,7 @@ ;; failed to figure out what this is: (defstate ram-boss-proj-growing (ram-boss-proj) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('launch) (let ((v1-1 (-> self parent-override))) @@ -715,8 +700,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self charge-sound-id) (sound-play-by-name (static-sound-name "ramboss-charge") (new-sound-id) 1024 0 0 1 #t) ) @@ -762,8 +746,7 @@ ;; failed to figure out what this is: (defstate ram-boss-proj-launch (ram-boss-proj) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "ramboss-fire") (new-sound-id) 1024 0 0 1 #t) (set! (-> self launched?) #t) (set! (-> self growth) 1.0) @@ -781,25 +764,17 @@ ;; failed to figure out what this is: (defstate projectile-impact (ram-boss-proj) :virtual #t - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 523) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 523) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (if (nonzero? (-> self sound-id)) (sound-stop (-> self sound-id)) @@ -814,25 +789,17 @@ ;; failed to figure out what this is: (defstate projectile-dissipate (ram-boss-proj) :virtual #t - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 524) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + :code (behavior () + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 524) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (if (nonzero? (-> self sound-id)) (sound-stop (-> self sound-id)) @@ -848,14 +815,12 @@ :id 525 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1919)) + :parts ((sp-item 1919)) ) ;; failed to figure out what this is: (defpart 1919 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.25) (meters 0.5) 1.0) @@ -884,14 +849,12 @@ :duration 5 :linger-duration 450 :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2367) (sp-item 2368) (sp-item 2369)) + :parts ((sp-item 2367) (sp-item 2368) (sp-item 2369)) ) ;; failed to figure out what this is: (defpart 2367 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -916,8 +879,7 @@ ;; failed to figure out what this is: (defpart 2368 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -942,8 +904,7 @@ ;; failed to figure out what this is: (defpart 2369 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) @@ -973,76 +934,38 @@ (('attack 'bonk 'roll) (cond ((-> self has-shield?) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'powerup)) - (set! (-> a1-3 param 1) (the-as uint 2)) - (cond - ((send-event-function *target* a1-3) - (nav-enemy-set-hit-from-direction arg0) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'shove) - (set! (-> a1-4 param 0) (the-as uint #f)) - (let ((v1-9 (new 'static 'attack-info :mask #x40))) - (set! (-> v1-9 shove-back) 8192.0) - (set! (-> a1-4 param 1) (the-as uint v1-9)) + (cond + ((send-event *target* 'query 'powerup (pickup-type eco-red)) + (nav-enemy-set-hit-from-direction arg0) + (send-event arg0 'shove #f (static-attack-info ((shove-back (meters 2))))) + (go ram-boss-lose-shield) + (return #t) + v0-4 + ) + ((begin + (if (zero? (logand (-> self nav-enemy-flags) (nav-enemy-flags navenmf8))) + (do-push-aways! (-> self collide-info)) ) - (send-event-function arg0 a1-4) + (level-hint-spawn + (game-text-id ram-boss-red-eco-hint) + "sksp0346" + (the-as entity #f) + *entity-pool* + (game-task none) ) - (go ram-boss-lose-shield) - (return #t) - v0-4 + (>= (- (-> (target-pos 0) y) (-> self collide-info trans y)) 9420.8) ) - ((begin - (if (zero? (logand (-> self nav-enemy-flags) (nav-enemy-flags navenmf8))) - (do-push-aways! (-> self collide-info)) - ) - (level-hint-spawn - (game-text-id ram-boss-red-eco-hint) - "sksp0346" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (>= (- (-> (target-pos 0) y) (-> self collide-info trans y)) 9420.8) - ) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'shove) - (set! (-> a1-6 param 0) (the-as uint #f)) - (let ((v1-22 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-22 shove-back) 16384.0) - (set! (-> v1-22 shove-up) 8192.0) - (set! (-> a1-6 param 1) (the-as uint v1-22)) - ) - (send-event-function arg0 a1-6) - ) - (go ram-boss-up-defend-block) - (return #t) - v0-4 - ) - (else - (when (= arg2 'attack) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'shove) - (set! (-> a1-7 param 0) (the-as uint #f)) - (let ((v1-30 (new 'static 'attack-info :mask #x40))) - (set! (-> v1-30 shove-back) 16384.0) - (set! (-> a1-7 param 1) (the-as uint v1-30)) - ) - (send-event-function arg0 a1-7) - ) - (go ram-boss-forward-defend-block) - (return #t) - v0-4 - ) + (send-event arg0 'shove #f (static-attack-info ((shove-back (meters 4)) (shove-up (meters 2))))) + (go ram-boss-up-defend-block) + (return #t) + v0-4 + ) + (else + (when (= arg2 'attack) + (send-event arg0 'shove #f (static-attack-info ((shove-back (meters 4))))) + (go ram-boss-forward-defend-block) + (return #t) + v0-4 ) ) ) @@ -1062,17 +985,11 @@ ((-> self has-shield?) (cond ((>= (- (-> (target-pos 0) y) (-> self collide-info trans y)) 9420.8) - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) self) - (set! (-> a1-8 num-params) 2) - (set! (-> a1-8 message) 'shove) - (set! (-> a1-8 param 0) (-> arg3 param 0)) - (let ((v1-49 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-49 shove-back) 16384.0) - (set! (-> v1-49 shove-up) 8192.0) - (set! (-> a1-8 param 1) (the-as uint v1-49)) - ) - (send-event-function arg0 a1-8) + (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-back (meters 4)) (shove-up (meters 2)))) ) (go ram-boss-up-defend-block) (return #t) @@ -1080,17 +997,7 @@ ) (else (when (= arg2 'attack) - (let ((a1-9 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-9 from) self) - (set! (-> a1-9 num-params) 2) - (set! (-> a1-9 message) 'shove) - (set! (-> a1-9 param 0) (-> arg3 param 0)) - (let ((v1-58 (new 'static 'attack-info :mask #x40))) - (set! (-> v1-58 shove-back) 16384.0) - (set! (-> a1-9 param 1) (the-as uint v1-58)) - ) - (send-event-function arg0 a1-9) - ) + (send-event arg0 'shove (-> arg3 param 0) (static-attack-info ((shove-back (meters 4))))) (go ram-boss-forward-defend-block) (return #t) v0-4 @@ -1436,24 +1343,20 @@ ;; failed to figure out what this is: (defstate ram-boss-show-anims (ram-boss) - :trans - (behavior () + :trans (behavior () 0 (none) ) - :code - (behavior () + :code (behavior () 0 (none) ) - :post - (the-as (function none :behavior ram-boss) transform-post) + :post (the-as (function none :behavior ram-boss) transform-post) ) ;; failed to figure out what this is: (defstate ram-boss-idle (ram-boss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('jump) (go ram-boss-jump-down arg0) @@ -1463,15 +1366,13 @@ ) ) ) - :enter - (behavior () + :enter (behavior () ((-> (method-of-type nav-enemy nav-enemy-idle) enter)) (set! (-> self frustration) 0) 0 (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (loop (clone-anim-once @@ -1502,16 +1403,14 @@ ;; failed to figure out what this is: (defstate ram-boss-jump-down (ram-boss) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (nav-enemy-send-attack arg0 (the-as touching-shapes-entry (-> arg3 param 0)) 'generic) ) ) ) - :enter - (behavior ((arg0 basic)) + :enter (behavior ((arg0 basic)) (dummy-52 self) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (let ((s5-0 (new 'stack-no-clear 'vector)) @@ -1539,8 +1438,7 @@ (set! (-> self collide-info transv y) 102400.0) (none) ) - :trans - (behavior () + :trans (behavior () (+! (-> self collide-info transv y) (* -544768.0 (-> *display* seconds-per-frame))) (integrate-for-enemy-with-move-to-ground! (-> self collide-info) @@ -1556,8 +1454,7 @@ ) (none) ) - :code - (behavior ((arg0 basic)) + :code (behavior ((arg0 basic)) (ja-channel-push! 1 (seconds 0.8)) (ja-no-eval :group! (-> self draw art-group data 16) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1574,16 +1471,13 @@ ) (none) ) - :post - (the-as (function none :behavior ram-boss) nav-enemy-simple-post) + :post (the-as (function none :behavior ram-boss) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate ram-boss-jump-down-hit-ground (ram-boss) - :event - (-> ram-boss-jump-down event) - :code - (behavior () + :event (-> ram-boss-jump-down event) + :code (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (activate! *camera-smush-control* 409.6 37 150 1.0 0.99) (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek!) :frame-num 0.0) @@ -1595,14 +1489,12 @@ (go ram-boss-nav-start) (none) ) - :post - (the-as (function none :behavior ram-boss) nav-enemy-simple-post) + :post (the-as (function none :behavior ram-boss) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate ram-boss-already-down (ram-boss) - :code - (behavior ((arg0 basic)) + :code (behavior ((arg0 basic)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (dummy-52 self) (let ((a1-0 (new 'stack-no-clear 'vector)) @@ -1624,8 +1516,7 @@ ;; failed to figure out what this is: (defstate ram-boss-nav-start (ram-boss) - :code - (behavior () + :code (behavior () (let ((a1-1 (dummy-16 (-> self nav) (-> self collide-info trans)))) (when (not a1-1) (go process-drawable-art-error "not on nav mesh") @@ -1640,8 +1531,7 @@ ;; failed to figure out what this is: (defstate ram-boss-nav-resume (ram-boss) - :code - (behavior () + :code (behavior () (set! (-> self frustration) 0) (when *target* (let ((f30-0 (vector-vector-distance (target-pos 0) (-> self collide-info trans)))) @@ -1672,18 +1562,15 @@ ;; failed to figure out what this is: (defstate nav-enemy-patrol (ram-boss) :virtual #t - :event - ram-boss-on-ground-event-handler - :enter - (behavior () + :event ram-boss-on-ground-event-handler + :enter (behavior () ((-> (method-of-type nav-enemy nav-enemy-patrol) enter)) (set! (-> self state-timeout) (-> self nav-enemy-patrol-timeout)) (set! (-> self nav-enemy-patrol-timeout) (seconds 1)) (ja-channel-push! 1 (seconds 0.3)) (none) ) - :trans - (behavior () + :trans (behavior () (when *target* (let ((f0-0 (vector-vector-distance (target-pos 0) (-> self collide-info trans)))) (if (>= 18432.0 f0-0) @@ -1699,10 +1586,8 @@ ;; failed to figure out what this is: (defstate nav-enemy-chase (ram-boss) :virtual #t - :event - ram-boss-on-ground-event-handler - :enter - (behavior () + :event ram-boss-on-ground-event-handler + :enter (behavior () (let ((t9-0 (-> (method-of-type nav-enemy nav-enemy-chase) enter))) (if t9-0 (t9-0) @@ -1710,8 +1595,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (vector-vector-distance (target-pos 0) (-> self collide-info trans)))) (if (>= 18432.0 f30-0) (go ram-boss-tracking) @@ -1743,12 +1627,9 @@ ;; failed to figure out what this is: (defstate nav-enemy-attack (ram-boss) :virtual #t - :event - ram-boss-on-ground-event-handler - :trans - (the-as (function none :behavior ram-boss) #f) - :code - (behavior () + :event ram-boss-on-ground-event-handler + :trans (the-as (function none :behavior ram-boss) #f) + :code (behavior () (go ram-boss-tracking) (none) ) @@ -1782,17 +1663,14 @@ ;; failed to figure out what this is: (defstate ram-boss-tracking (ram-boss) - :event - ram-boss-on-ground-event-handler - :enter - (behavior () + :event ram-boss-on-ground-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self facing-y) (quaternion-y-angle (-> self collide-info quat))) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (none) ) - :trans - (behavior () + :trans (behavior () (set-jump-height-factor! self (the-as int (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.75))) @@ -1864,8 +1742,7 @@ 0 (none) ) - :code - (behavior () + :code (behavior () (let ((f30-0 -1.0)) (loop (set! f30-0 (dummy-57 self f30-0)) @@ -1910,26 +1787,22 @@ ) (none) ) - :post - (the-as (function none :behavior ram-boss) nav-enemy-simple-post) + :post (the-as (function none :behavior ram-boss) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate ram-boss-forward-defend-block (ram-boss) - :enter - (behavior () + :enter (behavior () (set! (-> self frustration) 0) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (none) ) - :trans - (behavior () + :trans (behavior () (set-jump-height-factor! self (the-as int #t)) 0 (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1939,26 +1812,22 @@ (go ram-boss-tracking) (none) ) - :post - (the-as (function none :behavior ram-boss) nav-enemy-simple-post) + :post (the-as (function none :behavior ram-boss) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate ram-boss-up-defend-block (ram-boss) - :enter - (behavior () + :enter (behavior () (set! (-> self frustration) 0) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (none) ) - :trans - (behavior () + :trans (behavior () (set-jump-height-factor! self (the-as int #t)) 0 (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1968,21 +1837,16 @@ (go ram-boss-tracking) (none) ) - :post - (the-as (function none :behavior ram-boss) nav-enemy-simple-post) + :post (the-as (function none :behavior ram-boss) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate nav-enemy-victory (ram-boss) :virtual #t - :event - ram-boss-on-ground-event-handler - :enter - (the-as (function none :behavior ram-boss) #f) - :exit - (the-as (function none :behavior ram-boss) #f) - :trans - (behavior () + :event ram-boss-on-ground-event-handler + :enter (the-as (function none :behavior ram-boss) #f) + :exit (the-as (function none :behavior ram-boss) #f) + :trans (behavior () (when *target* (let ((f0-0 (vector-vector-distance (target-pos 0) (-> self collide-info trans)))) (if (and (>= 18432.0 f0-0) (-> self has-shield?)) @@ -1992,13 +1856,11 @@ ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self frustration) 0) (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info victory-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info victory-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -2010,17 +1872,14 @@ (go-virtual nav-enemy-attack) (none) ) - :post - (the-as (function none :behavior ram-boss) nav-enemy-simple-post) + :post (the-as (function none :behavior ram-boss) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate nav-enemy-stare (ram-boss) :virtual #t - :event - ram-boss-on-ground-event-handler - :enter - (behavior () + :event ram-boss-on-ground-event-handler + :enter (behavior () (go ram-boss-nav-resume) (none) ) @@ -2028,10 +1887,8 @@ ;; failed to figure out what this is: (defstate ram-boss-throw (ram-boss) - :event - ram-boss-on-ground-event-handler - :enter - (behavior () + :event ram-boss-on-ground-event-handler + :enter (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (let ((gp-0 (-> self child))) (while gp-0 @@ -2042,14 +1899,12 @@ (set! (-> self proj-last-thrown-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (set-jump-height-factor! self (the-as int #t)) 0 (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (cond ((-> self has-shield?) @@ -2070,22 +1925,19 @@ (go ram-boss-tracking) (none) ) - :post - (the-as (function none :behavior ram-boss) nav-enemy-simple-post) + :post (the-as (function none :behavior ram-boss) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate ram-boss-lose-shield (ram-boss) - :enter - (behavior () + :enter (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (nav-enemy-neck-control-inactive) (dummy-53 self) (TODO-RENAME-49 self *ram-boss-nav-enemy-info-no-shield*) (none) ) - :exit - (behavior () + :exit (behavior () (nav-enemy-neck-control-look-at) (set! (-> self has-shield?) #f) (let ((v1-2 (-> self entity extra perm))) @@ -2098,8 +1950,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) (vector-normalize-copy! gp-0 (-> self hit-from-dir) 16384.0) (vector+! gp-0 (-> self collide-info trans) gp-0) @@ -2118,8 +1969,7 @@ (go ram-boss-tracking) (none) ) - :post - (behavior () + :post (behavior () (TODO-RENAME-9 (-> self align)) (dummy-11 (-> self nav) (-> self nav target-pos)) (TODO-RENAME-11 @@ -2152,8 +2002,7 @@ ;; failed to figure out what this is: (defstate nav-enemy-die (ram-boss) :virtual #t - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (clear-collide-with-as (-> self collide-info)) (nav-enemy-fall-and-play-death-anim diff --git a/test/decompiler/reference/levels/snow/snow-ram_REF.gc b/test/decompiler/reference/levels/snow/snow-ram_REF.gc index 6dec7aa4f7..998730b04f 100644 --- a/test/decompiler/reference/levels/snow/snow-ram_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-ram_REF.gc @@ -15,14 +15,12 @@ :id 526 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1921) (sp-item 1922 :fade-after (meters 60) :falloff-to (meters 60))) + :parts ((sp-item 1921) (sp-item 1922 :fade-after (meters 60) :falloff-to (meters 60))) ) ;; failed to figure out what this is: (defpart 1920 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 64.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -44,8 +42,7 @@ ;; failed to figure out what this is: (defpart 1922 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -68,8 +65,7 @@ ;; failed to figure out what this is: (defpart 1921 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -89,14 +85,12 @@ :id 527 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1923 :fade-after (meters 70) :falloff-to (meters 70))) + :parts ((sp-item 1923 :fade-after (meters 70) :falloff-to (meters 70))) ) ;; failed to figure out what this is: (defpart 1923 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-z (meters -0.5) (meters 1) 1.0) @@ -191,46 +185,36 @@ ;; failed to figure out what this is: (defstate ram-idle (ram) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) - (when ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (-> self root-override) - (the-as uint 1) - ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((v1-7 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-7 shove-up) 2048.0) - (set! (-> v1-7 shove-back) 8192.0) - (set! (-> a1-3 param 1) (the-as uint v1-7)) + (if ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (-> self root-override) + (the-as uint 1) + ) + (send-event + arg0 + 'attack + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 0.5)) (shove-back (meters 2)))) ) - (send-event-function arg0 a1-3) ) - ) ) ) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (behavior () + :trans (behavior () (rider-trans) (if (-> self give-fuel-cell-anim) (spool-push *art-control* (-> self give-fuel-cell-anim name) 0 self -99.0) ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (sv-16 symbol)) (ja-channel-push! 1 (seconds 0.075)) (loop @@ -272,14 +256,12 @@ ) (none) ) - :post - (the-as (function none :behavior ram) rider-post) + :post (the-as (function none :behavior ram) rider-post) ) ;; failed to figure out what this is: (defstate ram-fun-idle (ram) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('notify) (when (= (-> arg0 type) ram-boss) @@ -290,15 +272,13 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (-> self give-fuel-cell-anim) (spool-push *art-control* (-> self give-fuel-cell-anim name) 0 self -99.0) ) (none) ) - :code - (behavior () + :code (behavior () (if (-> self give-fuel-cell?) (go ram-give-fuel-cell) ) @@ -314,8 +294,7 @@ ;; failed to figure out what this is: (defstate ram-give-fuel-cell (ram) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('notify) (if (and (= (-> arg0 type) snowcam) (= (-> arg3 param 0) 'die)) @@ -324,14 +303,12 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (process-entity-status! self (entity-perm-status bit-3) #f) (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self give-fuel-cell?) #f) (ja-channel-push! 1 0) (ja :group! (-> self draw art-group data 6) :num! min) @@ -497,27 +474,11 @@ ((and (not s3-1) (has-nav-mesh? arg0)) (cond (s4-1 - (let ((s5-1 (get-process *default-dead-pool* ram-boss #x4000))) - (when s5-1 - (let ((t9-28 (method-of-type ram-boss activate))) - (t9-28 (the-as ram-boss s5-1) obj 'ram-boss (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 ram-boss-init-by-other (-> obj entity) obj #t) - (-> s5-1 ppointer) - ) - ) + (process-spawn ram-boss (-> obj entity) obj #t :to obj) (go ram-fun-idle) ) (else - (let ((s5-2 (get-process *default-dead-pool* ram-boss #x4000))) - (when s5-2 - (let ((t9-32 (method-of-type ram-boss activate))) - (t9-32 (the-as ram-boss s5-2) obj 'ram-boss (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 ram-boss-init-by-other (-> obj entity) obj #f) - (-> s5-2 ppointer) - ) - ) + (process-spawn ram-boss (-> obj entity) obj #f :to obj) (go ram-idle) ) ) diff --git a/test/decompiler/reference/levels/snow/target-ice_REF.gc b/test/decompiler/reference/levels/snow/target-ice_REF.gc index 57c112dd5c..956bc6e364 100644 --- a/test/decompiler/reference/levels/snow/target-ice_REF.gc +++ b/test/decompiler/reference/levels/snow/target-ice_REF.gc @@ -3,17 +3,13 @@ ;; failed to figure out what this is: (defstate target-ice-stance (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (set! (-> self control unknown-surface00) *walk-mods*) (none) ) - :exit - target-state-hook-exit - :trans - (behavior () + :exit target-state-hook-exit + :trans (behavior () ((-> self state-hook)) (if (!= (-> self control ground-pat material) (pat-material ice)) (go target-stance) @@ -55,8 +51,7 @@ (fall-test) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 60)) (let ((v1-2 (ja-group))) (cond @@ -106,11 +101,10 @@ ((ja-group? (-> self draw art-group data 59)) (set! (-> self control unknown-float81) (-> self control unknown-float80)) (set! (-> self control unknown-surface00) *walk-no-turn-mods*) - (ja-no-eval :group! - (if (rand-vu-percent? 0.3) - (-> self draw art-group data 61) - (-> self draw art-group data 60) - ) + (ja-no-eval :group! (if (rand-vu-percent? 0.3) + (-> self draw art-group data 61) + (-> self draw art-group data 60) + ) :num! (seek!) :frame-num 0.0 ) @@ -160,28 +154,23 @@ ) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-ice-walk (target) - :event - target-standard-event-handler - :enter - (behavior () + :event target-standard-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self control unknown-surface00) *walk-mods*) (none) ) - :exit - (behavior () + :exit (behavior () (target-effect-exit) (target-state-hook-exit) (none) ) - :trans - (behavior () + :trans (behavior () ((-> self state-hook)) (when (!= (-> self control ground-pat material) (pat-material ice)) (remove-exit) @@ -246,8 +235,7 @@ (fall-test) (none) ) - :code - (behavior () + :code (behavior () (cond ((ja-group? (-> self draw art-group data 23)) (let ((f30-0 (ja-aframe-num 0))) @@ -327,6 +315,5 @@ ) (none) ) - :post - target-post + :post target-post ) diff --git a/test/decompiler/reference/levels/snow/target-snowball_REF.gc b/test/decompiler/reference/levels/snow/target-snowball_REF.gc index c98f18ed0b..9bc6ac0a99 100644 --- a/test/decompiler/reference/levels/snow/target-snowball_REF.gc +++ b/test/decompiler/reference/levels/snow/target-snowball_REF.gc @@ -59,8 +59,7 @@ ;; failed to figure out what this is: (defstate target-snowball-start (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) 'snowball @@ -80,8 +79,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (when (!= (-> self next-state name) 'target-snowball) (let ((v1-1 (-> self manipy))) (when v1-1 @@ -99,8 +97,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (target-exit) (set! *display-profile* #f) (set! *display-entity-errors* #f) @@ -124,25 +121,20 @@ (go target-snowball) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-snowball (target) - :event - (-> target-snowball-start event) - :exit - (-> target-snowball-start exit) - :code - (behavior () + :event (-> target-snowball-start event) + :exit (-> target-snowball-start exit) + :code (behavior () (loop (suspend) ) (none) ) - :post - (behavior () + :post (behavior () (target-snowball-post) (none) ) diff --git a/test/decompiler/reference/levels/snow/yeti_REF.gc b/test/decompiler/reference/levels/snow/yeti_REF.gc index dfcb954abe..48bc94ae0e 100644 --- a/test/decompiler/reference/levels/snow/yeti_REF.gc +++ b/test/decompiler/reference/levels/snow/yeti_REF.gc @@ -133,16 +133,14 @@ :id 538 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 1928 :fade-after (meters 70) :falloff-to (meters 70)) + :parts ((sp-item 1928 :fade-after (meters 70) :falloff-to (meters 70)) (sp-item 1929 :fade-after (meters 70) :falloff-to (meters 70)) ) ) ;; failed to figure out what this is: (defpart 1929 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) @@ -167,8 +165,7 @@ ;; failed to figure out what this is: (defpart 1928 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) @@ -199,14 +196,12 @@ :id 539 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 1930 :fade-after (meters 70) :falloff-to (meters 70))) + :parts ((sp-item 1930 :fade-after (meters 70) :falloff-to (meters 70))) ) ;; failed to figure out what this is: (defpart 1930 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.25) (meters 0.5) 1.0) @@ -242,10 +237,8 @@ ;; failed to figure out what this is: (defstate yeti-slave-appear-jump-up (yeti-slave) - :event - yeti-slave-default-event-handler - :enter - (behavior () + :event yeti-slave-default-event-handler + :enter (behavior () (nav-enemy-neck-control-inactive) (set! (-> self state-time) (-> *display* base-frame-counter)) (if (-> self nav-info move-to-ground) @@ -260,8 +253,7 @@ (set! (-> self collide-info transv y) (rand-vu-float-range 102400.0 114688.0)) (none) ) - :trans - (behavior () + :trans (behavior () (when (and (< (-> self collide-info trans y) (-> self ground-y)) (< (-> self collide-info transv y) 0.0)) (set! (-> self collide-info trans y) (-> self ground-y)) (set! (-> self collide-info transv quad) (-> *null-vector* quad)) @@ -276,8 +268,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! yeti-jump-ja :num! (seek!) :frame-num (ja-aframe 10.0 0)) (until (ja-done? 0) @@ -289,16 +280,13 @@ ) (none) ) - :post - (the-as (function none :behavior yeti-slave) nav-enemy-falling-post) + :post (the-as (function none :behavior yeti-slave) nav-enemy-falling-post) ) ;; failed to figure out what this is: (defstate yeti-slave-appear-land (yeti-slave) - :event - yeti-slave-default-event-handler - :code - (behavior () + :event yeti-slave-default-event-handler + :code (behavior () (ja-channel-push! 1 (seconds 0.05)) (ja-no-eval :group! yeti-jump-land-ja :num! (seek! max 0.5) :frame-num 0.0) (until (ja-done? 0) @@ -311,31 +299,26 @@ ) (none) ) - :post - (the-as (function none :behavior yeti-slave) ja-post) + :post (the-as (function none :behavior yeti-slave) ja-post) ) ;; failed to figure out what this is: (defstate yeti-slave-show-anims (yeti-slave) - :trans - (behavior () + :trans (behavior () 0 (none) ) - :code - (behavior () + :code (behavior () 0 (none) ) - :post - (the-as (function none :behavior yeti-slave) transform-post) + :post (the-as (function none :behavior yeti-slave) transform-post) ) ;; failed to figure out what this is: (defstate nav-enemy-patrol (yeti-slave) :virtual #t - :code - (behavior () + :code (behavior () (cond ((ja-group? yeti-give-up-hop-ja) (ja-channel-push! 1 (seconds 0.15)) @@ -387,15 +370,13 @@ ;; failed to figure out what this is: (defstate nav-enemy-chase (yeti-slave) :virtual #t - :code - (behavior () + :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (cond ((ja-group? yeti-jump-land-ja) (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.17)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info run-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info run-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -423,8 +404,7 @@ ;; failed to figure out what this is: (defstate nav-enemy-stare (yeti-slave) :virtual #t - :code - (behavior () + :code (behavior () (set! (-> self turn-time) (seconds 0.2)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) (when (or (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) @@ -476,8 +456,7 @@ ;; failed to figure out what this is: (defstate nav-enemy-give-up (yeti-slave) :virtual #t - :code - (behavior () + :code (behavior () (set! (-> self rotate-speed) 218453.33) (set! (-> self turn-time) (seconds 0.5)) (ja-channel-push! 1 (seconds 0.15)) @@ -517,12 +496,10 @@ ;; failed to figure out what this is: (defstate nav-enemy-jump-land (yeti-slave) :virtual #t - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek!)) (ja-channel-push! 1 (seconds 0.075)) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info jump-land-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info jump-land-anim)) :num! (seek! (ja-aframe 32.0 0) 0.5) :frame-num 0.0 ) @@ -690,8 +667,7 @@ ;; failed to figure out what this is: (defstate yeti-first-time-start (yeti) - :code - (behavior () + :code (behavior () (loop (when *target* (when (>= (-> self first-time-spawn-dist) (vector-vector-xz-distance (target-pos 0) (-> self root trans))) @@ -707,8 +683,7 @@ ;; failed to figure out what this is: (defstate yeti-resuming-start (yeti) - :code - (behavior () + :code (behavior () (let ((gp-0 0)) (let ((v1-0 (the-as (pointer process-tree) (-> self child-process)))) (while v1-0 @@ -725,15 +700,7 @@ (if (not (TODO-RENAME-20 self s5-0 s4-0)) (go yeti-idle) ) - (let ((s3-0 (get-process *default-dead-pool* yeti-slave #x4000))) - (when s3-0 - (let ((t9-3 (method-of-type yeti-slave activate))) - (t9-3 (the-as yeti-slave s3-0) self 'yeti-slave (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 yeti-slave-init-by-other (-> self entity) self s5-0 s4-0 #t) - (-> s3-0 ppointer) - ) - ) + (process-spawn yeti-slave (-> self entity) self s5-0 s4-0 #t :to self) ) (+! gp-0 1) ) @@ -745,8 +712,7 @@ ;; failed to figure out what this is: (defstate yeti-idle (yeti) - :code - (behavior () + :code (behavior () (loop (cond ((zero? (-> self spawn-delay)) @@ -771,15 +737,7 @@ (s5-0 (new 'stack-no-clear 'vector)) ) (when (TODO-RENAME-20 self gp-0 s5-0) - (let ((s4-0 (get-process *default-dead-pool* yeti-slave #x4000))) - (when s4-0 - (let ((t9-3 (method-of-type yeti-slave activate))) - (t9-3 (the-as yeti-slave s4-0) self 'yeti-slave (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 yeti-slave-init-by-other (-> self entity) self gp-0 s5-0 #f) - (-> s4-0 ppointer) - ) - ) + (process-spawn yeti-slave (-> self entity) self gp-0 s5-0 #f :to self) (set! (-> self spawn-delay) 0) 0 ) diff --git a/test/decompiler/reference/levels/sunken/bully_REF.gc b/test/decompiler/reference/levels/sunken/bully_REF.gc index f136e61af1..04124065fb 100644 --- a/test/decompiler/reference/levels/sunken/bully_REF.gc +++ b/test/decompiler/reference/levels/sunken/bully_REF.gc @@ -95,10 +95,8 @@ ;; definition for symbol *bully-shadow-control*, type shadow-control (define *bully-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #x9)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 614400.0) + :center (new 'static 'vector :w (the-as float #x9)) + :shadow-dir (new 'static 'vector :y -1.0 :w 614400.0) :bot-plane (new 'static 'plane :y 1.0 :w 10240.0) :top-plane (new 'static 'plane :y 1.0 :w -2048.0) :fade-dist 245760.0 @@ -111,14 +109,12 @@ :id 454 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2871) (sp-item 2872) (sp-item 2873) (sp-item 2874) (sp-item 2875)) + :parts ((sp-item 2871) (sp-item 2872) (sp-item 2873) (sp-item 2874) (sp-item 2875)) ) ;; failed to figure out what this is: (defpart 2871 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 0.5) (meters 2) 1.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) @@ -142,14 +138,12 @@ ;; failed to figure out what this is: (defpart 2876 - :init-specs - ((sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 2872 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 1.5)) (sp-rnd-flt spt-scale-x (meters 6) (meters 3) 1.0) @@ -174,14 +168,12 @@ ;; failed to figure out what this is: (defpart 2877 - :init-specs - ((sp-flt spt-fade-a -2.1333334)) + :init-specs ((sp-flt spt-fade-a -2.1333334)) ) ;; failed to figure out what this is: (defpart 2873 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1.5)) (sp-flt spt-scale-x (meters 12)) @@ -198,8 +190,7 @@ ;; failed to figure out what this is: (defpart 2874 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) @@ -228,8 +219,7 @@ ;; failed to figure out what this is: (defpart 2878 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0033333334)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0033333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -3.4) ) @@ -237,8 +227,7 @@ ;; failed to figure out what this is: (defpart 2875 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x2)) (sp-flt spt-num 16.5) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) @@ -267,8 +256,7 @@ ;; failed to figure out what this is: (defstate bully-broken-cage-explode (bully-broken-cage) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 0) (ja-no-eval :group! bully-broken-cage-explode-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -277,8 +265,7 @@ ) (none) ) - :post - (the-as (function none :behavior bully-broken-cage) ja-post) + :post (the-as (function none :behavior bully-broken-cage) ja-post) ) ;; definition for function bully-broken-cage-init-by-other @@ -349,46 +336,29 @@ ) (set-vector! s4-0 (* (sin f26-0) f28-0) 0.0 (* (cos f26-0) f28-0) 1.0) ) - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) self) - (set! (-> a1-8 num-params) 2) - (set! (-> a1-8 message) 'shove) - (set! (-> a1-8 param 0) (-> arg3 param 0)) - (let ((v1-23 (new 'static 'attack-info :mask #x82))) - (set! (-> v1-23 shove-up) f30-0) - (set! (-> v1-23 vector quad) (-> s4-0 quad)) - (set! (-> a1-8 param 1) (the-as uint v1-23)) - ) - (when (send-event-function arg0 a1-8) - (level-hint-spawn - (game-text-id sunken-bully-dive-hint) - "sksp0131" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (set! (-> self bounced?) #t) - (set! v0-0 (the-as none 100)) - (set! (-> self bounce-volume) (the-as int v0-0)) - v0-0 + (when (send-event arg0 'shove (-> arg3 param 0) (static-attack-info ((shove-up f30-0) (vector s4-0)))) + (level-hint-spawn + (game-text-id sunken-bully-dive-hint) + "sksp0131" + (the-as entity #f) + *entity-pool* + (game-task none) ) + (set! (-> self bounced?) #t) + (set! v0-0 (the-as none 100)) + (set! (-> self bounce-volume) (the-as int v0-0)) + v0-0 ) ) ) (else - (let ((f0-21 (fmax 0.6 (* 0.000023935356 (-> self travel-speed)))) - (a1-10 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-10 from) self) - (set! (-> a1-10 num-params) 2) - (set! (-> a1-10 message) 'attack) - (set! (-> a1-10 param 0) (-> arg3 param 0)) - (let ((v1-29 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-29 shove-up) (* 12288.0 f0-21)) - (set! (-> v1-29 shove-back) (* 16384.0 f0-21)) - (set! (-> a1-10 param 1) (the-as uint v1-29)) - ) - (when (send-event-function arg0 a1-10) + (let ((f0-21 (fmax 0.6 (* 0.000023935356 (-> self travel-speed))))) + (when (send-event + arg0 + 'attack + (-> arg3 param 0) + (static-attack-info ((shove-up (* 12288.0 f0-21)) (shove-back (* 16384.0 f0-21)))) + ) (level-hint-spawn (game-text-id sunken-bully-dive-hint) "sksp0131" @@ -412,17 +382,7 @@ (when (= arg2 'touched) (cond ((= (-> arg0 type) target) - (let ((a1-13 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-13 from) self) - (set! (-> a1-13 num-params) 2) - (set! (-> a1-13 message) 'attack) - (set! (-> a1-13 param 0) (-> arg3 param 0)) - (let ((a0-26 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-26 mode) 'explode) - (set! (-> a1-13 param 1) (the-as uint a0-26)) - ) - (send-event-function arg0 a1-13) - ) + (send-event arg0 'attack (-> arg3 param 0) (static-attack-info ((mode 'explode)))) ) (else (let ((a1-14 (new 'stack-no-clear 'event-message-block))) @@ -543,10 +503,8 @@ ;; failed to figure out what this is: (defstate bully-idle (bully) - :event - bully-default-event-handler - :enter - (behavior ((arg0 symbol)) + :event bully-default-event-handler + :enter (behavior ((arg0 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self reaction-delay) (rand-vu-int-range 0 (seconds 0.35))) (set! (-> self travel-speed) 0.0) @@ -557,16 +515,14 @@ 0 (none) ) - :exit - (behavior () + :exit (behavior () (let ((v1-1 (-> self draw shadow-ctrl))) (logclear! (-> v1-1 settings flags) (shadow-flags shdf05)) ) 0 (none) ) - :trans - (behavior () + :trans (behavior () (when (and (and *target* (>= (-> self fact-override idle-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -578,13 +534,11 @@ ) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-channel-push! 1 (seconds 0.075)) (if arg0 (ja :group! bully-idle-ja - :num! - (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) + :num! (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) ) (ja :group! bully-idle-ja :num! min) ) @@ -594,16 +548,13 @@ ) (none) ) - :post - bully-post + :post bully-post ) ;; failed to figure out what this is: (defstate bully-notice (bully) - :event - bully-default-event-handler - :trans - (behavior () + :event bully-default-event-handler + :trans (behavior () (when *target* (if *target* (look-at-enemy! @@ -617,8 +568,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self travel-speed) 0.0) (ja-channel-push! 1 (seconds 0.075)) (set-vector! (-> self root-override transv) 0.0 (rand-vu-float-range 61440.0 90112.0) 0.0 1.0) @@ -656,16 +606,13 @@ (go bully-start-spinning) (none) ) - :post - bully-post + :post bully-post ) ;; failed to figure out what this is: (defstate bully-start-spinning (bully) - :event - bully-default-event-handler - :enter - (behavior () + :event bully-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self start-spin-time) (-> *display* base-frame-counter)) (set! (-> self slow-down) (rand-vu-int-range (seconds 4) (seconds 8))) @@ -681,8 +628,7 @@ (+! (-> self travel-ry) (rand-vu-float-range -910.2222 910.2222)) (none) ) - :trans - (behavior () + :trans (behavior () (when *target* (if *target* (look-at-enemy! @@ -722,8 +668,7 @@ (TODO-RENAME-27 (-> self nav)) (none) ) - :code - (behavior () + :code (behavior () (local-vars (v1-34 symbol) (v1-52 symbol)) (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! bully-start-spin-ja :num! (seek!) :frame-num 0.0) @@ -766,24 +711,20 @@ ) (none) ) - :post - bully-post + :post bully-post ) ;; failed to figure out what this is: (defstate bully-stop-spinning (bully) - :event - bully-default-event-handler - :enter - (behavior () + :event bully-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self reaction-delay) (rand-vu-int-range (seconds 2) (seconds 3))) (set! (-> self travel-speed) 0.0) (set! (-> self bounced?) #f) (none) ) - :trans - (behavior () + :trans (behavior () (when *target* (if *target* (look-at-enemy! @@ -797,8 +738,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (v1-17 symbol) (v1-35 symbol)) (let ((gp-0 2)) (ja-channel-push! 1 (seconds 0.2)) @@ -851,26 +791,16 @@ (go bully-start-spinning) (none) ) - :post - bully-post + :post bully-post ) ;; failed to figure out what this is: (defstate bully-die (bully) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (shut-down! (-> self neck)) (logclear! (-> self mask) (process-mask actor-pause)) - (let ((gp-0 (get-process *default-dead-pool* bully-broken-cage #x4000))) - (when gp-0 - (let ((t9-3 (method-of-type bully-broken-cage activate))) - (t9-3 (the-as bully-broken-cage gp-0) self 'bully-broken-cage (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 bully-broken-cage-init-by-other (-> self entity)) - (-> gp-0 ppointer) - ) - ) + (process-spawn bully-broken-cage (-> self entity) :to self) (spawn (-> self part) (-> self root-override trans)) (clear-collide-with-as (-> self root-override)) (drop-pickup (-> self fact-override) #t *entity-pool* (-> self fact-override) 0) @@ -887,8 +817,7 @@ ) (none) ) - :post - (the-as (function none :behavior bully) transform-post) + :post (the-as (function none :behavior bully) transform-post) ) ;; definition for method 7 of type bully diff --git a/test/decompiler/reference/levels/sunken/double-lurker_REF.gc b/test/decompiler/reference/levels/sunken/double-lurker_REF.gc index 4ced962fca..8ddfb33e48 100644 --- a/test/decompiler/reference/levels/sunken/double-lurker_REF.gc +++ b/test/decompiler/reference/levels/sunken/double-lurker_REF.gc @@ -259,8 +259,7 @@ ;; failed to figure out what this is: (defstate double-lurker-top-on-shoulders (double-lurker-top) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (let ((v1-1 (-> self fall-dest)) @@ -284,8 +283,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (clone-anim-once (ppointer->handle (-> self parent-process)) @@ -302,8 +300,7 @@ ;; failed to figure out what this is: (defstate double-lurker-top-on-shoulders-die (double-lurker-top) - :code - (behavior () + :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! double-lurker-bottom-take-hit-ja :num! (seek!) :frame-num 0.0) @@ -313,33 +310,24 @@ ) (none) ) - :post - (the-as (function none :behavior double-lurker-top) ja-post) + :post (the-as (function none :behavior double-lurker-top) ja-post) ) ;; failed to figure out what this is: (defstate double-lurker-top-knocked-down (double-lurker-top) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'shove) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (let ((v1-4 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-4 shove-up) 12288.0) - (set! (-> v1-4 shove-back) 8192.0) - (set! (-> a1-2 param 1) (the-as uint v1-4)) - ) - (send-event-function arg0 a1-2) + (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 3)) (shove-back (meters 2)))) ) ) ) ) - :code - (behavior ((arg0 object) (arg1 vector) (arg2 vector)) + :code (behavior ((arg0 object) (arg1 vector) (arg2 vector)) (dummy-51 self) (let ((v1-3 (-> self draw shadow-ctrl))) (logclear! (-> v1-3 settings flags) (shadow-flags shdf05)) @@ -370,14 +358,12 @@ (go double-lurker-top-resume) (none) ) - :post - (the-as (function none :behavior double-lurker-top) transform-post) + :post (the-as (function none :behavior double-lurker-top) transform-post) ) ;; failed to figure out what this is: (defstate double-lurker-top-resume (double-lurker-top) - :code - (behavior () + :code (behavior () (cond ((not *target*) (go-virtual nav-enemy-idle) @@ -404,8 +390,7 @@ ;; failed to figure out what this is: (defstate nav-enemy-patrol (double-lurker-top) :virtual #t - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja :group! (-> self draw art-group data (-> self nav-info walk-anim))) (ja :num-func num-func-identity :frame-num 0.0) @@ -421,8 +406,7 @@ ;; failed to figure out what this is: (defstate nav-enemy-die (double-lurker-top) :virtual #t - :enter - (behavior () + :enter (behavior () (let ((v1-2 (-> self entity extra perm))) (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) (set! (-> v1-2 user-int8 1) 1) @@ -584,22 +568,16 @@ ((and (>= (-> s4-0 y) 8192.0) (>= 14563.556 (fabs (deg- (quaternion-y-angle (-> self collide-info quat)) (atan (-> s4-0 x) (-> s4-0 z))))) ) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'shove) - (set! (-> a1-4 param 0) (-> arg3 param 0)) - (let ((v1-13 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-13 shove-up) 12288.0) - (set! (-> v1-13 shove-back) 8192.0) - (set! (-> a1-4 param 1) (the-as uint v1-13)) - ) - (when (send-event-function arg0 a1-4) - (increment-success-for-hint (game-text-id sunken-double-lurker-hint)) - (go double-lurker-buddy-was-hit) - (return #f) - v0-0 - ) + (when (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 3)) (shove-back (meters 2)))) + ) + (increment-success-for-hint (game-text-id sunken-double-lurker-hint)) + (go double-lurker-buddy-was-hit) + (return #f) + v0-0 ) ) (else @@ -609,17 +587,11 @@ (collide-action solid) (collide-action) ) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'shove) - (set! (-> a1-6 param 0) (-> arg3 param 0)) - (let ((v1-23 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-23 shove-up) 12288.0) - (set! (-> v1-23 shove-back) 8192.0) - (set! (-> a1-6 param 1) (the-as uint v1-23)) - ) - (send-event-function arg0 a1-6) + (send-event + arg0 + 'shove + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 3)) (shove-back (meters 2)))) ) ) (level-hint-spawn @@ -649,24 +621,20 @@ ;; failed to figure out what this is: (defstate double-lurker-show-anims (double-lurker) - :trans - (behavior () + :trans (behavior () 0 (none) ) - :code - (behavior () + :code (behavior () 0 (none) ) - :post - (the-as (function none :behavior double-lurker) transform-post) + :post (the-as (function none :behavior double-lurker) transform-post) ) ;; failed to figure out what this is: (defstate double-lurker-resume (double-lurker) - :code - (behavior () + :code (behavior () (cond ((not *target*) (go-virtual nav-enemy-idle) @@ -693,17 +661,14 @@ ;; failed to figure out what this is: (defstate nav-enemy-idle (double-lurker) :virtual #t - :event - double-lurker-default-event-handler + :event double-lurker-default-event-handler ) ;; failed to figure out what this is: (defstate nav-enemy-patrol (double-lurker) :virtual #t - :event - double-lurker-default-event-handler - :code - (behavior () + :event double-lurker-default-event-handler + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja :group! (-> self draw art-group data (-> self nav-info walk-anim))) (ja :num-func num-func-identity :frame-num 0.0) @@ -719,10 +684,8 @@ ;; failed to figure out what this is: (defstate nav-enemy-notice (double-lurker) :virtual #t - :event - double-lurker-default-event-handler - :enter - (behavior () + :event double-lurker-default-event-handler + :enter (behavior () (start-hint-timer (game-text-id sunken-double-lurker-hint)) (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-notice) enter))) (if t9-1 @@ -736,36 +699,31 @@ ;; failed to figure out what this is: (defstate nav-enemy-chase (double-lurker) :virtual #t - :event - double-lurker-default-event-handler + :event double-lurker-default-event-handler ) ;; failed to figure out what this is: (defstate nav-enemy-stop-chase (double-lurker) :virtual #t - :event - double-lurker-default-event-handler + :event double-lurker-default-event-handler ) ;; failed to figure out what this is: (defstate nav-enemy-stare (double-lurker) :virtual #t - :event - double-lurker-default-event-handler + :event double-lurker-default-event-handler ) ;; failed to figure out what this is: (defstate nav-enemy-victory (double-lurker) :virtual #t - :event - double-lurker-default-event-handler + :event double-lurker-default-event-handler ) ;; failed to figure out what this is: (defstate nav-enemy-die (double-lurker) :virtual #t - :enter - (behavior () + :enter (behavior () (let ((v1-2 (-> self entity extra perm))) (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) (set! (-> v1-2 user-int8 0) 1) @@ -782,13 +740,11 @@ ;; failed to figure out what this is: (defstate double-lurker-both-knocked-back (double-lurker) - :enter - (behavior () + :enter (behavior () (set! (-> self knocked-back-speed) 40960.0) (none) ) - :trans - (behavior () + :trans (behavior () (local-vars (at-0 int)) (rlet ((vf0 :class vf) (vf1 :class vf) @@ -917,8 +873,7 @@ (none) ) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! double-lurker-both-take-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -928,8 +883,7 @@ (go double-lurker-resume) (none) ) - :post - (the-as (function none :behavior double-lurker) nav-enemy-simple-post) + :post (the-as (function none :behavior double-lurker) nav-enemy-simple-post) ) ;; definition for method 52 of type double-lurker @@ -1036,8 +990,7 @@ ;; failed to figure out what this is: (defstate double-lurker-buddy-was-hit (double-lurker) - :code - (behavior () + :code (behavior () (set! (-> self buddy-on-shoulders?) #f) (let ((v1-2 (-> self entity extra perm))) (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) @@ -1058,10 +1011,8 @@ ;; failed to figure out what this is: (defstate double-lurker-break-apart (double-lurker) - :event - double-lurker-default-event-handler - :code - (behavior () + :event double-lurker-default-event-handler + :code (behavior () (ja-no-eval :group! double-lurker-both-break-apart-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -1070,19 +1021,16 @@ (go double-lurker-resume) (none) ) - :post - (the-as (function none :behavior double-lurker) nav-enemy-simple-post) + :post (the-as (function none :behavior double-lurker) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate double-lurker-knocked-back (double-lurker) - :enter - (behavior () + :enter (behavior () (set! (-> self knocked-back-speed) 40960.0) (none) ) - :trans - (behavior () + :trans (behavior () (local-vars (at-0 int)) (rlet ((vf0 :class vf) (vf1 :class vf) @@ -1211,8 +1159,7 @@ (none) ) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! double-lurker-bottom-take-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1222,14 +1169,12 @@ (go double-lurker-resume) (none) ) - :post - (the-as (function none :behavior double-lurker) nav-enemy-simple-post) + :post (the-as (function none :behavior double-lurker) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate double-lurker-waiting-to-die (double-lurker) - :code - (behavior () + :code (behavior () (clear-collide-with-as (-> self collide-info)) (logior! (-> self draw status) (draw-status hidden)) (until (not (-> self child)) @@ -1421,26 +1366,11 @@ (if (-> obj buddy-on-shoulders?) (set! (-> s5-0 quad) (-> obj collide-info trans quad)) ) - (let ((s4-0 (get-process *default-dead-pool* double-lurker-top #x4000))) - (set! (-> obj buddy-handle) - (ppointer->handle - (when s4-0 - (let ((t9-6 (method-of-type double-lurker-top activate))) - (t9-6 (the-as double-lurker-top s4-0) obj 'double-lurker-top (the-as pointer #x70004000)) - ) - (run-now-in-process - s4-0 - double-lurker-top-init-by-other - (-> obj entity) - obj - (-> obj buddy-on-shoulders?) - s5-0 - ) - (-> s4-0 ppointer) - ) - ) + (set! (-> obj buddy-handle) + (ppointer->handle + (process-spawn double-lurker-top (-> obj entity) obj (-> obj buddy-on-shoulders?) s5-0 :to obj) ) - ) + ) ) ) (when (and (not (-> obj dead?)) (not (-> obj buddy-on-shoulders?))) diff --git a/test/decompiler/reference/levels/sunken/floating-launcher_REF.gc b/test/decompiler/reference/levels/sunken/floating-launcher_REF.gc index a9887e044f..92a7f48754 100644 --- a/test/decompiler/reference/levels/sunken/floating-launcher_REF.gc +++ b/test/decompiler/reference/levels/sunken/floating-launcher_REF.gc @@ -37,10 +37,8 @@ ;; failed to figure out what this is: (defstate floating-launcher-idle (floating-launcher) - :event - (the-as (function process int symbol event-message-block object :behavior floating-launcher) plat-event) - :trans - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior floating-launcher) plat-event) + :trans (behavior () (plat-trans) (when (< (vector-xz-length (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root-override trans))) 81920.0 @@ -53,8 +51,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (transform-post) (suspend) (transform-post) @@ -64,18 +61,14 @@ ) (none) ) - :post - (the-as (function none :behavior floating-launcher) plat-post) + :post (the-as (function none :behavior floating-launcher) plat-post) ) ;; failed to figure out what this is: (defstate floating-launcher-lowering (floating-launcher) - :event - (the-as (function process int symbol event-message-block object :behavior floating-launcher) plat-event) - :trans - (the-as (function none :behavior floating-launcher) plat-trans) - :code - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior floating-launcher) plat-event) + :trans (the-as (function none :behavior floating-launcher) plat-trans) + :code (behavior () (let ((a0-1 (entity-actor-lookup (-> self entity) 'alt-actor 0))) (if a0-1 (entity-birth-no-kill a0-1) @@ -96,20 +89,15 @@ (go floating-launcher-ready) (none) ) - :post - (the-as (function none :behavior floating-launcher) plat-post) + :post (the-as (function none :behavior floating-launcher) plat-post) ) ;; failed to figure out what this is: (defstate floating-launcher-ready (floating-launcher) - :event - (the-as (function process int symbol event-message-block object :behavior floating-launcher) plat-event) - :trans - (the-as (function none :behavior floating-launcher) plat-trans) - :code - (the-as (function none :behavior floating-launcher) plat-code) - :post - (the-as (function none :behavior floating-launcher) plat-post) + :event (the-as (function process int symbol event-message-block object :behavior floating-launcher) plat-event) + :trans (the-as (function none :behavior floating-launcher) plat-trans) + :code (the-as (function none :behavior floating-launcher) plat-code) + :post (the-as (function none :behavior floating-launcher) plat-post) ) ;; definition for method 11 of type floating-launcher @@ -140,21 +128,8 @@ (set! (-> obj path) (new 'process 'path-control obj 'path 0.0)) (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (eval-path-curve-div! (-> obj path) (-> obj root-override trans) 1.0 'interp) - (let ((f30-0 (res-lump-float arg0 'spring-height :default 163840.0)) - (s4-1 (get-process *default-dead-pool* launcher #x4000)) - ) - (set! (-> obj launcher) - (the-as - (pointer launcher) - (when s4-1 - (let ((t9-11 (method-of-type launcher activate))) - (t9-11 (the-as launcher s4-1) obj 'launcher (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 launcher-init-by-other (-> obj root-override trans) f30-0 0 81920.0) - (-> s4-1 ppointer) - ) - ) - ) + (let ((f30-0 (res-lump-float arg0 'spring-height :default 163840.0))) + (set! (-> obj launcher) (process-spawn launcher (-> obj root-override trans) f30-0 0 81920.0 :to obj)) ) (initialize-skeleton obj *floating-launcher-sg* '()) (logior! (-> obj skel status) (janim-status inited)) diff --git a/test/decompiler/reference/levels/sunken/helix-water_REF.gc b/test/decompiler/reference/levels/sunken/helix-water_REF.gc index 6a2cdee8a1..ad61e48320 100644 --- a/test/decompiler/reference/levels/sunken/helix-water_REF.gc +++ b/test/decompiler/reference/levels/sunken/helix-water_REF.gc @@ -131,8 +131,7 @@ ;; failed to figure out what this is: (defstate water-vol-idle (helix-dark-eco) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (let ((a0-1 (-> self sound))) @@ -145,8 +144,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (let ((t9-0 (-> (method-of-type dark-eco-pool water-vol-idle) enter))) (if t9-0 (t9-0) @@ -158,8 +156,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((t9-0 (-> (method-of-type dark-eco-pool water-vol-idle) trans))) (if t9-0 (t9-0) @@ -168,8 +165,7 @@ (update! (-> self sound)) (none) ) - :post - (behavior () + :post (behavior () (let ((t9-0 (-> (method-of-type dark-eco-pool water-vol-idle) post))) (if t9-0 ((the-as (function none :behavior helix-dark-eco) t9-0)) @@ -182,16 +178,14 @@ ;; failed to figure out what this is: (defstate helix-slide-door-idle-open (helix-slide-door) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go helix-slide-door-close) ) ) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) @@ -201,8 +195,7 @@ ;; failed to figure out what this is: (defstate helix-slide-door-close (helix-slide-door) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -212,14 +205,12 @@ (go helix-slide-door-idle-closed) (none) ) - :post - (the-as (function none :behavior helix-slide-door) transform-post) + :post (the-as (function none :behavior helix-slide-door) transform-post) ) ;; failed to figure out what this is: (defstate helix-slide-door-idle-closed (helix-slide-door) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -266,8 +257,7 @@ ;; failed to figure out what this is: (defstate helix-button-startup (helix-button) - :code - (behavior () + :code (behavior () (when (not (task-complete? *game-info* (game-task sunken-slide))) (let ((a0-1 (new 'stack-no-clear 'vector))) (set! (-> a0-1 quad) (-> self root-override trans quad)) @@ -296,8 +286,7 @@ ;; failed to figure out what this is: (defstate helix-button-idle-up (helix-button) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch) (when *target* @@ -318,8 +307,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -330,10 +318,8 @@ ;; failed to figure out what this is: (defstate helix-button-activate (helix-button) - :trans - (the-as (function none :behavior helix-button) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior helix-button) rider-trans) + :code (behavior () (local-vars (v1-7 symbol)) (let ((a0-1 (handle->process (-> self fcell-handle)))) (when a0-1 @@ -489,16 +475,13 @@ (go helix-button-idle-down) (none) ) - :post - (the-as (function none :behavior helix-button) rider-post) + :post (the-as (function none :behavior helix-button) rider-post) ) ;; failed to figure out what this is: (defstate helix-button-quick-activate (helix-button) - :trans - (the-as (function none :behavior helix-button) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior helix-button) rider-trans) + :code (behavior () (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) self) (set! (-> a1-0 num-params) 0) @@ -573,14 +556,12 @@ (go helix-button-idle-down) (none) ) - :post - (the-as (function none :behavior helix-button) rider-post) + :post (the-as (function none :behavior helix-button) rider-post) ) ;; failed to figure out what this is: (defstate helix-button-idle-down (helix-button) - :code - (behavior () + :code (behavior () (loop (suspend) ) @@ -684,8 +665,7 @@ ;; failed to figure out what this is: (defstate helix-water-idle (helix-water) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'trigger) @@ -698,8 +678,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self root trans y) (-> self start-y)) (set! (-> self last-alt-actor-consumed) -1) (set! (-> self transv-y) 9216.0) @@ -711,14 +690,12 @@ ) (none) ) - :post - (the-as (function none :behavior helix-water) ja-post) + :post (the-as (function none :behavior helix-water) ja-post) ) ;; failed to figure out what this is: (defstate helix-water-activated (helix-water) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('notify) (when (= (-> arg0 type) launcherdoor) @@ -728,8 +705,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (seek! (-> self root scale y) 0.8 (* 0.667 (-> *display* seconds-per-frame))) (when *target* (let ((f0-4 (-> (target-pos 0) y))) @@ -759,8 +735,7 @@ (dummy-21 self) (none) ) - :code - (behavior () + :code (behavior () (send-event (ppointer->process (-> self dark-eco)) 'trigger) (loop (logior! (-> self mask) (process-mask sleep-code)) @@ -768,8 +743,7 @@ ) (none) ) - :post - (the-as (function none :behavior helix-water) ja-post) + :post (the-as (function none :behavior helix-water) ja-post) ) ;; definition for method 7 of type helix-water @@ -801,20 +775,7 @@ ) ) (set! (-> obj root trans y) (-> obj start-y)) - (let ((s5-1 (get-process *default-dead-pool* helix-dark-eco #x4000))) - (set! (-> obj dark-eco) - (the-as - (pointer helix-dark-eco) - (when s5-1 - (let ((t9-6 (method-of-type helix-dark-eco activate))) - (t9-6 (the-as helix-dark-eco s5-1) obj 'helix-dark-eco (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 water-vol-init-by-other (-> obj entity)) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> obj dark-eco) (process-spawn helix-dark-eco :init water-vol-init-by-other (-> obj entity) :to obj)) (set! *helix-water* obj) (go helix-water-idle) (none) diff --git a/test/decompiler/reference/levels/sunken/orbit-plat_REF.gc b/test/decompiler/reference/levels/sunken/orbit-plat_REF.gc index b34ed857d7..64ef175271 100644 --- a/test/decompiler/reference/levels/sunken/orbit-plat_REF.gc +++ b/test/decompiler/reference/levels/sunken/orbit-plat_REF.gc @@ -89,8 +89,7 @@ (defpartgroup group-orbit-plat-jet :id 440 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1715 :fade-after (meters 100) :falloff-to (meters 120) :period 150 :length 75) + :parts ((sp-item 1715 :fade-after (meters 100) :falloff-to (meters 120) :period 150 :length 75) (sp-item 1715 :fade-after (meters 100) :falloff-to (meters 120) :period 75 :length 96) (sp-item 1715 :fade-after (meters 140) :falloff-to (meters 160) :period 90 :length 60) (sp-item 1716 :fade-after (meters 100) :falloff-to (meters 100)) @@ -99,8 +98,7 @@ ;; failed to figure out what this is: (defpart 1716 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -122,8 +120,7 @@ ;; failed to figure out what this is: (defpart 1715 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-sound (static-sound-spec "steam-medium" :num 0.05 :volume 80.0)) (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.75) 1.0) @@ -147,8 +144,7 @@ ;; failed to figure out what this is: (defpart 1717 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 3.0 1.0) (sp-rnd-flt spt-scale-x (meters 1.7) (meters 0.3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -194,8 +190,7 @@ ;; failed to figure out what this is: (defstate orbit-plat-bottom-idle (orbit-plat-bottom) - :code - (behavior () + :code (behavior () (loop (set! (-> self root trans quad) (-> self parent-override 0 root-override trans quad)) (set! (-> self root trans y) (+ -5324.8 (-> self root trans y))) @@ -266,8 +261,7 @@ ) (none) ) - :post - (the-as (function none :behavior orbit-plat-bottom) ja-post) + :post (the-as (function none :behavior orbit-plat-bottom) ja-post) ) ;; definition for method 7 of type orbit-plat-bottom @@ -310,8 +304,7 @@ ;; failed to figure out what this is: (defstate orbit-plat-idle (orbit-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'bonk) @@ -347,10 +340,8 @@ ) ) ) - :trans - (the-as (function none :behavior orbit-plat) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior orbit-plat) plat-trans) + :code (behavior () (set! (-> self plat-status) (the-as uint 0)) (ja-no-eval :num! (seek! 0.0)) (dotimes (gp-0 2) @@ -403,8 +394,7 @@ ) (none) ) - :post - (the-as (function none :behavior orbit-plat) plat-post) + :post (the-as (function none :behavior orbit-plat) plat-post) ) ;; definition for method 28 of type orbit-plat @@ -430,8 +420,7 @@ ;; failed to figure out what this is: (defstate orbit-plat-still (orbit-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'bonk) @@ -444,10 +433,8 @@ ) ) ) - :trans - (the-as (function none :behavior orbit-plat) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior orbit-plat) plat-trans) + :code (behavior () (set! (-> self plat-status) (the-as uint 0)) (set! (-> self state-time) (-> *display* base-frame-counter)) (ja-no-eval :num! (seek! 0.0)) @@ -478,18 +465,14 @@ (go orbit-plat-idle) (none) ) - :post - (the-as (function none :behavior orbit-plat) plat-post) + :post (the-as (function none :behavior orbit-plat) plat-post) ) ;; failed to figure out what this is: (defstate orbit-plat-riding (orbit-plat) - :event - (the-as (function process int symbol event-message-block object :behavior orbit-plat) plat-event) - :trans - (the-as (function none :behavior orbit-plat) plat-trans) - :code - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior orbit-plat) plat-event) + :trans (the-as (function none :behavior orbit-plat) plat-trans) + :code (behavior () (set! (-> self plat-status) (the-as uint 1)) (ja-no-eval :num! (seek!)) (loop @@ -518,8 +501,7 @@ ) (none) ) - :post - (the-as (function none :behavior orbit-plat) plat-post) + :post (the-as (function none :behavior orbit-plat) plat-post) ) ;; definition for function get-rotate-point! @@ -562,8 +544,7 @@ ;; failed to figure out what this is: (defstate orbit-plat-rotating (orbit-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'bonk) @@ -576,10 +557,8 @@ ) ) ) - :trans - (the-as (function none :behavior orbit-plat) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior orbit-plat) plat-trans) + :code (behavior () (set! (-> self plat-status) (the-as uint 2)) (set! (-> self is-reset?) #f) (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -624,8 +603,7 @@ (b! #t cfg-3 :delay (nop!)) (none) ) - :post - (the-as (function none :behavior orbit-plat) plat-post) + :post (the-as (function none :behavior orbit-plat) plat-post) ) ;; definition for method 27 of type orbit-plat @@ -783,8 +761,7 @@ ;; failed to figure out what this is: (defstate orbit-plat-reset (orbit-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'bonk) @@ -797,10 +774,8 @@ ) ) ) - :trans - (the-as (function none :behavior orbit-plat) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior orbit-plat) plat-trans) + :code (behavior () (set! (-> self plat-status) (the-as uint 3)) (logclear! (-> self nav flags) (nav-control-flags navcf19)) (ja-no-eval :num! (seek! 0.0)) @@ -833,14 +808,12 @@ (go orbit-plat-idle) (none) ) - :post - (the-as (function none :behavior orbit-plat) plat-post) + :post (the-as (function none :behavior orbit-plat) plat-post) ) ;; failed to figure out what this is: (defstate orbit-plat-wait-for-other (orbit-plat) - :code - (behavior () + :code (behavior () (set! (-> self plat-status) (the-as uint 0)) (ja-no-eval :num! (seek! 0.0)) (loop @@ -859,8 +832,7 @@ ) (none) ) - :post - (the-as (function none :behavior orbit-plat) ja-post) + :post (the-as (function none :behavior orbit-plat) ja-post) ) ;; definition for method 11 of type orbit-plat @@ -915,15 +887,7 @@ (set! (-> obj rot-dir) 1.0) (set! (-> obj reset-trans quad) (-> obj basetrans quad)) (set! (-> obj is-reset?) #t) - (let ((s5-1 (get-process *default-dead-pool* orbit-plat-bottom #x4000))) - (when s5-1 - (let ((t9-18 (method-of-type orbit-plat-bottom activate))) - (t9-18 (the-as orbit-plat-bottom s5-1) obj 'orbit-plat-bottom (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 orbit-plat-bottom-init-by-other (-> obj entity) obj) - (-> s5-1 ppointer) - ) - ) + (process-spawn orbit-plat-bottom (-> obj entity) obj :to obj) (go orbit-plat-wait-for-other) (none) ) diff --git a/test/decompiler/reference/levels/sunken/puffer_REF.gc b/test/decompiler/reference/levels/sunken/puffer_REF.gc index a5fca12edf..c79a2f9a81 100644 --- a/test/decompiler/reference/levels/sunken/puffer_REF.gc +++ b/test/decompiler/reference/levels/sunken/puffer_REF.gc @@ -142,21 +142,15 @@ (return (the-as object #t)) ) (when (= (-> arg0 type) target) - (let ((a1-9 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-9 from) self) - (set! (-> a1-9 num-params) 2) - (set! (-> a1-9 message) 'attack) - (set! (-> a1-9 param 0) (-> arg3 param 0)) - (let ((v1-19 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-19 shove-up) 6144.0) - (set! (-> v1-19 shove-back) 10240.0) - (set! (-> a1-9 param 1) (the-as uint v1-19)) - ) - (when (send-event-function arg0 a1-9) - (set! (-> self hit-player?) #t) - (set! (-> self hit-player-time) (-> *display* base-frame-counter)) - (set-collide-offense (-> self root-override) 2 (collide-offense no-offense)) - ) + (when (send-event + arg0 + 'attack + (-> arg3 param 0) + (static-attack-info ((shove-up (meters 1.5)) (shove-back (meters 2.5)))) + ) + (set! (-> self hit-player?) #t) + (set! (-> self hit-player-time) (-> *display* base-frame-counter)) + (set-collide-offense (-> self root-override) 2 (collide-offense no-offense)) ) ) ) @@ -624,10 +618,8 @@ ;; failed to figure out what this is: (defstate puffer-idle (puffer) - :event - puffer-default-event-handler - :enter - (behavior () + :event puffer-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self attacking?) #f) (shut-down! (-> self neck)) @@ -637,8 +629,7 @@ 0 (none) ) - :code - (behavior () + :code (behavior () (loop (if (and (and *target* (>= (-> self fact-info-override idle-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) @@ -654,16 +645,13 @@ ) (none) ) - :post - puffer-post + :post puffer-post ) ;; failed to figure out what this is: (defstate puffer-patrol (puffer) - :event - puffer-default-event-handler - :enter - (behavior () + :event puffer-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self attacking?) #f) (set! (-> self reaction-delay) (rand-vu-int-range (seconds 0.1) (seconds 0.35))) @@ -675,8 +663,7 @@ (set! (-> self last-on-screen-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (not (and *target* (>= (-> self fact-info-override idle-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -724,38 +711,32 @@ (dummy-28 self) (none) ) - :code - (behavior () + :code (behavior () (loop (dummy-26 self) (suspend) ) (none) ) - :post - puffer-post + :post puffer-post ) ;; failed to figure out what this is: (defstate puffer-attack (puffer) - :event - puffer-default-event-handler - :enter - (behavior () + :event puffer-default-event-handler + :enter (behavior () (set! (-> self attacking?) #t) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self travel-turn-speed) 21845.334) (none) ) - :exit - (behavior () + :exit (behavior () (shut-down! (-> self neck)) (set! (-> self attacking?) #f) (set! (-> self travel-turn-speed) 16384.0) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (dummy-25 self (-> self give-up-dist))) (go puffer-patrol) ) @@ -779,22 +760,19 @@ (dummy-28 self) (none) ) - :code - (behavior () + :code (behavior () (loop (dummy-26 self) (suspend) ) (none) ) - :post - puffer-post + :post puffer-post ) ;; failed to figure out what this is: (defstate puffer-die (puffer) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as uint @@ -812,8 +790,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (shut-down! (-> self neck)) (logclear! (-> self mask) (process-mask actor-pause)) @@ -826,8 +803,7 @@ ) (none) ) - :post - (the-as (function none :behavior puffer) ja-post) + :post (the-as (function none :behavior puffer) ja-post) ) ;; definition for method 21 of type puffer diff --git a/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc b/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc index 2b8138837a..87aa317006 100644 --- a/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc +++ b/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc @@ -141,16 +141,14 @@ ;; failed to figure out what this is: (defstate qbert-plat-on-mimic (qbert-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('die) (go qbert-plat-on-die) ) ) ) - :code - (behavior () + :code (behavior () (set-vector! (-> self draw color-emissive) 0.0 0.0 1.0 0.0) (loop (let ((gp-0 (-> self parent))) @@ -169,14 +167,12 @@ ) (none) ) - :post - (the-as (function none :behavior qbert-plat) ja-post) + :post (the-as (function none :behavior qbert-plat) ja-post) ) ;; failed to figure out what this is: (defstate qbert-plat-on-die (qbert-plat) - :code - (behavior () + :code (behavior () '() (none) ) @@ -240,15 +236,7 @@ (set! (-> obj on?) v1-3) (cond (v1-3 - (let ((s5-0 (get-process *default-dead-pool* qbert-plat-on #x4000))) - (when s5-0 - (let ((t9-2 (method-of-type qbert-plat-on activate))) - (t9-2 (the-as qbert-plat-on s5-0) obj 'qbert-plat-on (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 qbert-plat-on-init-by-other (-> obj entity) obj) - (-> s5-0 ppointer) - ) - ) + (process-spawn qbert-plat-on (-> obj entity) obj :to obj) (sound-play-by-name (static-sound-name "plat-light-on") (new-sound-id) 1024 0 0 1 #t) ) (else @@ -269,8 +257,7 @@ ;; failed to figure out what this is: (defstate qbert-plat-wait-for-master (qbert-plat) - :code - (behavior () + :code (behavior () (loop (let ((v1-0 (-> self master))) (when (if v1-0 @@ -286,40 +273,33 @@ ) (none) ) - :post - (the-as (function none :behavior qbert-plat) ja-post) + :post (the-as (function none :behavior qbert-plat) ja-post) ) ;; failed to figure out what this is: (defstate rigid-body-platform-idle (qbert-plat) :virtual #t - :event - qbert-plat-event-handler - :code - (behavior () + :event qbert-plat-event-handler + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior qbert-plat) ja-post) + :post (the-as (function none :behavior qbert-plat) ja-post) ) ;; failed to figure out what this is: (defstate rigid-body-platform-float (qbert-plat) :virtual #t - :event - qbert-plat-event-handler - :exit - (behavior () + :event qbert-plat-event-handler + :exit (behavior () (if (-> self on?) (logior! (-> self draw status) (draw-status hidden)) ) (none) ) - :trans - (behavior () + :trans (behavior () (logclear! (-> self draw status) (draw-status hidden)) ((-> (method-of-type rigid-body-platform rigid-body-platform-float) trans)) (let* ((v1-5 (-> self root-overlay riders)) @@ -334,8 +314,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () ((the-as (function none :behavior qbert-plat) (-> (method-of-type rigid-body-platform rigid-body-platform-float) post) @@ -453,8 +432,7 @@ ;; failed to figure out what this is: (defstate qbert-plat-master-idle (qbert-plat-master) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (start-hint-timer (game-text-id sunken-qbert-plat-hint)) @@ -489,8 +467,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (when (not (-> self puzzle-beaten?)) (when (task-complete? *game-info* (game-task sunken-platforms)) @@ -617,8 +594,7 @@ ;; failed to figure out what this is: (defstate qbert-plat-master-do-door (qbert-plat-master) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (when (not (-> self play-door-cam?)) (cond (arg0 @@ -692,48 +668,14 @@ (cond (arg0 (ambient-hint-spawn "gamcam08" (the-as vector #f) *entity-pool* 'camera) - (let ((s5-0 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-0 - (let ((t9-7 (method-of-type pov-camera activate))) - (t9-7 (the-as pov-camera s5-0) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) - (-> s5-0 ppointer) - ) - ) + (process-spawn pov-camera (-> self root trans) *sunkencam-sg* "qbert-show-door-open" 0 #f '() :to self) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1.4)) (suspend) ) ) (else (ambient-hint-spawn "gamcam07" (the-as vector #f) *entity-pool* 'camera) - (let ((s5-1 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-1 - (let ((t9-11 (method-of-type pov-camera activate))) - (t9-11 (the-as pov-camera s5-1) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-close" - 0 - #f - '() - ) - (-> s5-1 ppointer) - ) - ) + (process-spawn pov-camera (-> self root trans) *sunkencam-sg* "qbert-show-door-close" 0 #f '() :to self) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) (suspend) ) @@ -813,8 +755,7 @@ ;; failed to figure out what this is: (defstate qbert-plat-master-wait-for-door (qbert-plat-master) - :code - (behavior () + :code (behavior () (loop (let* ((v1-0 (-> self door)) (gp-0 (if v1-0 diff --git a/test/decompiler/reference/levels/sunken/shover_REF.gc b/test/decompiler/reference/levels/sunken/shover_REF.gc index be3e421a6d..3ac9d9bb30 100644 --- a/test/decompiler/reference/levels/sunken/shover_REF.gc +++ b/test/decompiler/reference/levels/sunken/shover_REF.gc @@ -34,8 +34,7 @@ ;; failed to figure out what this is: (defstate shover-idle (shover) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (when (= (-> arg0 type) target) @@ -54,51 +53,36 @@ *entity-pool* (game-task none) ) - (cond - ((or (= (-> *target* control unknown-surface00 mode) 'air) - (>= (+ (-> *display* base-frame-counter) (seconds -0.2)) (-> *target* control unknown-dword11)) - (< 0.75 (-> *target* control poly-normal y)) - ) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'attack-or-shove) - (set! (-> a1-6 param 0) (-> arg3 param 0)) - (let ((v1-22 (new 'static 'attack-info :mask #xa2))) - (set! (-> v1-22 mode) 'burn) - (set! (-> v1-22 vector quad) (-> s4-0 vector quad)) - (set! (-> v1-22 shove-up) (-> s4-0 shove-up)) - (set! (-> a1-6 param 1) (the-as uint v1-22)) - ) - (send-event-function arg0 a1-6) - ) - ) - (else - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'attack-or-shove) - (set! (-> a1-7 param 0) (-> arg3 param 0)) - (let ((v1-26 (new 'static 'attack-info :mask #x8e2))) - (set! (-> v1-26 mode) 'burn) - (set! (-> v1-26 shove-up) 0.0) - (set! (-> v1-26 shove-back) 8192.0) - (set! (-> v1-26 vector quad) (-> *target* control poly-normal quad)) - (set! (-> v1-26 angle) 'shove) - (set! (-> a1-7 param 1) (the-as uint v1-26)) + (if (or (= (-> *target* control unknown-surface00 mode) 'air) + (>= (+ (-> *display* base-frame-counter) (seconds -0.2)) (-> *target* control unknown-dword11)) + (< 0.75 (-> *target* control poly-normal y)) ) - (send-event-function arg0 a1-7) + (send-event + arg0 + 'attack-or-shove + (-> arg3 param 0) + (static-attack-info ((mode 'burn) (vector (-> s4-0 vector)) (shove-up (-> s4-0 shove-up)))) + ) + (send-event + arg0 + 'attack-or-shove + (-> arg3 param 0) + (static-attack-info ((mode 'burn) + (shove-up (meters 0)) + (shove-back (meters 2)) + (vector (-> *target* control poly-normal)) + (angle 'shove) + ) + ) ) ) - ) ) ) ) ) ) ) - :code - (the-as (function none :behavior shover) anim-loop) + :code (the-as (function none :behavior shover) anim-loop) ) ;; definition for method 11 of type shover diff --git a/test/decompiler/reference/levels/sunken/square-platform_REF.gc b/test/decompiler/reference/levels/sunken/square-platform_REF.gc index 93fa302fcc..a131267e83 100644 --- a/test/decompiler/reference/levels/sunken/square-platform_REF.gc +++ b/test/decompiler/reference/levels/sunken/square-platform_REF.gc @@ -116,14 +116,12 @@ :id 437 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2222 :flags (is-3d)) (sp-item 2315 :flags (is-3d))) + :parts ((sp-item 2222 :flags (is-3d)) (sp-item 2315 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 2222 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters 0) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 3.5) (meters 3.5) 1.0) @@ -148,14 +146,12 @@ ;; failed to figure out what this is: (defpart 2316 - :init-specs - ((sp-flt spt-fade-a -0.17066666)) + :init-specs ((sp-flt spt-fade-a -0.17066666)) ) ;; failed to figure out what this is: (defpart 2315 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters 3) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -183,14 +179,12 @@ :id 438 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2223)) + :parts ((sp-item 2223)) ) ;; failed to figure out what this is: (defpart 2223 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -4) (meters 8) 1.0) (sp-rnd-flt spt-z (meters -4) (meters 8) 1.0) @@ -214,8 +208,7 @@ ;; failed to figure out what this is: (defpart 2317 - :init-specs - ((sp-flt spt-fade-a 0.0)) + :init-specs ((sp-flt spt-fade-a 0.0)) ) ;; failed to figure out what this is: @@ -223,8 +216,7 @@ :id 439 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2222 :flags (is-3d)) (sp-item 2315 :flags (is-3d))) + :parts ((sp-item 2222 :flags (is-3d)) (sp-item 2315 :flags (is-3d))) ) ;; definition for method 27 of type square-platform @@ -317,8 +309,7 @@ ;; failed to figure out what this is: (defstate square-platform-lowered (square-platform) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (if (and (= (-> arg0 type) square-platform-master) @@ -329,8 +320,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self pos-u) 0.0) (loop (logior! (-> self mask) (process-mask sleep-code)) @@ -342,8 +332,7 @@ ;; failed to figure out what this is: (defstate square-platform-rising (square-platform) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((or (= v1-0 'bonk) (= v1-0 'bounce)) @@ -356,15 +345,13 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self start-splash-time) 0) (set! (-> self splash-counter) 0) 0 (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self pos-u) (seek-with-smooth (-> self pos-u) 1.0 (/ 1.0 (* 0.75 (-> *display* frames-per-second))) 0.8 0.01) ) @@ -377,22 +364,19 @@ (TODO-RENAME-27 self #t) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) (none) ) - :post - (the-as (function none :behavior square-platform) plat-post) + :post (the-as (function none :behavior square-platform) plat-post) ) ;; failed to figure out what this is: (defstate square-platform-raised (square-platform) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((or (= v1-0 'bonk) (= v1-0 'bounce)) @@ -405,10 +389,8 @@ ) ) ) - :trans - (the-as (function none :behavior square-platform) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior square-platform) plat-trans) + :code (behavior () (set! (-> self pos-u) 1.0) (loop (logior! (-> self mask) (process-mask sleep-code)) @@ -416,14 +398,12 @@ ) (none) ) - :post - (the-as (function none :behavior square-platform) plat-post) + :post (the-as (function none :behavior square-platform) plat-post) ) ;; failed to figure out what this is: (defstate square-platform-lowering (square-platform) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((or (= v1-0 'bonk) (= v1-0 'bounce)) @@ -433,22 +413,20 @@ (go square-platform-rising) ) ((= v1-0 'touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) #f ) ) ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self start-splash-time) 0) (set! (-> self splash-counter) 0) 0 (none) ) - :trans - (behavior () + :trans (behavior () (set! (-> self pos-u) (seek-with-smooth (-> self pos-u) 0.0 (/ 1.0 (* 0.75 (-> *display* frames-per-second))) 0.8 0.01) ) @@ -461,16 +439,14 @@ (TODO-RENAME-27 self #f) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) (none) ) - :post - (the-as (function none :behavior square-platform) plat-post) + :post (the-as (function none :behavior square-platform) plat-post) ) ;; definition for method 10 of type square-platform @@ -582,8 +558,7 @@ ;; failed to figure out what this is: (defstate square-platform-master-idle (square-platform-master) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (when (= (-> arg0 type) square-platform-button) @@ -595,8 +570,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 @@ -606,8 +580,7 @@ ;; failed to figure out what this is: (defstate square-platform-master-activate (square-platform-master) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self wiggled?) #f) (sleep (-> self ticker) (-> self timeout)) @@ -618,95 +591,71 @@ (let ((v1-7 (-> self button-id))) (cond ((zero? v1-7) - (let* ((s5-0 (get-process *default-dead-pool* sunkencam #x4000)) - (a0-4 (when s5-0 - (let ((t9-3 (method-of-type sunkencam activate))) - (t9-3 (the-as sunkencam s5-0) self 'sunkencam (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) - (-> s5-0 ppointer) - ) - ) - ) + (let ((a0-4 (process-spawn + sunkencam + :init pov-camera-init-by-other + (-> self root trans) + *sunkencam-sg* + "qbert-show-door-open" + 0 + #f + '() + :to self + ) + ) + ) (set! (-> (the-as sunkencam (-> a0-4 0)) seq) (the-as uint 3)) ) ) ((= v1-7 1) - (let* ((gp-1 (get-process *default-dead-pool* sunkencam #x4000)) - (v1-13 (when gp-1 - (let ((t9-6 (method-of-type sunkencam activate))) - (t9-6 (the-as sunkencam gp-1) self 'sunkencam (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) - (-> gp-1 ppointer) - ) - ) - ) + (let ((v1-13 (process-spawn + sunkencam + :init pov-camera-init-by-other + (-> self root trans) + *sunkencam-sg* + "qbert-show-door-open" + 0 + #f + '() + :to self + ) + ) + ) (set! (-> (the-as sunkencam (-> v1-13 0)) seq) (the-as uint 4)) ) (set! gp-0 -1) ) ((= v1-7 2) - (let* ((s5-1 (get-process *default-dead-pool* sunkencam #x4000)) - (a0-17 (when s5-1 - (let ((t9-9 (method-of-type sunkencam activate))) - (t9-9 (the-as sunkencam s5-1) self 'sunkencam (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) - (-> s5-1 ppointer) - ) - ) - ) + (let ((a0-17 (process-spawn + sunkencam + :init pov-camera-init-by-other + (-> self root trans) + *sunkencam-sg* + "qbert-show-door-open" + 0 + #f + '() + :to self + ) + ) + ) (set! (-> (the-as sunkencam (-> a0-17 0)) seq) (the-as uint 5)) ) ) ((= v1-7 3) - (let* ((gp-2 (get-process *default-dead-pool* sunkencam #x4000)) - (v1-24 (when gp-2 - (let ((t9-12 (method-of-type sunkencam activate))) - (t9-12 (the-as sunkencam gp-2) self 'sunkencam (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-2 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) - (-> gp-2 ppointer) - ) - ) - ) + (let ((v1-24 (process-spawn + sunkencam + :init pov-camera-init-by-other + (-> self root trans) + *sunkencam-sg* + "qbert-show-door-open" + 0 + #f + '() + :to self + ) + ) + ) (set! (-> (the-as sunkencam (-> v1-24 0)) seq) (the-as uint 6)) ) (set! gp-0 -1) @@ -720,14 +669,12 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :trans - (behavior () + :trans (behavior () (when (completed? (-> self ticker)) (send-to-all (-> self link) 'untrigger) (go square-platform-master-idle) @@ -768,8 +715,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 diff --git a/test/decompiler/reference/levels/sunken/steam-cap_REF.gc b/test/decompiler/reference/levels/sunken/steam-cap_REF.gc index 88d90e3a6f..a36356b1cf 100644 --- a/test/decompiler/reference/levels/sunken/steam-cap_REF.gc +++ b/test/decompiler/reference/levels/sunken/steam-cap_REF.gc @@ -72,8 +72,7 @@ (defpartgroup group-steam-cap-sides :id 441 :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 1718 :fade-after (meters 100) :falloff-to (meters 160) :period 180 :length 75) + :parts ((sp-item 1718 :fade-after (meters 100) :falloff-to (meters 160) :period 180 :length 75) (sp-item 1719 :fade-after (meters 100) :falloff-to (meters 160) :period 180 :length 75 :offset 60) (sp-item 1720 :fade-after (meters 100) :falloff-to (meters 160) :period 180 :length 75 :offset 120) (sp-item 1721 :fade-after (meters 100) :falloff-to (meters 160) :period 180 :length 75) @@ -85,8 +84,7 @@ ;; failed to figure out what this is: (defpart 1724 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) (sp-flt spt-g 2867.2) @@ -106,14 +104,12 @@ ;; failed to figure out what this is: (defpart 1725 - :init-specs - ((sp-flt spt-fade-b -2.7306666)) + :init-specs ((sp-flt spt-fade-b -2.7306666)) ) ;; failed to figure out what this is: (defpart 1718 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -142,8 +138,7 @@ ;; failed to figure out what this is: (defpart 1721 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -172,8 +167,7 @@ ;; failed to figure out what this is: (defpart 1719 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -202,8 +196,7 @@ ;; failed to figure out what this is: (defpart 1722 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -232,8 +225,7 @@ ;; failed to figure out what this is: (defpart 1720 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -262,8 +254,7 @@ ;; failed to figure out what this is: (defpart 1723 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.0 2.0 1.0) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -292,16 +283,14 @@ ;; failed to figure out what this is: (defpart 1726 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) ;; failed to figure out what this is: (defpartgroup group-steam-cap-plume :id 442 :bounds (static-bspherem 0 0 0 32) - :parts - ((sp-item 1727 :fade-after (meters 120) :falloff-to (meters 160)) + :parts ((sp-item 1727 :fade-after (meters 120) :falloff-to (meters 160)) (sp-item 1728 :fade-after (meters 120) :falloff-to (meters 160)) (sp-item 1729 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1730 :fade-after (meters 60) :falloff-to (meters 60) :flags (start-dead)) @@ -312,16 +301,14 @@ (defpartgroup group-steam-cap-plume-spread :id 443 :bounds (static-bspherem 0 0 0 32) - :parts - ((sp-item 1731 :fade-after (meters 120) :falloff-to (meters 160)) + :parts ((sp-item 1731 :fade-after (meters 120) :falloff-to (meters 160)) (sp-item 1732 :fade-after (meters 120) :falloff-to (meters 160)) ) ) ;; failed to figure out what this is: (defpart 1730 - :init-specs - ((sp-flt spt-num 0.4) + :init-specs ((sp-flt spt-num 0.4) (sp-int spt-rot-x 5) (sp-flt spt-r 6144.0) (sp-flt spt-g 2867.2) @@ -341,8 +328,7 @@ ;; failed to figure out what this is: (defpart 1732 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -370,8 +356,7 @@ ;; failed to figure out what this is: (defpart 1731 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters -0.5)) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -399,14 +384,12 @@ ;; failed to figure out what this is: (defpart 1735 - :init-specs - ((sp-flt spt-fade-a -0.32)) + :init-specs ((sp-flt spt-fade-a -0.32)) ) ;; failed to figure out what this is: (defpart 1727 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0) (sp-flt spt-y (meters -1)) @@ -429,8 +412,7 @@ ;; failed to figure out what this is: (defpart 1728 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters 0) (meters 0.5) 1.0) (sp-flt spt-y (meters -1)) @@ -452,8 +434,7 @@ ;; failed to figure out what this is: (defpart 1729 - :init-specs - ((sp-flt spt-num 0.5) + :init-specs ((sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 0.5) (meters 0.5) 1.0) (sp-int spt-rot-x 5) (sp-flt spt-r 6144.0) @@ -475,50 +456,37 @@ ;; definition for method 20 of type steam-cap ;; INFO: Return type mismatch object vs none. (defmethod dummy-20 steam-cap ((obj steam-cap)) - (with-pp - (when *target* - (let* ((a1-0 (target-pos 0)) - (f0-0 (-> a1-0 y)) - ) - (when (and (>= f0-0 (+ -8192.0 (-> obj down y))) - (and (>= (+ -4096.0 (-> obj root-override trans y)) f0-0) (zero? (-> obj root-override riders num-riders))) - ) - (let ((f0-1 (vector-vector-xz-distance-squared (-> obj down) a1-0))) - (when (>= 104857600.0 f0-1) - (let ((s5-0 (>= 37748736.0 f0-1))) - (when (not s5-0) - (when (>= (- (-> obj root-override trans y) (-> obj down y)) 3072.0) - (let ((a1-1 (new 'stack-no-clear 'vector))) - (set! (-> a1-1 x) (the-as float 1)) - (set! (-> a1-1 y) (the-as float #f)) - (if (find-overlapping-shapes (-> obj root-override) (the-as overlaps-others-params a1-1)) - (set! s5-0 #t) - ) - ) - ) - ) - (when s5-0 - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) pp) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'shove) - (set! (-> a1-2 param 0) (the-as uint #f)) - (let ((v1-16 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-16 shove-up) 2048.0) - (set! (-> v1-16 shove-back) 6144.0) - (set! (-> a1-2 param 1) (the-as uint v1-16)) - ) - (send-event-function *target* a1-2) + (when *target* + (let* ((a1-0 (target-pos 0)) + (f0-0 (-> a1-0 y)) + ) + (when (and (>= f0-0 (+ -8192.0 (-> obj down y))) + (and (>= (+ -4096.0 (-> obj root-override trans y)) f0-0) (zero? (-> obj root-override riders num-riders))) + ) + (let ((f0-1 (vector-vector-xz-distance-squared (-> obj down) a1-0))) + (when (>= 104857600.0 f0-1) + (let ((s5-0 (>= 37748736.0 f0-1))) + (when (not s5-0) + (when (>= (- (-> obj root-override trans y) (-> obj down y)) 3072.0) + (let ((a1-1 (new 'stack-no-clear 'vector))) + (set! (-> a1-1 x) (the-as float 1)) + (set! (-> a1-1 y) (the-as float #f)) + (if (find-overlapping-shapes (-> obj root-override) (the-as overlaps-others-params a1-1)) + (set! s5-0 #t) + ) ) ) ) + (if s5-0 + (send-event *target* 'shove #f (static-attack-info ((shove-up (meters 0.5)) (shove-back (meters 1.5))))) + ) ) ) ) ) ) - (none) ) + (none) ) ;; definition for method 21 of type steam-cap @@ -712,10 +680,8 @@ ;; failed to figure out what this is: (defstate steam-cap-idle (steam-cap) - :trans - (the-as (function none :behavior steam-cap) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior steam-cap) rider-trans) + :code (behavior () (loop (dummy-20 self) (dummy-21 self) @@ -723,8 +689,7 @@ ) (none) ) - :post - (the-as (function none :behavior steam-cap) rider-post) + :post (the-as (function none :behavior steam-cap) rider-post) ) ;; definition for method 7 of type steam-cap diff --git a/test/decompiler/reference/levels/sunken/sun-exit-chamber_REF.gc b/test/decompiler/reference/levels/sunken/sun-exit-chamber_REF.gc index 9d783bfa04..42d890fc3e 100644 --- a/test/decompiler/reference/levels/sunken/sun-exit-chamber_REF.gc +++ b/test/decompiler/reference/levels/sunken/sun-exit-chamber_REF.gc @@ -173,14 +173,12 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2512 :flags (is-3d))) + :parts ((sp-item 2512 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 2513 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-func spt-birth-func 'birth-func-ocean-height) (sp-flt spt-num 0.25) (sp-rnd-flt spt-x (meters 5) (meters 3) 1.0) @@ -207,14 +205,12 @@ ;; failed to figure out what this is: (defpart 2514 - :init-specs - ((sp-flt spt-fade-a -0.094814815)) + :init-specs ((sp-flt spt-fade-a -0.094814815)) ) ;; failed to figure out what this is: (defpart 2512 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-func spt-birth-func 'birth-func-ocean-height) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters 6) (meters 4) 1.0) @@ -253,8 +249,7 @@ ;; failed to figure out what this is: (defstate blue-eco-charger-orb-idle (blue-eco-charger-orb) - :code - (behavior () + :code (behavior () (set! (-> self root trans quad) (-> self rest-pos quad)) (loop (let ((f0-0 (-> self parent-process 0 open-level))) @@ -266,14 +261,12 @@ ) (none) ) - :post - (the-as (function none :behavior blue-eco-charger-orb) ja-post) + :post (the-as (function none :behavior blue-eco-charger-orb) ja-post) ) ;; failed to figure out what this is: (defstate blue-eco-charger-orb-active (blue-eco-charger-orb) - :code - (behavior () + :code (behavior () (local-vars (at-0 int)) (rlet ((vf0 :class vf) (vf1 :class vf) @@ -351,8 +344,7 @@ (none) ) ) - :post - (the-as (function none :behavior blue-eco-charger-orb) ja-post) + :post (the-as (function none :behavior blue-eco-charger-orb) ja-post) ) ;; definition for function blue-eco-charger-orb-init-by-other @@ -408,28 +400,20 @@ ;; definition for method 20 of type blue-eco-charger (defmethod dummy-20 blue-eco-charger ((obj blue-eco-charger)) (and (and *target* (>= 16384.0 (vector-vector-distance (-> obj root-override trans) (-> *target* control trans)))) - (send-event *target* 'query 'powerup 3) + (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) ) ;; failed to figure out what this is: (defstate blue-eco-charger-idle (blue-eco-charger) - :code - (behavior () + :code (behavior () (set! (-> self open-level) 0.0) (ja-channel-set! 1) (ja :group! (-> self draw art-group data 2) :num! min) (loop (when (logtest? (-> self draw status) (draw-status was-drawn)) (if (and (and *target* (>= 16384.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'powerup)) - (set! (-> a1-2 param 1) (the-as uint 3)) - (not (send-event-function *target* a1-2)) - ) + (not (send-event *target* 'query 'powerup (pickup-type eco-blue))) ) (level-hint-spawn (game-text-id sunken-blue-eco-charger-hint) @@ -451,14 +435,12 @@ ) (none) ) - :post - (the-as (function none :behavior blue-eco-charger) ja-post) + :post (the-as (function none :behavior blue-eco-charger) ja-post) ) ;; failed to figure out what this is: (defstate blue-eco-charger-open (blue-eco-charger) - :enter - (behavior ((arg0 symbol)) + :enter (behavior ((arg0 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (if arg0 (sound-play-by-name (static-sound-name "blue-eco-start") (new-sound-id) 1024 0 0 1 #t) @@ -466,16 +448,14 @@ (dummy-21 self #t) (none) ) - :trans - (behavior () + :trans (behavior () (if (dummy-20 self) (set! (-> self state-time) (-> *display* base-frame-counter)) ) (update! (-> self sound)) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -504,19 +484,16 @@ ) (none) ) - :post - (the-as (function none :behavior blue-eco-charger) ja-post) + :post (the-as (function none :behavior blue-eco-charger) ja-post) ) ;; failed to figure out what this is: (defstate blue-eco-charger-stuck-open (blue-eco-charger) - :trans - (behavior () + :trans (behavior () (update! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -527,13 +504,11 @@ ;; failed to figure out what this is: (defstate blue-eco-charger-close (blue-eco-charger) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek! 0.0)) (while (not (ja-done? 0)) (when (dummy-20 self) @@ -552,8 +527,7 @@ (go blue-eco-charger-idle) (none) ) - :post - (the-as (function none :behavior blue-eco-charger) ja-post) + :post (the-as (function none :behavior blue-eco-charger) ja-post) ) ;; definition for method 11 of type blue-eco-charger @@ -596,15 +570,7 @@ (set! (-> obj master) (entity-actor-lookup arg0 'alt-actor 0)) (set! (-> obj link) (new 'process 'actor-link-info obj)) (set! (-> obj charger-id) (+ (actor-count-before (-> obj link)) 1)) - (let ((s5-1 (get-process *default-dead-pool* blue-eco-charger-orb #x4000))) - (when s5-1 - (let ((t9-17 (method-of-type blue-eco-charger-orb activate))) - (t9-17 (the-as blue-eco-charger-orb s5-1) obj 'blue-eco-charger-orb (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 blue-eco-charger-orb-init-by-other (-> obj entity) obj) - (-> s5-1 ppointer) - ) - ) + (process-spawn blue-eco-charger-orb (-> obj entity) obj :to obj) (set! (-> obj sound) (new 'process 'ambient-sound (static-sound-spec "blue-eco-charg" :fo-max 35) (-> obj root-override trans)) ) @@ -652,8 +618,7 @@ ;; failed to figure out what this is: (defpart 2515 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.2) 1.0) (sp-rnd-flt spt-scale-y (meters 0.3) (meters 0.1) 1.0) @@ -759,8 +724,7 @@ ;; failed to figure out what this is: (defstate exit-chamber-charger-puzzle (exit-chamber) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) (case arg2 (('notify) @@ -793,13 +757,11 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :code - (behavior () + :code (behavior () (loop (if (>= 214228270000.0 (vector-vector-distance-squared (camera-pos) (-> self root-override trans))) (logclear! (-> self draw status) (draw-status hidden)) @@ -809,31 +771,21 @@ ) (none) ) - :post - (the-as (function none :behavior exit-chamber) ja-post) + :post (the-as (function none :behavior exit-chamber) ja-post) ) ;; failed to figure out what this is: (defstate exit-chamber-charger-puzzle-beaten (exit-chamber) - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type pov-camera activate))) - (t9-1 (the-as pov-camera gp-0) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - pov-camera-init-by-other - (-> self root-override trans) - *sunkencam-sg* - "exit-chamber-door-open" - 0 - #f - '() - ) - (-> gp-0 ppointer) - ) + :code (behavior () + (process-spawn + pov-camera + (-> self root-override trans) + *sunkencam-sg* + "exit-chamber-door-open" + 0 + #f + '() + :to self ) (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 2.5)) @@ -847,8 +799,7 @@ ;; failed to figure out what this is: (defstate exit-chamber-idle-in-sunken (exit-chamber) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-1 object)) (case arg2 (('trigger) @@ -871,13 +822,11 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :code - (behavior () + :code (behavior () (save-reminder (get-task-control (game-task sunken-room)) 1 0) (set! (-> self wave-scale) 0.0) (if (-> self door) @@ -899,20 +848,17 @@ ;; failed to figure out what this is: (defstate exit-chamber-rise (exit-chamber) - :enter - (behavior () + :enter (behavior () (set! (-> self move-player?) #f) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (-> self move-player?)) (rider-trans) ) (none) ) - :code - (behavior () + :code (behavior () (aybabtu 2) (let ((v1-1 (handle->process (-> self fcell-handle)))) (if v1-1 @@ -1028,8 +974,7 @@ (go exit-chamber-idle-in-village #f) (none) ) - :post - (behavior () + :post (behavior () (if (-> self move-player?) (transform-post) (rider-post) @@ -1041,8 +986,7 @@ ;; failed to figure out what this is: (defstate exit-chamber-idle-in-village (exit-chamber) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go exit-chamber-lower) @@ -1062,19 +1006,16 @@ ) ) ) - :enter - (behavior ((arg0 symbol)) + :enter (behavior ((arg0 symbol)) (set! (-> self mask) (logior (process-mask platform) (-> self mask))) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self mask) (process-mask platform)) (none) ) - :trans - (behavior () + :trans (behavior () (rider-trans) (when *target* (let ((f30-0 (vector-vector-xz-distance (target-pos 0) (-> self last-pos)))) @@ -1098,8 +1039,7 @@ ) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (set! (-> self move-player?) #f) (set! (-> self wave-scale) 1.0) (save-reminder (get-task-control (game-task sunken-room)) 2 0) @@ -1118,8 +1058,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (rider-post) (dummy-23 self #t) (if (and *target* (>= (vector-vector-xz-distance (target-pos 0) (-> self last-pos)) 40960.0)) @@ -1131,8 +1070,7 @@ ;; failed to figure out what this is: (defstate exit-chamber-lower (exit-chamber) - :enter - (behavior () + :enter (behavior () (set! (-> self move-player?) #t) (let ((v1-2 (handle->process (-> self fcell-handle)))) (if v1-2 @@ -1141,8 +1079,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (-> self move-player?)) (rider-trans) ) @@ -1150,27 +1087,20 @@ (dummy-20 self (-> self wave-scale)) (none) ) - :code - (behavior () - (let* ((gp-0 (get-process *default-dead-pool* sunkencam #x4000)) - (v1-1 (when gp-0 - (let ((t9-1 (method-of-type sunkencam activate))) - (t9-1 (the-as sunkencam gp-0) self 'sunkencam (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - pov-camera-init-by-other - (-> self root-override trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) - (-> gp-0 ppointer) - ) - ) - ) + :code (behavior () + (let ((v1-1 (process-spawn + sunkencam + :init pov-camera-init-by-other + (-> self root-override trans) + *sunkencam-sg* + "qbert-show-door-open" + 0 + #f + '() + :to self + ) + ) + ) (set! (-> (the-as sunkencam (-> v1-1 0)) seq) (the-as uint 1)) ) (load-state-want-display-level 'sunken 'display) @@ -1236,8 +1166,7 @@ (go exit-chamber-idle-in-sunken) (none) ) - :post - (behavior () + :post (behavior () (if (-> self move-player?) (transform-post) (rider-post) @@ -1346,35 +1275,11 @@ ) ) ) - (let ((s0-1 (get-process *default-dead-pool* sun-iris-door #x4000))) - (set! (-> obj door) - (the-as - (pointer sun-iris-door) - (when s0-1 - (let ((t9-23 (method-of-type sun-iris-door activate))) - (t9-23 (the-as sun-iris-door s0-1) obj 'sun-iris-door (the-as pointer #x70004000)) - ) - (run-now-in-process s0-1 sun-iris-door-init-by-other (-> s3-1 vector) (-> s3-1 vector 1) s1-3) - (-> s0-1 ppointer) - ) - ) - ) - ) - ) - (let ((s1-4 (get-process *default-dead-pool* exit-chamber-button #x4000))) - (set! (-> obj button) - (the-as - (pointer exit-chamber-button) - (when s1-4 - (let ((t9-26 (method-of-type exit-chamber-button activate))) - (t9-26 (the-as exit-chamber-button s1-4) obj 'exit-chamber-button (the-as pointer #x70004000)) - ) - (run-now-in-process s1-4 exit-chamber-button-init-by-other (-> s3-1 vector 2) (-> s3-1 vector 3) arg0 #f) - (-> s1-4 ppointer) - ) - ) - ) + (set! (-> obj door) (process-spawn sun-iris-door (-> s3-1 vector) (-> s3-1 vector 1) s1-3 :to obj)) ) + (set! (-> obj button) + (process-spawn exit-chamber-button (-> s3-1 vector 2) (-> s3-1 vector 3) arg0 #f :to obj) + ) (set! (-> obj sound) (new 'process 'ambient-sound diff --git a/test/decompiler/reference/levels/sunken/sun-iris-door_REF.gc b/test/decompiler/reference/levels/sunken/sun-iris-door_REF.gc index 62099a8ce2..b9b7701e2b 100644 --- a/test/decompiler/reference/levels/sunken/sun-iris-door_REF.gc +++ b/test/decompiler/reference/levels/sunken/sun-iris-door_REF.gc @@ -95,8 +95,7 @@ ;; failed to figure out what this is: (defstate sun-iris-door-closed (sun-iris-door) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go sun-iris-door-opening) @@ -108,8 +107,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (when (-> self proximity?) (if (should-open? self) (go sun-iris-door-opening) @@ -117,16 +115,14 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) (none) ) - :post - (behavior () + :post (behavior () (when (-> self move-to?) (set! (-> self move-to?) #f) (move-to-point! (-> self root-override) (-> self move-to-pos)) @@ -139,8 +135,7 @@ ;; failed to figure out what this is: (defstate sun-iris-door-opening (sun-iris-door) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('untrigger) (go sun-iris-door-closing) @@ -152,8 +147,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "irisdoor2") (new-sound-id) 1024 0 0 1 #t) (ja-no-eval :num! (seek!)) (until (ja-done? 0) @@ -164,8 +158,7 @@ (go sun-iris-door-open) (none) ) - :post - (behavior () + :post (behavior () (cond ((-> self move-to?) (set! (-> self move-to?) #f) @@ -236,8 +229,7 @@ ;; failed to figure out what this is: (defstate sun-iris-door-open (sun-iris-door) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (let ((v0-0 (the-as object (-> *display* base-frame-counter)))) @@ -255,21 +247,18 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (clear-collide-with-as (-> self root-override)) (logior! (-> self draw status) (draw-status hidden)) (none) ) - :exit - (behavior () + :exit (behavior () (restore-collide-with-as (-> self root-override)) (logclear! (-> self draw status) (draw-status hidden)) (none) ) - :trans - (behavior () + :trans (behavior () (when (-> self proximity?) (if (should-close? self) (go sun-iris-door-closing) @@ -282,16 +271,14 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) (none) ) - :post - (behavior () + :post (behavior () (when (-> self move-to?) (set! (-> self move-to?) #f) (move-to-point! (-> self root-override) (-> self move-to-pos)) @@ -304,8 +291,7 @@ ;; failed to figure out what this is: (defstate sun-iris-door-closing (sun-iris-door) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go sun-iris-door-opening) @@ -317,8 +303,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "irisdoor2") (new-sound-id) 1024 0 0 1 #t) (ja-no-eval :num! (seek! 0.0)) (until (ja-done? 0) @@ -329,8 +314,7 @@ (go sun-iris-door-closed) (none) ) - :post - (behavior () + :post (behavior () (cond ((-> self move-to?) (set! (-> self move-to?) #f) diff --git a/test/decompiler/reference/levels/sunken/sunken-fish_REF.gc b/test/decompiler/reference/levels/sunken/sunken-fish_REF.gc index 4315db34b7..6c1304e6ca 100644 --- a/test/decompiler/reference/levels/sunken/sunken-fish_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-fish_REF.gc @@ -211,8 +211,7 @@ ;; failed to figure out what this is: (defstate sunkenfisha-idle (sunkenfisha) - :trans - (behavior () + :trans (behavior () (local-vars (at-0 int)) (rlet ((vf0 :class vf) (vf1 :class vf) @@ -243,8 +242,7 @@ (none) ) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -254,8 +252,7 @@ ) (none) ) - :post - (the-as (function none :behavior sunkenfisha) ja-post) + :post (the-as (function none :behavior sunkenfisha) ja-post) ) ;; definition for method 26 of type sunkenfisha @@ -387,15 +384,7 @@ (TODO-RENAME-27 obj) (let ((s5-0 (+ (res-lump-value (-> obj entity) 'count uint128 :default (the-as uint128 1)) -1))) (while (> (the-as int s5-0) 0) - (let ((s4-0 (get-process *default-dead-pool* sunkenfisha #x4000))) - (when s4-0 - (let ((t9-4 (method-of-type sunkenfisha activate))) - (t9-4 (the-as sunkenfisha s4-0) obj 'sunkenfisha (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 sunkenfisha-init-by-other (-> obj entity)) - (-> s4-0 ppointer) - ) - ) + (process-spawn sunkenfisha (-> obj entity) :to obj) (+! s5-0 -1) ) ) diff --git a/test/decompiler/reference/levels/sunken/sunken-obs_REF.gc b/test/decompiler/reference/levels/sunken/sunken-obs_REF.gc index 3adaac5793..940a4a0a50 100644 --- a/test/decompiler/reference/levels/sunken/sunken-obs_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-obs_REF.gc @@ -75,16 +75,14 @@ :id 436 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1713 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1713 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1714 :fade-after (meters 160) :falloff-to (meters 160)) ) ) ;; failed to figure out what this is: (defpart 1713 - :init-specs - ((sp-flt spt-num 4.0) + :init-specs ((sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters -11) (meters 22) 1.0) (sp-flt spt-y (meters 1)) (sp-int spt-rot-x 5) @@ -104,8 +102,7 @@ ;; failed to figure out what this is: (defpart 1714 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-x (meters -11) (meters 22) 1.0) (sp-flt spt-y (meters 1.5)) @@ -222,13 +219,11 @@ ;; failed to figure out what this is: (defstate pov-camera-playing (sunkencam) :virtual #t - :exit - (behavior () + :exit (behavior () (set! (-> *screen-filter* draw?) #f) (none) ) - :code - (behavior () + :code (behavior () (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) @@ -398,8 +393,7 @@ ;; failed to figure out what this is: (defstate seaweed-idle (seaweed) - :code - (behavior () + :code (behavior () (ja-no-eval :num! (seek! max (-> self anim-speed))) (while (not (ja-done? 0)) (suspend) @@ -414,8 +408,7 @@ ) (none) ) - :post - (the-as (function none :behavior seaweed) ja-post) + :post (the-as (function none :behavior seaweed) ja-post) ) ;; definition for method 11 of type seaweed diff --git a/test/decompiler/reference/levels/sunken/sunken-part2_REF.gc b/test/decompiler/reference/levels/sunken/sunken-part2_REF.gc index 0e1fd264a3..1c745fef2c 100644 --- a/test/decompiler/reference/levels/sunken/sunken-part2_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-part2_REF.gc @@ -5,8 +5,7 @@ (defpartgroup group-sunken-window-bubbles-34 :id 353 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1495 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1495 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1495 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -59,8 +58,7 @@ ;; failed to figure out what this is: (defpart 1496 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -83,8 +81,7 @@ ;; failed to figure out what this is: (defpart 1495 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -104,8 +101,7 @@ (defpartgroup group-sunken-window-bubbles-36 :id 354 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1497 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1497 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1497 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -158,8 +154,7 @@ ;; failed to figure out what this is: (defpart 1498 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -182,8 +177,7 @@ ;; failed to figure out what this is: (defpart 1497 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -203,8 +197,7 @@ (defpartgroup group-sunken-window-bubbles-30 :id 355 :bounds (static-bspherem 0 4 0 30) - :parts - ((sp-item 1499 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1499 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1499 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -257,8 +250,7 @@ ;; failed to figure out what this is: (defpart 1500 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -281,8 +273,7 @@ ;; failed to figure out what this is: (defpart 1499 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -302,8 +293,7 @@ (defpartgroup group-sunken-window-bubbles-31 :id 356 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1501 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1501 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1501 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -356,8 +346,7 @@ ;; failed to figure out what this is: (defpart 1502 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -380,8 +369,7 @@ ;; failed to figure out what this is: (defpart 1501 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -401,8 +389,7 @@ (defpartgroup group-sunken-window-bubbles-29 :id 357 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1503 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1503 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1503 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -455,8 +442,7 @@ ;; failed to figure out what this is: (defpart 1504 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -479,8 +465,7 @@ ;; failed to figure out what this is: (defpart 1503 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -500,8 +485,7 @@ (defpartgroup group-sunken-window-bubbles-159 :id 358 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1505 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1505 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1505 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -554,8 +538,7 @@ ;; failed to figure out what this is: (defpart 1506 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -578,8 +561,7 @@ ;; failed to figure out what this is: (defpart 1505 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -599,8 +581,7 @@ (defpartgroup group-sunken-window-bubbles-161 :id 359 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1507 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1507 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1507 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -653,8 +634,7 @@ ;; failed to figure out what this is: (defpart 1508 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -677,8 +657,7 @@ ;; failed to figure out what this is: (defpart 1507 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -698,8 +677,7 @@ (defpartgroup group-sunken-window-bubbles-204 :id 360 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1509 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1509 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1509 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -752,8 +730,7 @@ ;; failed to figure out what this is: (defpart 1510 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -776,8 +753,7 @@ ;; failed to figure out what this is: (defpart 1509 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -797,8 +773,7 @@ (defpartgroup group-sunken-window-bubbles-205 :id 361 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1511 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1511 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1511 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -851,8 +826,7 @@ ;; failed to figure out what this is: (defpart 1512 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -875,8 +849,7 @@ ;; failed to figure out what this is: (defpart 1511 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -896,8 +869,7 @@ (defpartgroup group-sunken-window-bubbles-203 :id 362 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1513 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1513 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1513 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -950,8 +922,7 @@ ;; failed to figure out what this is: (defpart 1514 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters -2)) @@ -974,8 +945,7 @@ ;; failed to figure out what this is: (defpart 1513 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters -2)) @@ -995,8 +965,7 @@ (defpartgroup group-sunken-window-bubbles-42 :id 363 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1515 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1515 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1515 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1049,8 +1018,7 @@ ;; failed to figure out what this is: (defpart 1516 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -25) (meters 50) 1.0) (sp-flt spt-y (meters -2)) @@ -1073,8 +1041,7 @@ ;; failed to figure out what this is: (defpart 1515 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -25) (meters 50) 1.0) (sp-flt spt-y (meters -2)) @@ -1094,8 +1061,7 @@ (defpartgroup group-sunken-window-bubbles-41 :id 364 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1517 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1517 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1517 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1148,8 +1114,7 @@ ;; failed to figure out what this is: (defpart 1518 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1172,8 +1137,7 @@ ;; failed to figure out what this is: (defpart 1517 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1193,8 +1157,7 @@ (defpartgroup group-sunken-window-bubbles-206 :id 365 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1519 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1519 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1519 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1247,8 +1210,7 @@ ;; failed to figure out what this is: (defpart 1520 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1271,8 +1233,7 @@ ;; failed to figure out what this is: (defpart 1519 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1292,8 +1253,7 @@ (defpartgroup group-sunken-window-bubbles-201 :id 366 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1521 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1521 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1521 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1346,8 +1306,7 @@ ;; failed to figure out what this is: (defpart 1522 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1370,8 +1329,7 @@ ;; failed to figure out what this is: (defpart 1521 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1391,8 +1349,7 @@ (defpartgroup group-sunken-window-bubbles-3 :id 367 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1523 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1523 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1523 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1445,8 +1402,7 @@ ;; failed to figure out what this is: (defpart 1524 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1469,8 +1425,7 @@ ;; failed to figure out what this is: (defpart 1523 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1490,8 +1445,7 @@ (defpartgroup group-sunken-window-bubbles-2 :id 368 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1525 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1525 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1525 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1544,8 +1498,7 @@ ;; failed to figure out what this is: (defpart 1526 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1568,8 +1521,7 @@ ;; failed to figure out what this is: (defpart 1525 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1589,8 +1541,7 @@ (defpartgroup group-sunken-heatpipe-382 :id 369 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1528 :fade-after (meters 80) :falloff-to (meters 80) :binding 1527) + :parts ((sp-item 1528 :fade-after (meters 80) :falloff-to (meters 80) :binding 1527) (sp-item 1527 :flags (bit1 start-dead launch-asap)) (sp-item 1527 :flags (bit1 start-dead launch-asap)) (sp-item 1527 :flags (bit1 start-dead launch-asap)) @@ -1622,8 +1573,7 @@ ;; failed to figure out what this is: (defpart 1528 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -1642,8 +1592,7 @@ ;; failed to figure out what this is: (defpart 1527 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 6.2222223)) (sp-flt spt-y (meters 4)) @@ -1667,8 +1616,7 @@ ;; failed to figure out what this is: (defpart 1529 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -1691,8 +1639,7 @@ (defpartgroup group-sunken-heatpipe-381 :id 370 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1531 :fade-after (meters 80) :falloff-to (meters 80) :binding 1530) + :parts ((sp-item 1531 :fade-after (meters 80) :falloff-to (meters 80) :binding 1530) (sp-item 1530 :flags (bit1 start-dead launch-asap)) (sp-item 1530 :flags (bit1 start-dead launch-asap)) (sp-item 1530 :flags (bit1 start-dead launch-asap)) @@ -1724,8 +1671,7 @@ ;; failed to figure out what this is: (defpart 1531 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -1744,8 +1690,7 @@ ;; failed to figure out what this is: (defpart 1530 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 7.5555553)) (sp-flt spt-y (meters 4)) @@ -1769,8 +1714,7 @@ ;; failed to figure out what this is: (defpart 1532 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -1793,8 +1737,7 @@ (defpartgroup group-sunken-heatpipe-380 :id 371 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1534 :fade-after (meters 80) :falloff-to (meters 80) :binding 1533) + :parts ((sp-item 1534 :fade-after (meters 80) :falloff-to (meters 80) :binding 1533) (sp-item 1533 :flags (bit1 start-dead launch-asap)) (sp-item 1533 :flags (bit1 start-dead launch-asap)) (sp-item 1533 :flags (bit1 start-dead launch-asap)) @@ -1826,8 +1769,7 @@ ;; failed to figure out what this is: (defpart 1534 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -1846,8 +1788,7 @@ ;; failed to figure out what this is: (defpart 1533 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 6.2222223)) (sp-flt spt-y (meters 4)) @@ -1871,8 +1812,7 @@ ;; failed to figure out what this is: (defpart 1535 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -1895,8 +1835,7 @@ (defpartgroup group-sunken-heatpipe-379 :id 372 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1537 :fade-after (meters 80) :falloff-to (meters 80) :binding 1536) + :parts ((sp-item 1537 :fade-after (meters 80) :falloff-to (meters 80) :binding 1536) (sp-item 1536 :flags (bit1 start-dead launch-asap)) (sp-item 1536 :flags (bit1 start-dead launch-asap)) (sp-item 1536 :flags (bit1 start-dead launch-asap)) @@ -1928,8 +1867,7 @@ ;; failed to figure out what this is: (defpart 1537 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -1948,8 +1886,7 @@ ;; failed to figure out what this is: (defpart 1536 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 7.111111)) (sp-flt spt-y (meters 4)) @@ -1973,8 +1910,7 @@ ;; failed to figure out what this is: (defpart 1538 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -1997,8 +1933,7 @@ (defpartgroup group-sunken-heatpipe-378 :id 373 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1540 :fade-after (meters 80) :falloff-to (meters 80) :binding 1539) + :parts ((sp-item 1540 :fade-after (meters 80) :falloff-to (meters 80) :binding 1539) (sp-item 1539 :flags (bit1 start-dead launch-asap)) (sp-item 1539 :flags (bit1 start-dead launch-asap)) (sp-item 1539 :flags (bit1 start-dead launch-asap)) @@ -2030,8 +1965,7 @@ ;; failed to figure out what this is: (defpart 1540 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -2050,8 +1984,7 @@ ;; failed to figure out what this is: (defpart 1539 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 5.111111)) (sp-flt spt-y (meters 4)) @@ -2075,8 +2008,7 @@ ;; failed to figure out what this is: (defpart 1541 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -2099,8 +2031,7 @@ (defpartgroup group-sunken-window-bubbles-402 :id 374 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1542 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1542 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1542 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -2153,8 +2084,7 @@ ;; failed to figure out what this is: (defpart 1543 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -2177,8 +2107,7 @@ ;; failed to figure out what this is: (defpart 1542 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -2198,8 +2127,7 @@ (defpartgroup group-sunken-window-bubbles-401 :id 375 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1544 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1544 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1544 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -2252,8 +2180,7 @@ ;; failed to figure out what this is: (defpart 1545 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -2276,8 +2203,7 @@ ;; failed to figure out what this is: (defpart 1544 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -2297,8 +2223,7 @@ (defpartgroup group-sunken-window-bubbles-400 :id 376 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1546 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1546 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1546 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -2351,8 +2276,7 @@ ;; failed to figure out what this is: (defpart 1547 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -2375,8 +2299,7 @@ ;; failed to figure out what this is: (defpart 1546 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -2396,8 +2319,7 @@ (defpartgroup group-sunken-window-bubbles-399 :id 377 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1548 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1548 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1548 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -2450,8 +2372,7 @@ ;; failed to figure out what this is: (defpart 1549 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -2474,8 +2395,7 @@ ;; failed to figure out what this is: (defpart 1548 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) diff --git a/test/decompiler/reference/levels/sunken/sunken-part3_REF.gc b/test/decompiler/reference/levels/sunken/sunken-part3_REF.gc index d1fb8753f3..afa9efdb15 100644 --- a/test/decompiler/reference/levels/sunken/sunken-part3_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-part3_REF.gc @@ -5,8 +5,7 @@ (defpartgroup group-sunken-heatpipe-383 :id 378 :bounds (static-bspherem 0 1 0 3) - :parts - ((sp-item 1551 :fade-after (meters 80) :falloff-to (meters 80) :binding 1550) + :parts ((sp-item 1551 :fade-after (meters 80) :falloff-to (meters 80) :binding 1550) (sp-item 1550 :flags (bit1 start-dead launch-asap)) (sp-item 1550 :flags (bit1 start-dead launch-asap)) (sp-item 1550 :flags (bit1 start-dead launch-asap)) @@ -38,8 +37,7 @@ ;; failed to figure out what this is: (defpart 1551 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -58,8 +56,7 @@ ;; failed to figure out what this is: (defpart 1550 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 4)) @@ -83,8 +80,7 @@ ;; failed to figure out what this is: (defpart 1552 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -107,8 +103,7 @@ (defpartgroup group-sunken-heatpipe-198 :id 379 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1554 :fade-after (meters 80) :falloff-to (meters 80) :binding 1553) + :parts ((sp-item 1554 :fade-after (meters 80) :falloff-to (meters 80) :binding 1553) (sp-item 1553 :flags (bit1 start-dead launch-asap)) (sp-item 1553 :flags (bit1 start-dead launch-asap)) (sp-item 1553 :flags (bit1 start-dead launch-asap)) @@ -140,8 +135,7 @@ ;; failed to figure out what this is: (defpart 1554 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -160,8 +154,7 @@ ;; failed to figure out what this is: (defpart 1553 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 1.3333334)) (sp-flt spt-y (meters 4)) @@ -185,8 +178,7 @@ ;; failed to figure out what this is: (defpart 1555 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -209,8 +201,7 @@ (defpartgroup group-sunken-heatpipe-189 :id 380 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1557 :fade-after (meters 80) :falloff-to (meters 80) :binding 1556) + :parts ((sp-item 1557 :fade-after (meters 80) :falloff-to (meters 80) :binding 1556) (sp-item 1556 :flags (bit1 start-dead launch-asap)) (sp-item 1556 :flags (bit1 start-dead launch-asap)) (sp-item 1556 :flags (bit1 start-dead launch-asap)) @@ -242,8 +233,7 @@ ;; failed to figure out what this is: (defpart 1557 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 0.7) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -262,8 +252,7 @@ ;; failed to figure out what this is: (defpart 1556 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-x (meters 1.1555556)) (sp-flt spt-y (meters 4)) @@ -287,8 +276,7 @@ ;; failed to figure out what this is: (defpart 1558 - :init-specs - ((sp-flt spt-num 0.05) + :init-specs ((sp-flt spt-num 0.05) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -311,8 +299,7 @@ (defpartgroup group-sunken-heatpipe-193 :id 381 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1560 :fade-after (meters 80) :falloff-to (meters 80) :binding 1559) + :parts ((sp-item 1560 :fade-after (meters 80) :falloff-to (meters 80) :binding 1559) (sp-item 1559 :flags (bit1 start-dead launch-asap)) (sp-item 1559 :flags (bit1 start-dead launch-asap)) (sp-item 1559 :flags (bit1 start-dead launch-asap)) @@ -345,8 +332,7 @@ ;; failed to figure out what this is: (defpart 1560 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 0.4) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters -1.4)) @@ -365,8 +351,7 @@ ;; failed to figure out what this is: (defpart 1559 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 1.1555556)) (sp-flt spt-y (meters 0)) @@ -390,8 +375,7 @@ ;; failed to figure out what this is: (defpart 1561 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -1.4) (meters 2.8) 1.0) (sp-int spt-rot-x 6) (sp-flt spt-r 3276.8) @@ -409,8 +393,7 @@ ;; failed to figure out what this is: (defpart 1562 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -1.4) (meters 2.8) 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) @@ -435,8 +418,7 @@ (defpartgroup group-sunken-heatpipe-207 :id 382 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1564 :fade-after (meters 80) :falloff-to (meters 80) :binding 1563) + :parts ((sp-item 1564 :fade-after (meters 80) :falloff-to (meters 80) :binding 1563) (sp-item 1563 :flags (bit1 start-dead launch-asap)) (sp-item 1563 :flags (bit1 start-dead launch-asap)) (sp-item 1563 :flags (bit1 start-dead launch-asap)) @@ -468,8 +450,7 @@ ;; failed to figure out what this is: (defpart 1564 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) @@ -488,8 +469,7 @@ ;; failed to figure out what this is: (defpart 1563 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 5.1555557)) (sp-flt spt-y (meters 4)) @@ -513,8 +493,7 @@ ;; failed to figure out what this is: (defpart 1565 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.4)) (sp-flt spt-y (meters 0)) (sp-int spt-rot-x 6) @@ -537,8 +516,7 @@ (defpartgroup group-sunken-window-bubbles-388 :id 383 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1566 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1566 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1566 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -591,8 +569,7 @@ ;; failed to figure out what this is: (defpart 1567 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -12) (meters 24) 1.0) (sp-flt spt-y (meters -2)) @@ -615,8 +592,7 @@ ;; failed to figure out what this is: (defpart 1566 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -12) (meters 24) 1.0) (sp-flt spt-y (meters -2)) @@ -636,8 +612,7 @@ (defpartgroup group-sunken-window-bubbles-387 :id 384 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1568 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1568 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1568 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -690,8 +665,7 @@ ;; failed to figure out what this is: (defpart 1569 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -714,8 +688,7 @@ ;; failed to figure out what this is: (defpart 1568 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -735,8 +708,7 @@ (defpartgroup group-sunken-window-bubbles-386 :id 385 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1570 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1570 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1570 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -789,8 +761,7 @@ ;; failed to figure out what this is: (defpart 1571 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -813,8 +784,7 @@ ;; failed to figure out what this is: (defpart 1570 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -834,8 +804,7 @@ (defpartgroup group-sunken-window-bubbles-384 :id 386 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1572 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1572 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1572 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -888,8 +857,7 @@ ;; failed to figure out what this is: (defpart 1573 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -12) (meters 24) 1.0) (sp-flt spt-y (meters -2)) @@ -912,8 +880,7 @@ ;; failed to figure out what this is: (defpart 1572 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -12) (meters 24) 1.0) (sp-flt spt-y (meters -2)) @@ -933,8 +900,7 @@ (defpartgroup group-sunken-window-bubbles-385 :id 387 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1574 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1574 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1574 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -987,8 +953,7 @@ ;; failed to figure out what this is: (defpart 1575 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1011,8 +976,7 @@ ;; failed to figure out what this is: (defpart 1574 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1032,8 +996,7 @@ (defpartgroup group-sunken-window-bubbles-394 :id 388 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1576 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1576 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1576 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1086,8 +1049,7 @@ ;; failed to figure out what this is: (defpart 1577 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1110,8 +1072,7 @@ ;; failed to figure out what this is: (defpart 1576 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1131,8 +1092,7 @@ (defpartgroup group-sunken-window-bubbles-390 :id 389 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1578 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1578 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1578 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1185,8 +1145,7 @@ ;; failed to figure out what this is: (defpart 1579 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1209,8 +1168,7 @@ ;; failed to figure out what this is: (defpart 1578 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1230,8 +1188,7 @@ (defpartgroup group-sunken-window-bubbles-393 :id 390 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1582 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1582 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1582 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1284,8 +1241,7 @@ ;; failed to figure out what this is: (defpart 1583 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters -2)) @@ -1308,8 +1264,7 @@ ;; failed to figure out what this is: (defpart 1582 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters -2)) @@ -1329,8 +1284,7 @@ (defpartgroup group-sunken-window-bubbles-392 :id 391 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1584 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1584 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1584 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1383,8 +1337,7 @@ ;; failed to figure out what this is: (defpart 1585 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1407,8 +1360,7 @@ ;; failed to figure out what this is: (defpart 1584 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1428,8 +1380,7 @@ (defpartgroup group-sunken-window-bubbles-38 :id 392 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1586 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1586 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1586 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1482,8 +1433,7 @@ ;; failed to figure out what this is: (defpart 1587 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1506,8 +1456,7 @@ ;; failed to figure out what this is: (defpart 1586 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1527,8 +1476,7 @@ (defpartgroup group-sunken-window-bubbles-200 :id 393 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1588 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1588 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1588 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1581,8 +1529,7 @@ ;; failed to figure out what this is: (defpart 1589 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -10) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1605,8 +1552,7 @@ ;; failed to figure out what this is: (defpart 1588 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1626,8 +1572,7 @@ (defpartgroup group-sunken-window-bubbles-391 :id 394 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1580 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1580 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1580 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1680,8 +1625,7 @@ ;; failed to figure out what this is: (defpart 1581 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) @@ -1704,8 +1648,7 @@ ;; failed to figure out what this is: (defpart 1580 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-flt spt-y (meters -2)) diff --git a/test/decompiler/reference/levels/sunken/sunken-part4_REF.gc b/test/decompiler/reference/levels/sunken/sunken-part4_REF.gc index e81bbfc504..edae40bec0 100644 --- a/test/decompiler/reference/levels/sunken/sunken-part4_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-part4_REF.gc @@ -5,8 +5,7 @@ (defpartgroup group-sunken-heatpipe-282 :id 395 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1591 :fade-after (meters 80) :falloff-to (meters 80) :binding 1590) + :parts ((sp-item 1591 :fade-after (meters 80) :falloff-to (meters 80) :binding 1590) (sp-item 1590 :flags (bit1 start-dead launch-asap)) (sp-item 1590 :flags (bit1 start-dead launch-asap)) (sp-item 1590 :flags (bit1 start-dead launch-asap)) @@ -38,8 +37,7 @@ ;; failed to figure out what this is: (defpart 1591 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -58,8 +56,7 @@ ;; failed to figure out what this is: (defpart 1590 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 1.1111112)) (sp-flt spt-y (meters 3.3333333)) @@ -83,8 +80,7 @@ ;; failed to figure out what this is: (defpart 1592 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -107,8 +103,7 @@ (defpartgroup group-sunken-heatpipe-285 :id 396 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1594 :fade-after (meters 80) :falloff-to (meters 80) :binding 1593) + :parts ((sp-item 1594 :fade-after (meters 80) :falloff-to (meters 80) :binding 1593) (sp-item 1593 :flags (bit1 start-dead launch-asap)) (sp-item 1593 :flags (bit1 start-dead launch-asap)) (sp-item 1593 :flags (bit1 start-dead launch-asap)) @@ -140,8 +135,7 @@ ;; failed to figure out what this is: (defpart 1594 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -160,8 +154,7 @@ ;; failed to figure out what this is: (defpart 1593 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 0.6666667)) (sp-flt spt-y (meters 3.3333333)) @@ -185,8 +178,7 @@ ;; failed to figure out what this is: (defpart 1595 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -209,8 +201,7 @@ (defpartgroup group-sunken-heatpipe-288 :id 397 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1597 :fade-after (meters 80) :falloff-to (meters 80) :binding 1596) + :parts ((sp-item 1597 :fade-after (meters 80) :falloff-to (meters 80) :binding 1596) (sp-item 1596 :flags (bit1 start-dead launch-asap)) (sp-item 1596 :flags (bit1 start-dead launch-asap)) (sp-item 1596 :flags (bit1 start-dead launch-asap)) @@ -242,8 +233,7 @@ ;; failed to figure out what this is: (defpart 1597 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -262,8 +252,7 @@ ;; failed to figure out what this is: (defpart 1596 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 3.3333333)) @@ -287,8 +276,7 @@ ;; failed to figure out what this is: (defpart 1598 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -311,8 +299,7 @@ (defpartgroup group-sunken-heatpipe-299 :id 398 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1600 :fade-after (meters 80) :falloff-to (meters 80) :binding 1599) + :parts ((sp-item 1600 :fade-after (meters 80) :falloff-to (meters 80) :binding 1599) (sp-item 1599 :flags (bit1 start-dead launch-asap)) (sp-item 1599 :flags (bit1 start-dead launch-asap)) (sp-item 1599 :flags (bit1 start-dead launch-asap)) @@ -344,8 +331,7 @@ ;; failed to figure out what this is: (defpart 1600 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -364,8 +350,7 @@ ;; failed to figure out what this is: (defpart 1599 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -1.1111112)) (sp-flt spt-y (meters 3.3333333)) @@ -389,8 +374,7 @@ ;; failed to figure out what this is: (defpart 1601 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -413,8 +397,7 @@ (defpartgroup group-sunken-heatpipe-302 :id 399 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1603 :fade-after (meters 80) :falloff-to (meters 80) :binding 1602) + :parts ((sp-item 1603 :fade-after (meters 80) :falloff-to (meters 80) :binding 1602) (sp-item 1602 :flags (bit1 start-dead launch-asap)) (sp-item 1602 :flags (bit1 start-dead launch-asap)) (sp-item 1602 :flags (bit1 start-dead launch-asap)) @@ -446,8 +429,7 @@ ;; failed to figure out what this is: (defpart 1603 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -466,8 +448,7 @@ ;; failed to figure out what this is: (defpart 1602 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -1.7777778)) (sp-flt spt-y (meters 3.3333333)) @@ -491,8 +472,7 @@ ;; failed to figure out what this is: (defpart 1604 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -515,8 +495,7 @@ (defpartgroup group-sunken-heatpipe-367 :id 400 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1606 :fade-after (meters 80) :falloff-to (meters 80) :binding 1605) + :parts ((sp-item 1606 :fade-after (meters 80) :falloff-to (meters 80) :binding 1605) (sp-item 1605 :flags (bit1 start-dead launch-asap)) (sp-item 1605 :flags (bit1 start-dead launch-asap)) (sp-item 1605 :flags (bit1 start-dead launch-asap)) @@ -548,8 +527,7 @@ ;; failed to figure out what this is: (defpart 1606 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -568,8 +546,7 @@ ;; failed to figure out what this is: (defpart 1605 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -2.6666667)) (sp-flt spt-y (meters 3.3333333)) @@ -593,8 +570,7 @@ ;; failed to figure out what this is: (defpart 1607 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -617,8 +593,7 @@ (defpartgroup group-sunken-heatpipe-371 :id 401 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1609 :fade-after (meters 80) :falloff-to (meters 80) :binding 1608) + :parts ((sp-item 1609 :fade-after (meters 80) :falloff-to (meters 80) :binding 1608) (sp-item 1608 :flags (bit1 start-dead launch-asap)) (sp-item 1608 :flags (bit1 start-dead launch-asap)) (sp-item 1608 :flags (bit1 start-dead launch-asap)) @@ -650,8 +625,7 @@ ;; failed to figure out what this is: (defpart 1609 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -670,8 +644,7 @@ ;; failed to figure out what this is: (defpart 1608 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -3.5555556)) (sp-flt spt-y (meters 3.3333333)) @@ -695,8 +668,7 @@ ;; failed to figure out what this is: (defpart 1610 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -719,8 +691,7 @@ (defpartgroup group-sunken-heatpipe-308 :id 402 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1612 :fade-after (meters 80) :falloff-to (meters 80) :binding 1611) + :parts ((sp-item 1612 :fade-after (meters 80) :falloff-to (meters 80) :binding 1611) (sp-item 1611 :flags (bit1 start-dead launch-asap)) (sp-item 1611 :flags (bit1 start-dead launch-asap)) (sp-item 1611 :flags (bit1 start-dead launch-asap)) @@ -752,8 +723,7 @@ ;; failed to figure out what this is: (defpart 1612 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.3)) @@ -772,8 +742,7 @@ ;; failed to figure out what this is: (defpart 1611 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 3.7777777)) @@ -797,8 +766,7 @@ ;; failed to figure out what this is: (defpart 1613 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -821,8 +789,7 @@ (defpartgroup group-sunken-heatpipe-312 :id 403 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1615 :fade-after (meters 80) :falloff-to (meters 80) :binding 1614) + :parts ((sp-item 1615 :fade-after (meters 80) :falloff-to (meters 80) :binding 1614) (sp-item 1614 :flags (bit1 start-dead launch-asap)) (sp-item 1614 :flags (bit1 start-dead launch-asap)) (sp-item 1614 :flags (bit1 start-dead launch-asap)) @@ -854,8 +821,7 @@ ;; failed to figure out what this is: (defpart 1615 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.3)) @@ -874,8 +840,7 @@ ;; failed to figure out what this is: (defpart 1614 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -4.4444447)) (sp-flt spt-y (meters 4.4444447)) @@ -899,8 +864,7 @@ ;; failed to figure out what this is: (defpart 1616 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -923,8 +887,7 @@ (defpartgroup group-sunken-heatpipe-316 :id 404 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1618 :fade-after (meters 80) :falloff-to (meters 80) :binding 1617) + :parts ((sp-item 1618 :fade-after (meters 80) :falloff-to (meters 80) :binding 1617) (sp-item 1617 :flags (bit1 start-dead launch-asap)) (sp-item 1617 :flags (bit1 start-dead launch-asap)) (sp-item 1617 :flags (bit1 start-dead launch-asap)) @@ -956,8 +919,7 @@ ;; failed to figure out what this is: (defpart 1618 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.3)) @@ -976,8 +938,7 @@ ;; failed to figure out what this is: (defpart 1617 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -3.1111112)) (sp-flt spt-y (meters 4.4444447)) @@ -1001,8 +962,7 @@ ;; failed to figure out what this is: (defpart 1619 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -1025,8 +985,7 @@ (defpartgroup group-sunken-heatpipe-320 :id 405 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1621 :fade-after (meters 80) :falloff-to (meters 80) :binding 1620) + :parts ((sp-item 1621 :fade-after (meters 80) :falloff-to (meters 80) :binding 1620) (sp-item 1620 :flags (bit1 start-dead launch-asap)) (sp-item 1620 :flags (bit1 start-dead launch-asap)) (sp-item 1620 :flags (bit1 start-dead launch-asap)) @@ -1058,8 +1017,7 @@ ;; failed to figure out what this is: (defpart 1621 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.3)) @@ -1078,8 +1036,7 @@ ;; failed to figure out what this is: (defpart 1620 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -0.6666667)) (sp-flt spt-y (meters 4.4444447)) @@ -1103,8 +1060,7 @@ ;; failed to figure out what this is: (defpart 1622 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -1127,8 +1083,7 @@ (defpartgroup group-sunken-heatpipe-324 :id 406 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1624 :fade-after (meters 80) :falloff-to (meters 80) :binding 1623) + :parts ((sp-item 1624 :fade-after (meters 80) :falloff-to (meters 80) :binding 1623) (sp-item 1623 :flags (bit1 start-dead launch-asap)) (sp-item 1623 :flags (bit1 start-dead launch-asap)) (sp-item 1623 :flags (bit1 start-dead launch-asap)) @@ -1160,8 +1115,7 @@ ;; failed to figure out what this is: (defpart 1624 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.2)) @@ -1180,8 +1134,7 @@ ;; failed to figure out what this is: (defpart 1623 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 0.22222222)) (sp-flt spt-y (meters 4.2222223)) @@ -1205,8 +1158,7 @@ ;; failed to figure out what this is: (defpart 1625 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) (sp-int spt-rot-x 6) @@ -1229,8 +1181,7 @@ (defpartgroup group-sunken-heatpipe-328 :id 407 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1627 :fade-after (meters 80) :falloff-to (meters 80) :binding 1626) + :parts ((sp-item 1627 :fade-after (meters 80) :falloff-to (meters 80) :binding 1626) (sp-item 1626 :flags (bit1 start-dead launch-asap)) (sp-item 1626 :flags (bit1 start-dead launch-asap)) (sp-item 1626 :flags (bit1 start-dead launch-asap)) @@ -1262,8 +1213,7 @@ ;; failed to figure out what this is: (defpart 1627 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.2)) @@ -1282,8 +1232,7 @@ ;; failed to figure out what this is: (defpart 1626 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 0.8888889)) (sp-flt spt-y (meters 4.2222223)) @@ -1307,8 +1256,7 @@ ;; failed to figure out what this is: (defpart 1628 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) (sp-int spt-rot-x 6) @@ -1331,8 +1279,7 @@ (defpartgroup group-sunken-heatpipe-332 :id 408 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1630 :fade-after (meters 80) :falloff-to (meters 80) :binding 1629) + :parts ((sp-item 1630 :fade-after (meters 80) :falloff-to (meters 80) :binding 1629) (sp-item 1629 :flags (bit1 start-dead launch-asap)) (sp-item 1629 :flags (bit1 start-dead launch-asap)) (sp-item 1629 :flags (bit1 start-dead launch-asap)) @@ -1364,8 +1311,7 @@ ;; failed to figure out what this is: (defpart 1630 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.4)) @@ -1384,8 +1330,7 @@ ;; failed to figure out what this is: (defpart 1629 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 3.3333333)) (sp-flt spt-y (meters 4.6666665)) @@ -1409,8 +1354,7 @@ ;; failed to figure out what this is: (defpart 1631 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.70000005)) (sp-int spt-rot-x 6) @@ -1433,8 +1377,7 @@ (defpartgroup group-sunken-heatpipe-333 :id 409 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1633 :fade-after (meters 80) :falloff-to (meters 80) :binding 1632) + :parts ((sp-item 1633 :fade-after (meters 80) :falloff-to (meters 80) :binding 1632) (sp-item 1632 :flags (bit1 start-dead launch-asap)) (sp-item 1632 :flags (bit1 start-dead launch-asap)) (sp-item 1632 :flags (bit1 start-dead launch-asap)) @@ -1466,8 +1409,7 @@ ;; failed to figure out what this is: (defpart 1633 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.9)) (sp-flt spt-y (meters 0.9)) @@ -1486,8 +1428,7 @@ ;; failed to figure out what this is: (defpart 1632 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 5.3333335)) (sp-flt spt-y (meters 5.111111)) @@ -1511,8 +1452,7 @@ ;; failed to figure out what this is: (defpart 1634 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.9)) (sp-flt spt-y (meters 1.2)) (sp-int spt-rot-x 6) @@ -1535,8 +1475,7 @@ (defpartgroup group-sunken-heatpipe-334 :id 410 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1636 :fade-after (meters 80) :falloff-to (meters 80) :binding 1635) + :parts ((sp-item 1636 :fade-after (meters 80) :falloff-to (meters 80) :binding 1635) (sp-item 1635 :flags (bit1 start-dead launch-asap)) (sp-item 1635 :flags (bit1 start-dead launch-asap)) (sp-item 1635 :flags (bit1 start-dead launch-asap)) @@ -1568,8 +1507,7 @@ ;; failed to figure out what this is: (defpart 1636 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.9)) (sp-flt spt-y (meters 0.7)) @@ -1588,8 +1526,7 @@ ;; failed to figure out what this is: (defpart 1635 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 5.111111)) (sp-flt spt-y (meters 5.111111)) @@ -1613,8 +1550,7 @@ ;; failed to figure out what this is: (defpart 1637 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -1.9)) (sp-flt spt-y (meters 1)) (sp-int spt-rot-x 6) @@ -1637,8 +1573,7 @@ (defpartgroup group-sunken-heatpipe-335 :id 411 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1639 :fade-after (meters 80) :falloff-to (meters 80) :binding 1638) + :parts ((sp-item 1639 :fade-after (meters 80) :falloff-to (meters 80) :binding 1638) (sp-item 1638 :flags (bit1 start-dead launch-asap)) (sp-item 1638 :flags (bit1 start-dead launch-asap)) (sp-item 1638 :flags (bit1 start-dead launch-asap)) @@ -1670,8 +1605,7 @@ ;; failed to figure out what this is: (defpart 1639 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -1690,8 +1624,7 @@ ;; failed to figure out what this is: (defpart 1638 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 4.4444447)) (sp-flt spt-y (meters 5.111111)) @@ -1715,8 +1648,7 @@ ;; failed to figure out what this is: (defpart 1640 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -1739,8 +1671,7 @@ (defpartgroup group-sunken-heatpipe-336 :id 412 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1642 :fade-after (meters 80) :falloff-to (meters 80) :binding 1641) + :parts ((sp-item 1642 :fade-after (meters 80) :falloff-to (meters 80) :binding 1641) (sp-item 1641 :flags (bit1 start-dead launch-asap)) (sp-item 1641 :flags (bit1 start-dead launch-asap)) (sp-item 1641 :flags (bit1 start-dead launch-asap)) @@ -1772,8 +1703,7 @@ ;; failed to figure out what this is: (defpart 1642 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -1792,8 +1722,7 @@ ;; failed to figure out what this is: (defpart 1641 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 3.7777777)) (sp-flt spt-y (meters 5.111111)) @@ -1817,8 +1746,7 @@ ;; failed to figure out what this is: (defpart 1643 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -1841,8 +1769,7 @@ (defpartgroup group-sunken-heatpipe-337 :id 413 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1645 :fade-after (meters 80) :falloff-to (meters 80) :binding 1644) + :parts ((sp-item 1645 :fade-after (meters 80) :falloff-to (meters 80) :binding 1644) (sp-item 1644 :flags (bit1 start-dead launch-asap)) (sp-item 1644 :flags (bit1 start-dead launch-asap)) (sp-item 1644 :flags (bit1 start-dead launch-asap)) @@ -1874,8 +1801,7 @@ ;; failed to figure out what this is: (defpart 1645 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -1894,8 +1820,7 @@ ;; failed to figure out what this is: (defpart 1644 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 2.4444444)) (sp-flt spt-y (meters 5.111111)) @@ -1919,8 +1844,7 @@ ;; failed to figure out what this is: (defpart 1646 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -1943,8 +1867,7 @@ (defpartgroup group-sunken-heatpipe-338 :id 414 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1648 :fade-after (meters 80) :falloff-to (meters 80) :binding 1647) + :parts ((sp-item 1648 :fade-after (meters 80) :falloff-to (meters 80) :binding 1647) (sp-item 1647 :flags (bit1 start-dead launch-asap)) (sp-item 1647 :flags (bit1 start-dead launch-asap)) (sp-item 1647 :flags (bit1 start-dead launch-asap)) @@ -1976,8 +1899,7 @@ ;; failed to figure out what this is: (defpart 1648 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -1996,8 +1918,7 @@ ;; failed to figure out what this is: (defpart 1647 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 1.7777778)) (sp-flt spt-y (meters 5.111111)) @@ -2021,8 +1942,7 @@ ;; failed to figure out what this is: (defpart 1649 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -2045,8 +1965,7 @@ (defpartgroup group-sunken-heatpipe-339 :id 415 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1651 :fade-after (meters 80) :falloff-to (meters 80) :binding 1650) + :parts ((sp-item 1651 :fade-after (meters 80) :falloff-to (meters 80) :binding 1650) (sp-item 1650 :flags (bit1 start-dead launch-asap)) (sp-item 1650 :flags (bit1 start-dead launch-asap)) (sp-item 1650 :flags (bit1 start-dead launch-asap)) @@ -2078,8 +1997,7 @@ ;; failed to figure out what this is: (defpart 1651 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.3)) @@ -2098,8 +2016,7 @@ ;; failed to figure out what this is: (defpart 1650 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 0.44444445)) (sp-flt spt-y (meters 4.4444447)) @@ -2123,8 +2040,7 @@ ;; failed to figure out what this is: (defpart 1652 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -2147,8 +2063,7 @@ (defpartgroup group-sunken-heatpipe-340 :id 416 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1654 :fade-after (meters 80) :falloff-to (meters 80) :binding 1653) + :parts ((sp-item 1654 :fade-after (meters 80) :falloff-to (meters 80) :binding 1653) (sp-item 1653 :flags (bit1 start-dead launch-asap)) (sp-item 1653 :flags (bit1 start-dead launch-asap)) (sp-item 1653 :flags (bit1 start-dead launch-asap)) @@ -2180,8 +2095,7 @@ ;; failed to figure out what this is: (defpart 1654 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.5)) @@ -2200,8 +2114,7 @@ ;; failed to figure out what this is: (defpart 1653 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 3.1111112)) (sp-flt spt-y (meters 3.5555556)) @@ -2225,8 +2138,7 @@ ;; failed to figure out what this is: (defpart 1655 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -2249,8 +2161,7 @@ (defpartgroup group-sunken-heatpipe-341 :id 417 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1657 :fade-after (meters 80) :falloff-to (meters 80) :binding 1656) + :parts ((sp-item 1657 :fade-after (meters 80) :falloff-to (meters 80) :binding 1656) (sp-item 1656 :flags (bit1 start-dead launch-asap)) (sp-item 1656 :flags (bit1 start-dead launch-asap)) (sp-item 1656 :flags (bit1 start-dead launch-asap)) @@ -2282,8 +2193,7 @@ ;; failed to figure out what this is: (defpart 1657 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.3)) @@ -2302,8 +2212,7 @@ ;; failed to figure out what this is: (defpart 1656 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 3.7777777)) (sp-flt spt-y (meters 3.5555556)) @@ -2327,8 +2236,7 @@ ;; failed to figure out what this is: (defpart 1658 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -2351,8 +2259,7 @@ (defpartgroup group-sunken-heatpipe-357 :id 418 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1660 :fade-after (meters 80) :falloff-to (meters 80) :binding 1659) + :parts ((sp-item 1660 :fade-after (meters 80) :falloff-to (meters 80) :binding 1659) (sp-item 1659 :flags (bit1 start-dead launch-asap)) (sp-item 1659 :flags (bit1 start-dead launch-asap)) (sp-item 1659 :flags (bit1 start-dead launch-asap)) @@ -2384,8 +2291,7 @@ ;; failed to figure out what this is: (defpart 1660 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.3)) @@ -2404,8 +2310,7 @@ ;; failed to figure out what this is: (defpart 1659 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 1.7777778)) (sp-flt spt-y (meters 3.5555556)) @@ -2429,8 +2334,7 @@ ;; failed to figure out what this is: (defpart 1661 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -2453,8 +2357,7 @@ (defpartgroup group-sunken-heatpipe-356 :id 419 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1663 :fade-after (meters 80) :falloff-to (meters 80) :binding 1662) + :parts ((sp-item 1663 :fade-after (meters 80) :falloff-to (meters 80) :binding 1662) (sp-item 1662 :flags (bit1 start-dead launch-asap)) (sp-item 1662 :flags (bit1 start-dead launch-asap)) (sp-item 1662 :flags (bit1 start-dead launch-asap)) @@ -2486,8 +2389,7 @@ ;; failed to figure out what this is: (defpart 1663 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.3)) @@ -2506,8 +2408,7 @@ ;; failed to figure out what this is: (defpart 1662 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 1.7777778)) (sp-flt spt-y (meters 4.4444447)) @@ -2531,8 +2432,7 @@ ;; failed to figure out what this is: (defpart 1664 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -2555,8 +2455,7 @@ (defpartgroup group-sunken-heatpipe-354 :id 420 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1666 :fade-after (meters 80) :falloff-to (meters 80) :binding 1665) + :parts ((sp-item 1666 :fade-after (meters 80) :falloff-to (meters 80) :binding 1665) (sp-item 1665 :flags (bit1 start-dead launch-asap)) (sp-item 1665 :flags (bit1 start-dead launch-asap)) (sp-item 1665 :flags (bit1 start-dead launch-asap)) @@ -2588,8 +2487,7 @@ ;; failed to figure out what this is: (defpart 1666 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.3)) @@ -2608,8 +2506,7 @@ ;; failed to figure out what this is: (defpart 1665 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 2.6666667)) (sp-flt spt-y (meters 4.4444447)) @@ -2633,8 +2530,7 @@ ;; failed to figure out what this is: (defpart 1667 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -2657,14 +2553,12 @@ (defpartgroup group-sunken-sheild :id 565 :bounds (static-bspherem 0 0 0 32) - :parts - ((sp-item 2311) (sp-item 2312 :flags (is-3d))) + :parts ((sp-item 2311) (sp-item 2312 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 2312 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-rnd-flt spt-num 0.1 0.6 1.0) (sp-rnd-flt spt-x (meters 0) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) @@ -2689,14 +2583,12 @@ ;; failed to figure out what this is: (defpart 2313 - :init-specs - ((sp-flt spt-fade-a 0.0)) + :init-specs ((sp-flt spt-fade-a 0.0)) ) ;; failed to figure out what this is: (defpart 2311 - :init-specs - ((sp-rnd-flt spt-num 4.0 2.0 1.0) + :init-specs ((sp-rnd-flt spt-num 4.0 2.0 1.0) (sp-rnd-flt spt-x (meters 2) (meters 17) 1.0) (sp-flt spt-y (meters -6)) (sp-int spt-rot-x 8) @@ -2715,6 +2607,5 @@ ;; failed to figure out what this is: (defpart 2314 - :init-specs - ((sp-flt spt-fade-b 32.768)) + :init-specs ((sp-flt spt-fade-b 32.768)) ) diff --git a/test/decompiler/reference/levels/sunken/sunken-part5_REF.gc b/test/decompiler/reference/levels/sunken/sunken-part5_REF.gc index c47b010de1..52fed3f6e5 100644 --- a/test/decompiler/reference/levels/sunken/sunken-part5_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-part5_REF.gc @@ -5,8 +5,7 @@ (defpartgroup group-sunken-heatpipe-227 :id 421 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1669 :fade-after (meters 80) :falloff-to (meters 80) :binding 1668) + :parts ((sp-item 1669 :fade-after (meters 80) :falloff-to (meters 80) :binding 1668) (sp-item 1668 :flags (bit1 start-dead launch-asap)) (sp-item 1668 :flags (bit1 start-dead launch-asap)) (sp-item 1668 :flags (bit1 start-dead launch-asap)) @@ -38,8 +37,7 @@ ;; failed to figure out what this is: (defpart 1669 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) @@ -58,8 +56,7 @@ ;; failed to figure out what this is: (defpart 1668 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -1.7777778)) (sp-flt spt-y (meters 4.888889)) @@ -83,8 +80,7 @@ ;; failed to figure out what this is: (defpart 1670 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.90000004)) (sp-int spt-rot-x 6) @@ -107,8 +103,7 @@ (defpartgroup group-sunken-heatpipe-238 :id 422 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1672 :fade-after (meters 80) :falloff-to (meters 80) :binding 1671) + :parts ((sp-item 1672 :fade-after (meters 80) :falloff-to (meters 80) :binding 1671) (sp-item 1671 :flags (bit1 start-dead launch-asap)) (sp-item 1671 :flags (bit1 start-dead launch-asap)) (sp-item 1671 :flags (bit1 start-dead launch-asap)) @@ -140,8 +135,7 @@ ;; failed to figure out what this is: (defpart 1672 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) @@ -160,8 +154,7 @@ ;; failed to figure out what this is: (defpart 1671 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -0.44444445)) (sp-flt spt-y (meters 4.888889)) @@ -185,8 +178,7 @@ ;; failed to figure out what this is: (defpart 1673 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.90000004)) (sp-int spt-rot-x 6) @@ -209,8 +201,7 @@ (defpartgroup group-sunken-heatpipe-239 :id 423 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1675 :fade-after (meters 80) :falloff-to (meters 80) :binding 1674) + :parts ((sp-item 1675 :fade-after (meters 80) :falloff-to (meters 80) :binding 1674) (sp-item 1674 :flags (bit1 start-dead launch-asap)) (sp-item 1674 :flags (bit1 start-dead launch-asap)) (sp-item 1674 :flags (bit1 start-dead launch-asap)) @@ -242,8 +233,7 @@ ;; failed to figure out what this is: (defpart 1675 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) @@ -262,8 +252,7 @@ ;; failed to figure out what this is: (defpart 1674 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -1.1111112)) (sp-flt spt-y (meters 4.888889)) @@ -287,8 +276,7 @@ ;; failed to figure out what this is: (defpart 1676 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.90000004)) (sp-int spt-rot-x 6) @@ -311,8 +299,7 @@ (defpartgroup group-sunken-heatpipe-240 :id 424 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1678 :fade-after (meters 80) :falloff-to (meters 80) :binding 1677) + :parts ((sp-item 1678 :fade-after (meters 80) :falloff-to (meters 80) :binding 1677) (sp-item 1677 :flags (bit1 start-dead launch-asap)) (sp-item 1677 :flags (bit1 start-dead launch-asap)) (sp-item 1677 :flags (bit1 start-dead launch-asap)) @@ -344,8 +331,7 @@ ;; failed to figure out what this is: (defpart 1678 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) @@ -364,8 +350,7 @@ ;; failed to figure out what this is: (defpart 1677 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 4.888889)) @@ -389,8 +374,7 @@ ;; failed to figure out what this is: (defpart 1679 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.90000004)) (sp-int spt-rot-x 6) @@ -413,8 +397,7 @@ (defpartgroup group-sunken-heatpipe-241 :id 425 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1681 :fade-after (meters 80) :falloff-to (meters 80) :binding 1680) + :parts ((sp-item 1681 :fade-after (meters 80) :falloff-to (meters 80) :binding 1680) (sp-item 1680 :flags (bit1 start-dead launch-asap)) (sp-item 1680 :flags (bit1 start-dead launch-asap)) (sp-item 1680 :flags (bit1 start-dead launch-asap)) @@ -446,8 +429,7 @@ ;; failed to figure out what this is: (defpart 1681 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) @@ -466,8 +448,7 @@ ;; failed to figure out what this is: (defpart 1680 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -0.6666667)) (sp-flt spt-y (meters 4.888889)) @@ -491,8 +472,7 @@ ;; failed to figure out what this is: (defpart 1682 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.90000004)) (sp-int spt-rot-x 6) @@ -515,8 +495,7 @@ (defpartgroup group-sunken-heatpipe-242 :id 426 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1684 :fade-after (meters 80) :falloff-to (meters 80) :binding 1683) + :parts ((sp-item 1684 :fade-after (meters 80) :falloff-to (meters 80) :binding 1683) (sp-item 1683 :flags (bit1 start-dead launch-asap)) (sp-item 1683 :flags (bit1 start-dead launch-asap)) (sp-item 1683 :flags (bit1 start-dead launch-asap)) @@ -548,8 +527,7 @@ ;; failed to figure out what this is: (defpart 1684 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) @@ -568,8 +546,7 @@ ;; failed to figure out what this is: (defpart 1683 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 4.888889)) @@ -593,8 +570,7 @@ ;; failed to figure out what this is: (defpart 1685 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.90000004)) (sp-int spt-rot-x 6) @@ -617,8 +593,7 @@ (defpartgroup group-sunken-heatpipe-243 :id 427 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1687 :fade-after (meters 80) :falloff-to (meters 80) :binding 1686) + :parts ((sp-item 1687 :fade-after (meters 80) :falloff-to (meters 80) :binding 1686) (sp-item 1686 :flags (bit1 start-dead launch-asap)) (sp-item 1686 :flags (bit1 start-dead launch-asap)) (sp-item 1686 :flags (bit1 start-dead launch-asap)) @@ -650,8 +625,7 @@ ;; failed to figure out what this is: (defpart 1687 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.4)) @@ -670,8 +644,7 @@ ;; failed to figure out what this is: (defpart 1686 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -2.4444444)) (sp-flt spt-y (meters 4.4444447)) @@ -695,8 +668,7 @@ ;; failed to figure out what this is: (defpart 1688 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.70000005)) (sp-int spt-rot-x 6) @@ -719,8 +691,7 @@ (defpartgroup group-sunken-heatpipe-278 :id 428 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1690 :fade-after (meters 80) :falloff-to (meters 80) :binding 1689) + :parts ((sp-item 1690 :fade-after (meters 80) :falloff-to (meters 80) :binding 1689) (sp-item 1689 :flags (bit1 start-dead launch-asap)) (sp-item 1689 :flags (bit1 start-dead launch-asap)) (sp-item 1689 :flags (bit1 start-dead launch-asap)) @@ -752,8 +723,7 @@ ;; failed to figure out what this is: (defpart 1690 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.4)) @@ -772,8 +742,7 @@ ;; failed to figure out what this is: (defpart 1689 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -3.0222223)) (sp-flt spt-y (meters 4.6666665)) @@ -797,8 +766,7 @@ ;; failed to figure out what this is: (defpart 1691 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.70000005)) (sp-int spt-rot-x 6) @@ -821,8 +789,7 @@ (defpartgroup group-sunken-heatpipe-251 :id 429 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1693 :fade-after (meters 80) :falloff-to (meters 80) :binding 1692) + :parts ((sp-item 1693 :fade-after (meters 80) :falloff-to (meters 80) :binding 1692) (sp-item 1692 :flags (bit1 start-dead launch-asap)) (sp-item 1692 :flags (bit1 start-dead launch-asap)) (sp-item 1692 :flags (bit1 start-dead launch-asap)) @@ -854,8 +821,7 @@ ;; failed to figure out what this is: (defpart 1693 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.4)) @@ -874,8 +840,7 @@ ;; failed to figure out what this is: (defpart 1692 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -2.1333334)) (sp-flt spt-y (meters 4.6666665)) @@ -899,8 +864,7 @@ ;; failed to figure out what this is: (defpart 1694 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.70000005)) (sp-int spt-rot-x 6) @@ -923,8 +887,7 @@ (defpartgroup group-sunken-heatpipe-254 :id 430 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1696 :fade-after (meters 80) :falloff-to (meters 80) :binding 1695) + :parts ((sp-item 1696 :fade-after (meters 80) :falloff-to (meters 80) :binding 1695) (sp-item 1695 :flags (bit1 start-dead launch-asap)) (sp-item 1695 :flags (bit1 start-dead launch-asap)) (sp-item 1695 :flags (bit1 start-dead launch-asap)) @@ -956,8 +919,7 @@ ;; failed to figure out what this is: (defpart 1696 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.4)) @@ -976,8 +938,7 @@ ;; failed to figure out what this is: (defpart 1695 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -3.911111)) (sp-flt spt-y (meters 4.6666665)) @@ -1001,8 +962,7 @@ ;; failed to figure out what this is: (defpart 1697 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.70000005)) (sp-int spt-rot-x 6) @@ -1025,8 +985,7 @@ (defpartgroup group-sunken-heatpipe-264 :id 431 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1699 :fade-after (meters 80) :falloff-to (meters 80) :binding 1698) + :parts ((sp-item 1699 :fade-after (meters 80) :falloff-to (meters 80) :binding 1698) (sp-item 1698 :flags (bit1 start-dead launch-asap)) (sp-item 1698 :flags (bit1 start-dead launch-asap)) (sp-item 1698 :flags (bit1 start-dead launch-asap)) @@ -1058,8 +1017,7 @@ ;; failed to figure out what this is: (defpart 1699 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.4)) @@ -1078,8 +1036,7 @@ ;; failed to figure out what this is: (defpart 1698 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -4.6666665)) (sp-flt spt-y (meters 4.6666665)) @@ -1103,8 +1060,7 @@ ;; failed to figure out what this is: (defpart 1700 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.70000005)) (sp-int spt-rot-x 6) @@ -1127,8 +1083,7 @@ (defpartgroup group-sunken-heatpipe-265 :id 432 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1702 :fade-after (meters 80) :falloff-to (meters 80) :binding 1701) + :parts ((sp-item 1702 :fade-after (meters 80) :falloff-to (meters 80) :binding 1701) (sp-item 1701 :flags (bit1 start-dead launch-asap)) (sp-item 1701 :flags (bit1 start-dead launch-asap)) (sp-item 1701 :flags (bit1 start-dead launch-asap)) @@ -1160,8 +1115,7 @@ ;; failed to figure out what this is: (defpart 1702 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.4)) @@ -1180,8 +1134,7 @@ ;; failed to figure out what this is: (defpart 1701 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -5.3333335)) (sp-flt spt-y (meters 4.6666665)) @@ -1205,8 +1158,7 @@ ;; failed to figure out what this is: (defpart 1703 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.70000005)) (sp-int spt-rot-x 6) @@ -1229,8 +1181,7 @@ (defpartgroup group-sunken-heatpipe-266 :id 433 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1705 :fade-after (meters 80) :falloff-to (meters 80) :binding 1704) + :parts ((sp-item 1705 :fade-after (meters 80) :falloff-to (meters 80) :binding 1704) (sp-item 1704 :flags (bit1 start-dead launch-asap)) (sp-item 1704 :flags (bit1 start-dead launch-asap)) (sp-item 1704 :flags (bit1 start-dead launch-asap)) @@ -1262,8 +1213,7 @@ ;; failed to figure out what this is: (defpart 1705 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.6)) @@ -1282,8 +1232,7 @@ ;; failed to figure out what this is: (defpart 1704 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -6.4444447)) (sp-flt spt-y (meters 4.888889)) @@ -1307,8 +1256,7 @@ ;; failed to figure out what this is: (defpart 1706 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.90000004)) (sp-int spt-rot-x 6) @@ -1331,8 +1279,7 @@ (defpartgroup group-sunken-heatpipe-267 :id 434 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1708 :fade-after (meters 80) :falloff-to (meters 80) :binding 1707) + :parts ((sp-item 1708 :fade-after (meters 80) :falloff-to (meters 80) :binding 1707) (sp-item 1707 :flags (bit1 start-dead launch-asap)) (sp-item 1707 :flags (bit1 start-dead launch-asap)) (sp-item 1707 :flags (bit1 start-dead launch-asap)) @@ -1364,8 +1311,7 @@ ;; failed to figure out what this is: (defpart 1708 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.7)) @@ -1384,8 +1330,7 @@ ;; failed to figure out what this is: (defpart 1707 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -7.7777777)) (sp-flt spt-y (meters 5.111111)) @@ -1409,8 +1354,7 @@ ;; failed to figure out what this is: (defpart 1709 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 1)) (sp-int spt-rot-x 6) @@ -1433,8 +1377,7 @@ (defpartgroup group-sunken-heatpipe-268 :id 435 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1711 :fade-after (meters 80) :falloff-to (meters 80) :binding 1710) + :parts ((sp-item 1711 :fade-after (meters 80) :falloff-to (meters 80) :binding 1710) (sp-item 1710 :flags (bit1 start-dead launch-asap)) (sp-item 1710 :flags (bit1 start-dead launch-asap)) (sp-item 1710 :flags (bit1 start-dead launch-asap)) @@ -1466,8 +1409,7 @@ ;; failed to figure out what this is: (defpart 1711 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 0.7)) @@ -1486,8 +1428,7 @@ ;; failed to figure out what this is: (defpart 1710 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -9.333333)) (sp-flt spt-y (meters 4.6666665)) @@ -1511,8 +1452,7 @@ ;; failed to figure out what this is: (defpart 1712 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2)) (sp-flt spt-y (meters 1)) (sp-int spt-rot-x 6) diff --git a/test/decompiler/reference/levels/sunken/sunken-part_REF.gc b/test/decompiler/reference/levels/sunken/sunken-part_REF.gc index 0607161174..80f8dda5aa 100644 --- a/test/decompiler/reference/levels/sunken/sunken-part_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-part_REF.gc @@ -22,8 +22,7 @@ (defpartgroup group-sunken-heatpipe-183 :id 332 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1420 :fade-after (meters 80) :falloff-to (meters 80) :binding 1419) + :parts ((sp-item 1420 :fade-after (meters 80) :falloff-to (meters 80) :binding 1419) (sp-item 1419 :flags (bit1 start-dead launch-asap)) (sp-item 1419 :flags (bit1 start-dead launch-asap)) (sp-item 1419 :flags (bit1 start-dead launch-asap)) @@ -55,8 +54,7 @@ ;; failed to figure out what this is: (defpart 1420 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.5)) (sp-flt spt-y (meters 0.2)) @@ -74,8 +72,7 @@ ;; failed to figure out what this is: (defpart 1419 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 4)) (sp-flt spt-y (meters 4.2222223)) @@ -99,14 +96,12 @@ ;; failed to figure out what this is: (defpart 1422 - :init-specs - ((sp-flt spt-fade-a -0.64)) + :init-specs ((sp-flt spt-fade-a -0.64)) ) ;; failed to figure out what this is: (defpart 1421 - :init-specs - ((sp-flt spt-num 0.25) + :init-specs ((sp-flt spt-num 0.25) (sp-flt spt-x (meters -2.5)) (sp-flt spt-y (meters 0.2)) (sp-int spt-rot-x 6) @@ -128,8 +123,7 @@ (defpartgroup group-sunken-tunnel-bubbles-27 :id 333 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1425 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1425 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1425 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1426 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1426 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) @@ -232,8 +226,7 @@ ;; failed to figure out what this is: (defpart 1427 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -37) (meters 64) 1.0) (sp-flt spt-y (meters -2)) @@ -256,8 +249,7 @@ ;; failed to figure out what this is: (defpart 1428 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -37) (meters 64) 1.0) (sp-flt spt-y (meters -2)) @@ -280,8 +272,7 @@ ;; failed to figure out what this is: (defpart 1425 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -37) (meters 64) 1.0) (sp-flt spt-y (meters -2)) @@ -299,8 +290,7 @@ ;; failed to figure out what this is: (defpart 1426 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -37) (meters 64) 1.0) (sp-flt spt-y (meters -2)) @@ -318,8 +308,7 @@ ;; failed to figure out what this is: (defpart 1429 - :init-specs - ((sp-flt spt-fade-a 0.0) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 1800 1799 1) (sp-launcher-by-id spt-next-launcher 1430) ) @@ -327,14 +316,12 @@ ;; failed to figure out what this is: (defpart 1430 - :init-specs - ((sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-a -0.10666667)) ) ;; failed to figure out what this is: (defpart 1423 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -361,8 +348,7 @@ ;; failed to figure out what this is: (defpart 1431 - :init-specs - ((sp-flt spt-scale-x (meters 1.2)) + :init-specs ((sp-flt spt-scale-x (meters 1.2)) (sp-flt spt-scale-y (meters 1)) (sp-flt spt-scalevel-x (meters 0.010000001)) (sp-flt spt-scalevel-y (meters -0.0033333334)) @@ -374,8 +360,7 @@ ;; failed to figure out what this is: (defpart 1432 - :init-specs - ((sp-flt spt-scale-x (meters 1.5)) + :init-specs ((sp-flt spt-scale-x (meters 1.5)) (sp-flt spt-scale-y (meters 0.9)) (sp-flt spt-scalevel-x (meters -0.010000001)) (sp-flt spt-scalevel-y (meters 0.0033333334)) @@ -386,8 +371,7 @@ ;; failed to figure out what this is: (defpart 1433 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 0)) (sp-flt spt-z (meters 0)) @@ -406,8 +390,7 @@ ;; failed to figure out what this is: (defpart 1424 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.25) (meters 0.5) 1.0) @@ -430,8 +413,7 @@ ;; failed to figure out what this is: (defpart 1434 - :init-specs - ((sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0016666667) 1.0) + :init-specs ((sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0016666667) 1.0) (sp-flt spt-accel-y -0.27306667) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 1435) @@ -440,16 +422,14 @@ ;; failed to figure out what this is: (defpart 1435 - :init-specs - ((sp-flt spt-fade-a -0.14222223)) + :init-specs ((sp-flt spt-fade-a -0.14222223)) ) ;; failed to figure out what this is: (defpartgroup group-sunken-tunnel-bubbles-32 :id 334 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1436 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1436 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1436 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1437 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1437 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) @@ -552,8 +532,7 @@ ;; failed to figure out what this is: (defpart 1438 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -24) (meters 48) 1.0) (sp-flt spt-y (meters -2)) @@ -576,8 +555,7 @@ ;; failed to figure out what this is: (defpart 1439 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.06) (sp-rnd-flt spt-x (meters -24) (meters 48) 1.0) (sp-flt spt-y (meters -2)) @@ -600,8 +578,7 @@ ;; failed to figure out what this is: (defpart 1436 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -24) (meters 48) 1.0) (sp-flt spt-y (meters -2)) @@ -619,8 +596,7 @@ ;; failed to figure out what this is: (defpart 1437 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -24) (meters 48) 1.0) (sp-flt spt-y (meters -2)) @@ -640,8 +616,7 @@ (defpartgroup group-sunken-tunnel-bubbles-33 :id 335 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1440 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1440 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1440 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1441 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1441 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) @@ -744,8 +719,7 @@ ;; failed to figure out what this is: (defpart 1442 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.02) (sp-rnd-flt spt-x (meters -13) (meters 25) 1.0) (sp-flt spt-y (meters -2)) @@ -768,8 +742,7 @@ ;; failed to figure out what this is: (defpart 1443 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.02) (sp-rnd-flt spt-x (meters -13) (meters 25) 1.0) (sp-flt spt-y (meters -2)) @@ -792,8 +765,7 @@ ;; failed to figure out what this is: (defpart 1440 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -13) (meters 25) 1.0) (sp-flt spt-y (meters -2)) @@ -811,8 +783,7 @@ ;; failed to figure out what this is: (defpart 1441 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -13) (meters 25) 1.0) (sp-flt spt-y (meters -2)) @@ -832,8 +803,7 @@ (defpartgroup group-sunken-tunnel-bubbles-199 :id 336 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1444 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1444 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1444 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1445 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1445 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) @@ -936,8 +906,7 @@ ;; failed to figure out what this is: (defpart 1446 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -25) (meters 36) 1.0) (sp-flt spt-y (meters -2)) @@ -960,8 +929,7 @@ ;; failed to figure out what this is: (defpart 1447 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -25) (meters 36) 1.0) (sp-flt spt-y (meters -2)) @@ -984,8 +952,7 @@ ;; failed to figure out what this is: (defpart 1444 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -25) (meters 36) 1.0) (sp-flt spt-y (meters -2)) @@ -1003,8 +970,7 @@ ;; failed to figure out what this is: (defpart 1445 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -25) (meters 36) 1.0) (sp-flt spt-y (meters -2)) @@ -1024,8 +990,7 @@ (defpartgroup group-sunken-tunnel-bubbles-281 :id 337 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1448 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1448 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1448 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1449 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1449 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) @@ -1128,8 +1093,7 @@ ;; failed to figure out what this is: (defpart 1450 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1152,8 +1116,7 @@ ;; failed to figure out what this is: (defpart 1451 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1176,8 +1139,7 @@ ;; failed to figure out what this is: (defpart 1448 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1195,8 +1157,7 @@ ;; failed to figure out what this is: (defpart 1449 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1216,8 +1177,7 @@ (defpartgroup group-sunken-tunnel-bubbles-202 :id 338 :bounds (static-bspherem 0 4 0 32) - :parts - ((sp-item 1452 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1452 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1452 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1453 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1453 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) @@ -1320,8 +1280,7 @@ ;; failed to figure out what this is: (defpart 1454 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -22) (meters 44) 1.0) (sp-flt spt-y (meters -2)) @@ -1344,8 +1303,7 @@ ;; failed to figure out what this is: (defpart 1455 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -22) (meters 44) 1.0) (sp-flt spt-y (meters -2)) @@ -1368,8 +1326,7 @@ ;; failed to figure out what this is: (defpart 1452 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -22) (meters 44) 1.0) (sp-flt spt-y (meters -2)) @@ -1387,8 +1344,7 @@ ;; failed to figure out what this is: (defpart 1453 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -22) (meters 44) 1.0) (sp-flt spt-y (meters -2)) @@ -1408,8 +1364,7 @@ (defpartgroup group-sunken-window-bubbles-35 :id 339 :bounds (static-bspherem 0 8 0 32) - :parts - ((sp-item 1456 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) + :parts ((sp-item 1456 :fade-after (meters 100) :falloff-to (meters 100) :period 600 :length 5 :binding 1423) (sp-item 1456 :fade-after (meters 160) :falloff-to (meters 160) :period 600 :length 5 :binding 1423) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) @@ -1462,8 +1417,7 @@ ;; failed to figure out what this is: (defpart 1457 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1486,8 +1440,7 @@ ;; failed to figure out what this is: (defpart 1456 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) (sp-flt spt-y (meters -2)) @@ -1507,14 +1460,12 @@ (defpartgroup group-sunken-helix-bubbles-398 :id 340 :bounds (static-bspherem 0 4 0 40) - :parts - ((sp-item 1458 :fade-after (meters 100) :falloff-to (meters 100))) + :parts ((sp-item 1458 :fade-after (meters 100) :falloff-to (meters 100))) ) ;; failed to figure out what this is: (defpart 1458 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.75) (sp-rnd-flt spt-x (meters -5) (meters 10) 1.0) (sp-rnd-flt spt-y (meters -10) (meters 15) 1.0) @@ -1537,8 +1488,7 @@ ;; failed to figure out what this is: (defpart 1459 - :init-specs - ((sp-flt spt-fade-a 0.0) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 900 899 1) (sp-launcher-by-id spt-next-launcher 1460) ) @@ -1546,22 +1496,19 @@ ;; failed to figure out what this is: (defpart 1460 - :init-specs - ((sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-a -0.10666667)) ) ;; failed to figure out what this is: (defpartgroup group-sunken-helix-bubbles-397 :id 341 :bounds (static-bspherem 0 4 0 40) - :parts - ((sp-item 1461 :fade-after (meters 100) :falloff-to (meters 100))) + :parts ((sp-item 1461 :fade-after (meters 100) :falloff-to (meters 100))) ) ;; failed to figure out what this is: (defpart 1461 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.75) (sp-rnd-flt spt-x (meters -5) (meters 10) 1.0) (sp-rnd-flt spt-y (meters -20) (meters 30) 1.0) @@ -1586,8 +1533,7 @@ (defpartgroup group-sunken-heatpipe-355 :id 342 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1463 :fade-after (meters 80) :falloff-to (meters 80) :binding 1462) + :parts ((sp-item 1463 :fade-after (meters 80) :falloff-to (meters 80) :binding 1462) (sp-item 1462 :flags (bit1 start-dead launch-asap)) (sp-item 1462 :flags (bit1 start-dead launch-asap)) (sp-item 1462 :flags (bit1 start-dead launch-asap)) @@ -1619,8 +1565,7 @@ ;; failed to figure out what this is: (defpart 1463 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -1639,8 +1584,7 @@ ;; failed to figure out what this is: (defpart 1462 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 2.6666667)) (sp-flt spt-y (meters 3.3333333)) @@ -1664,8 +1608,7 @@ ;; failed to figure out what this is: (defpart 1464 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -1688,8 +1631,7 @@ (defpartgroup group-sunken-heatpipe-361 :id 343 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1466 :fade-after (meters 80) :falloff-to (meters 80) :binding 1465) + :parts ((sp-item 1466 :fade-after (meters 80) :falloff-to (meters 80) :binding 1465) (sp-item 1465 :flags (bit1 start-dead launch-asap)) (sp-item 1465 :flags (bit1 start-dead launch-asap)) (sp-item 1465 :flags (bit1 start-dead launch-asap)) @@ -1721,8 +1663,7 @@ ;; failed to figure out what this is: (defpart 1466 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -1741,8 +1682,7 @@ ;; failed to figure out what this is: (defpart 1465 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 5.5555553)) (sp-flt spt-y (meters 3.3333333)) @@ -1766,8 +1706,7 @@ ;; failed to figure out what this is: (defpart 1467 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -1790,8 +1729,7 @@ (defpartgroup group-sunken-heatpipe-360 :id 344 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1469 :fade-after (meters 80) :falloff-to (meters 80) :binding 1468) + :parts ((sp-item 1469 :fade-after (meters 80) :falloff-to (meters 80) :binding 1468) (sp-item 1468 :flags (bit1 start-dead launch-asap)) (sp-item 1468 :flags (bit1 start-dead launch-asap)) (sp-item 1468 :flags (bit1 start-dead launch-asap)) @@ -1823,8 +1761,7 @@ ;; failed to figure out what this is: (defpart 1469 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -1843,8 +1780,7 @@ ;; failed to figure out what this is: (defpart 1468 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 5.5555553)) (sp-flt spt-y (meters 4.6666665)) @@ -1868,8 +1804,7 @@ ;; failed to figure out what this is: (defpart 1470 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -1892,8 +1827,7 @@ (defpartgroup group-sunken-heatpipe-377 :id 345 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1472 :fade-after (meters 80) :falloff-to (meters 80) :binding 1471) + :parts ((sp-item 1472 :fade-after (meters 80) :falloff-to (meters 80) :binding 1471) (sp-item 1471 :flags (bit1 start-dead launch-asap)) (sp-item 1471 :flags (bit1 start-dead launch-asap)) (sp-item 1471 :flags (bit1 start-dead launch-asap)) @@ -1925,8 +1859,7 @@ ;; failed to figure out what this is: (defpart 1472 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -1945,8 +1878,7 @@ ;; failed to figure out what this is: (defpart 1471 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 4.6666665)) (sp-flt spt-y (meters 4.6666665)) @@ -1970,8 +1902,7 @@ ;; failed to figure out what this is: (defpart 1473 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -1994,8 +1925,7 @@ (defpartgroup group-sunken-heatpipe-376 :id 346 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1475 :fade-after (meters 80) :falloff-to (meters 80) :binding 1474) + :parts ((sp-item 1475 :fade-after (meters 80) :falloff-to (meters 80) :binding 1474) (sp-item 1474 :flags (bit1 start-dead launch-asap)) (sp-item 1474 :flags (bit1 start-dead launch-asap)) (sp-item 1474 :flags (bit1 start-dead launch-asap)) @@ -2027,8 +1957,7 @@ ;; failed to figure out what this is: (defpart 1475 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -2047,8 +1976,7 @@ ;; failed to figure out what this is: (defpart 1474 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 4.6666665)) (sp-flt spt-y (meters 3.3333333)) @@ -2072,8 +2000,7 @@ ;; failed to figure out what this is: (defpart 1476 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -2096,8 +2023,7 @@ (defpartgroup group-sunken-heatpipe-375 :id 347 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1478 :fade-after (meters 80) :falloff-to (meters 80) :binding 1477) + :parts ((sp-item 1478 :fade-after (meters 80) :falloff-to (meters 80) :binding 1477) (sp-item 1477 :flags (bit1 start-dead launch-asap)) (sp-item 1477 :flags (bit1 start-dead launch-asap)) (sp-item 1477 :flags (bit1 start-dead launch-asap)) @@ -2129,8 +2055,7 @@ ;; failed to figure out what this is: (defpart 1478 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -2149,8 +2074,7 @@ ;; failed to figure out what this is: (defpart 1477 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 5.3333335)) (sp-flt spt-y (meters 4.4444447)) @@ -2174,8 +2098,7 @@ ;; failed to figure out what this is: (defpart 1479 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -2198,8 +2121,7 @@ (defpartgroup group-sunken-heatpipe-374 :id 348 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1481 :fade-after (meters 80) :falloff-to (meters 80) :binding 1480) + :parts ((sp-item 1481 :fade-after (meters 80) :falloff-to (meters 80) :binding 1480) (sp-item 1480 :flags (bit1 start-dead launch-asap)) (sp-item 1480 :flags (bit1 start-dead launch-asap)) (sp-item 1480 :flags (bit1 start-dead launch-asap)) @@ -2231,8 +2153,7 @@ ;; failed to figure out what this is: (defpart 1481 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -2251,8 +2172,7 @@ ;; failed to figure out what this is: (defpart 1480 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 5.3333335)) (sp-flt spt-y (meters 3.5555556)) @@ -2276,8 +2196,7 @@ ;; failed to figure out what this is: (defpart 1482 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -2300,8 +2219,7 @@ (defpartgroup group-sunken-heatpipe-363 :id 349 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1484 :fade-after (meters 80) :falloff-to (meters 80) :binding 1483) + :parts ((sp-item 1484 :fade-after (meters 80) :falloff-to (meters 80) :binding 1483) (sp-item 1483 :flags (bit1 start-dead launch-asap)) (sp-item 1483 :flags (bit1 start-dead launch-asap)) (sp-item 1483 :flags (bit1 start-dead launch-asap)) @@ -2333,8 +2251,7 @@ ;; failed to figure out what this is: (defpart 1484 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.3)) @@ -2353,8 +2270,7 @@ ;; failed to figure out what this is: (defpart 1483 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 1.4222223)) (sp-flt spt-y (meters 4.4444447)) @@ -2378,8 +2294,7 @@ ;; failed to figure out what this is: (defpart 1485 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -2402,8 +2317,7 @@ (defpartgroup group-sunken-heatpipe-362 :id 350 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1487 :fade-after (meters 80) :falloff-to (meters 80) :binding 1486) + :parts ((sp-item 1487 :fade-after (meters 80) :falloff-to (meters 80) :binding 1486) (sp-item 1486 :flags (bit1 start-dead launch-asap)) (sp-item 1486 :flags (bit1 start-dead launch-asap)) (sp-item 1486 :flags (bit1 start-dead launch-asap)) @@ -2435,8 +2349,7 @@ ;; failed to figure out what this is: (defpart 1487 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -2455,8 +2368,7 @@ ;; failed to figure out what this is: (defpart 1486 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 1.4222223)) (sp-flt spt-y (meters 3.5555556)) @@ -2480,8 +2392,7 @@ ;; failed to figure out what this is: (defpart 1488 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) @@ -2504,8 +2415,7 @@ (defpartgroup group-sunken-heatpipe-364 :id 351 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1490 :fade-after (meters 80) :falloff-to (meters 80) :binding 1489) + :parts ((sp-item 1490 :fade-after (meters 80) :falloff-to (meters 80) :binding 1489) (sp-item 1489 :flags (bit1 start-dead launch-asap)) (sp-item 1489 :flags (bit1 start-dead launch-asap)) (sp-item 1489 :flags (bit1 start-dead launch-asap)) @@ -2537,8 +2447,7 @@ ;; failed to figure out what this is: (defpart 1490 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.3)) @@ -2557,8 +2466,7 @@ ;; failed to figure out what this is: (defpart 1489 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -0.9777778)) (sp-flt spt-y (meters 3.5555556)) @@ -2582,8 +2490,7 @@ ;; failed to figure out what this is: (defpart 1491 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.6)) (sp-int spt-rot-x 6) @@ -2606,8 +2513,7 @@ (defpartgroup group-sunken-heatpipe-365 :id 352 :bounds (static-bspherem 0 1 0 3.5) - :parts - ((sp-item 1493 :fade-after (meters 80) :falloff-to (meters 80) :binding 1492) + :parts ((sp-item 1493 :fade-after (meters 80) :falloff-to (meters 80) :binding 1492) (sp-item 1492 :flags (bit1 start-dead launch-asap)) (sp-item 1492 :flags (bit1 start-dead launch-asap)) (sp-item 1492 :flags (bit1 start-dead launch-asap)) @@ -2639,8 +2545,7 @@ ;; failed to figure out what this is: (defpart 1493 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.5)) @@ -2659,8 +2564,7 @@ ;; failed to figure out what this is: (defpart 1492 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters -1.1111112)) (sp-flt spt-y (meters 4.4444447)) @@ -2684,8 +2588,7 @@ ;; failed to figure out what this is: (defpart 1494 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-flt spt-x (meters -2.2)) (sp-flt spt-y (meters 0.8)) (sp-int spt-rot-x 6) diff --git a/test/decompiler/reference/levels/sunken/sunken-pipegame_REF.gc b/test/decompiler/reference/levels/sunken/sunken-pipegame_REF.gc index 7c3da270d4..69131fe804 100644 --- a/test/decompiler/reference/levels/sunken/sunken-pipegame_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-pipegame_REF.gc @@ -102,14 +102,12 @@ :id 448 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1741) (sp-item 1742) (sp-item 1743) (sp-item 1744 :flags (is-3d))) + :parts ((sp-item 1741) (sp-item 1742) (sp-item 1743) (sp-item 1744 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 1741 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 10.0) (sp-flt spt-y (meters 6)) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -133,14 +131,12 @@ ;; failed to figure out what this is: (defpart 1745 - :init-specs - ((sp-flt spt-fade-a 0.0)) + :init-specs ((sp-flt spt-fade-a 0.0)) ) ;; failed to figure out what this is: (defpart 1742 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-y (meters 0) (meters 8) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -160,8 +156,7 @@ ;; failed to figure out what this is: (defpart 1743 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 4)) (sp-rnd-flt spt-scale-x (meters 7) (meters 1) 1.0) @@ -178,8 +173,7 @@ ;; failed to figure out what this is: (defpart 1744 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.3)) (sp-rnd-flt spt-scale-x (meters 5.5) (meters 2) 1.0) @@ -199,14 +193,12 @@ :id 449 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1746) (sp-item 1742) (sp-item 1747) (sp-item 1748 :flags (is-3d))) + :parts ((sp-item 1746) (sp-item 1742) (sp-item 1747) (sp-item 1748 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 1746 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 10.0) (sp-flt spt-y (meters 6)) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -230,8 +222,7 @@ ;; failed to figure out what this is: (defpart 1747 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 4)) (sp-rnd-flt spt-scale-x (meters 7) (meters 1) 1.0) @@ -248,8 +239,7 @@ ;; failed to figure out what this is: (defpart 1748 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.3)) (sp-rnd-flt spt-scale-x (meters 5.5) (meters 2) 1.0) @@ -269,14 +259,12 @@ :id 450 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1749) (sp-item 1742) (sp-item 1750) (sp-item 1751 :flags (is-3d))) + :parts ((sp-item 1749) (sp-item 1742) (sp-item 1750) (sp-item 1751 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 1749 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 10.0) (sp-flt spt-y (meters 6)) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -300,8 +288,7 @@ ;; failed to figure out what this is: (defpart 1750 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 4)) (sp-rnd-flt spt-scale-x (meters 7) (meters 1) 1.0) @@ -318,8 +305,7 @@ ;; failed to figure out what this is: (defpart 1751 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.3)) (sp-rnd-flt spt-scale-x (meters 5.5) (meters 2) 1.0) @@ -339,14 +325,12 @@ :id 451 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1752) (sp-item 1753) (sp-item 1754) (sp-item 1755 :flags (is-3d))) + :parts ((sp-item 1752) (sp-item 1753) (sp-item 1754) (sp-item 1755 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 1752 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -370,14 +354,12 @@ ;; failed to figure out what this is: (defpart 1756 - :init-specs - ((sp-flt spt-fade-a -1.4222223)) + :init-specs ((sp-flt spt-fade-a -1.4222223)) ) ;; failed to figure out what this is: (defpart 1753 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-y (meters 0) (meters -8) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -397,8 +379,7 @@ ;; failed to figure out what this is: (defpart 1754 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -3.5)) (sp-rnd-flt spt-scale-x (meters 3) (meters 0.5) 1.0) @@ -416,8 +397,7 @@ ;; failed to figure out what this is: (defpart 1755 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.3)) (sp-rnd-flt spt-scale-x (meters 5.5) (meters 2) 1.0) @@ -437,14 +417,12 @@ :id 452 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1757) (sp-item 1753) (sp-item 1758) (sp-item 1759 :flags (is-3d))) + :parts ((sp-item 1757) (sp-item 1753) (sp-item 1758) (sp-item 1759 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 1757 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -468,8 +446,7 @@ ;; failed to figure out what this is: (defpart 1758 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -3.5)) (sp-rnd-flt spt-scale-x (meters 3) (meters 0.5) 1.0) @@ -487,8 +464,7 @@ ;; failed to figure out what this is: (defpart 1759 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.3)) (sp-rnd-flt spt-scale-x (meters 5.5) (meters 2) 1.0) @@ -508,14 +484,12 @@ :id 453 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1760) (sp-item 1753) (sp-item 1761) (sp-item 1762 :flags (is-3d))) + :parts ((sp-item 1760) (sp-item 1753) (sp-item 1761) (sp-item 1762 :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 1760 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -539,8 +513,7 @@ ;; failed to figure out what this is: (defpart 1761 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -3.5)) (sp-rnd-flt spt-scale-x (meters 3) (meters 0.5) 1.0) @@ -558,8 +531,7 @@ ;; failed to figure out what this is: (defpart 1762 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.3)) (sp-rnd-flt spt-scale-x (meters 5.5) (meters 2) 1.0) @@ -599,8 +571,7 @@ ;; failed to figure out what this is: (defstate sunken-pipegame-start-up (sunken-pipegame) - :code - (behavior () + :code (behavior () (suspend) (send-event (handle->process (-> self prize 0 actor-handle)) 'anim #f) (go sunken-pipegame-idle) @@ -610,8 +581,7 @@ ;; failed to figure out what this is: (defstate sunken-pipegame-idle (sunken-pipegame) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (when (= (-> arg0 type) sunken-pipegame-button) @@ -621,8 +591,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) @@ -632,8 +601,7 @@ ;; failed to figure out what this is: (defstate sunken-pipegame-begin-play (sunken-pipegame) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('notify) (case (-> arg0 type) @@ -644,8 +612,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (dummy-21 self #f) (set! (-> self abort-audio-if-beaten?) #f) (dotimes (gp-0 3) @@ -657,8 +624,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (v1-112 symbol)) (let ((gp-0 (-> *display* base-frame-counter))) (if (not (handle->process (-> self prize (-> self challenge) actor-handle))) @@ -669,66 +635,15 @@ (cond ((zero? v1-10) (ambient-hint-spawn "gamcam27" (the-as vector #f) *entity-pool* 'camera) - (let ((s5-0 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-0 - (let ((t9-4 (method-of-type pov-camera activate))) - (t9-4 (the-as pov-camera s5-0) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "pipegame-left" - 0 - #f - '() - ) - (-> s5-0 ppointer) - ) - ) + (process-spawn pov-camera (-> self root trans) *sunkencam-sg* "pipegame-left" 0 #f '() :to self) ) ((= v1-10 1) (ambient-hint-spawn "gamcam25" (the-as vector #f) *entity-pool* 'camera) - (let ((s5-1 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-1 - (let ((t9-8 (method-of-type pov-camera activate))) - (t9-8 (the-as pov-camera s5-1) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "pipegame-middle" - 0 - #f - '() - ) - (-> s5-1 ppointer) - ) - ) + (process-spawn pov-camera (-> self root trans) *sunkencam-sg* "pipegame-middle" 0 #f '() :to self) ) ((= v1-10 2) (ambient-hint-spawn "gamcam26" (the-as vector #f) *entity-pool* 'camera) - (let ((s5-2 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-2 - (let ((t9-12 (method-of-type pov-camera activate))) - (t9-12 (the-as pov-camera s5-2) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-2 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "pipegame-right" - 0 - #f - '() - ) - (-> s5-2 ppointer) - ) - ) + (process-spawn pov-camera (-> self root trans) *sunkencam-sg* "pipegame-right" 0 #f '() :to self) ) ) ) @@ -967,8 +882,7 @@ ;; failed to figure out what this is: (defstate sunken-pipegame-beat-challenge (sunken-pipegame) - :code - (behavior () + :code (behavior () (logior! (-> self challenges-mask) (ash 1 (-> self challenge))) (if (-> self abort-audio-if-beaten?) (kill-current-level-hint '(camera) '() 'exit) @@ -980,8 +894,7 @@ ;; failed to figure out what this is: (defstate sunken-pipegame-end-play (sunken-pipegame) - :code - (behavior () + :code (behavior () (local-vars (v1-3 symbol)) (dummy-21 self #t) (set! (-> self abort-audio-if-beaten?) #f) @@ -1200,17 +1113,7 @@ ) ) (vector+! s4-0 s4-0 (-> obj root trans)) - (let* ((s0-3 (get-process *default-dead-pool* sunken-pipegame-button #x4000)) - (v1-102 - (when s0-3 - (let ((t9-23 (method-of-type sunken-pipegame-button activate))) - (t9-23 (the-as sunken-pipegame-button s0-3) obj 'sunken-pipegame-button (the-as pointer #x70004000)) - ) - (run-now-in-process s0-3 sunken-pipegame-button-init-by-other s4-0 s3-0 arg0 s1-1) - (-> s0-3 ppointer) - ) - ) - ) + (let ((v1-102 (process-spawn sunken-pipegame-button s4-0 s3-0 arg0 s1-1 :to obj))) (set! (-> obj button s2-0) (the-as (pointer sunken-pipegame-button) v1-102)) (set! (-> (the-as (pointer sunken-pipegame-button) v1-102) 0 button-id) s2-0) ) diff --git a/test/decompiler/reference/levels/sunken/sunken-water_REF.gc b/test/decompiler/reference/levels/sunken/sunken-water_REF.gc index 8d9ba1dc05..54ec1db62e 100644 --- a/test/decompiler/reference/levels/sunken/sunken-water_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-water_REF.gc @@ -44,8 +44,7 @@ :count 3 :converted #f :normal-scale 1.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 40.0 :xdiv -1 :zdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) @@ -59,14 +58,12 @@ :id 446 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1736 :fade-after (meters 50))) + :parts ((sp-item 1736 :fade-after (meters 50))) ) ;; failed to figure out what this is: (defpart 1736 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 1) (meters 4) 1.0) @@ -87,8 +84,7 @@ ;; failed to figure out what this is: (defpart 2022 - :init-specs - ((sp-flt spt-r 255.0) (sp-rnd-flt spt-g 128.0 128.0 1.0) (sp-flt spt-b 0.0) (sp-flt spt-fade-a -1.28)) + :init-specs ((sp-flt spt-r 255.0) (sp-rnd-flt spt-g 128.0 128.0 1.0) (sp-flt spt-b 0.0) (sp-flt spt-fade-a -1.28)) ) ;; definition for method 30 of type sunken-water @@ -116,8 +112,7 @@ ;; failed to figure out what this is: (defstate water-vol-idle (sunken-water) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('notify) (if (= (-> arg3 param 0) 'attack) @@ -129,8 +124,7 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (let ((t9-0 (-> (method-of-type water-anim water-vol-idle) trans))) (if t9-0 (t9-0) @@ -206,8 +200,7 @@ ) (none) ) - :post - (the-as (function none :behavior sunken-water) ja-post) + :post (the-as (function none :behavior sunken-water) ja-post) ) ;; definition for method 25 of type sunken-water diff --git a/test/decompiler/reference/levels/sunken/target-tube_REF.gc b/test/decompiler/reference/levels/sunken/target-tube_REF.gc index d28f8429f5..915931d02b 100644 --- a/test/decompiler/reference/levels/sunken/target-tube_REF.gc +++ b/test/decompiler/reference/levels/sunken/target-tube_REF.gc @@ -458,8 +458,7 @@ ;; failed to figure out what this is: (defstate target-tube-start (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (cond ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) 'tube @@ -494,8 +493,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (when (not (or (= (-> self next-state name) 'target-tube) (= (-> self next-state name) 'target-tube-jump) (= (-> self next-state name) 'target-tube-hit) @@ -521,8 +519,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (send-event *camera* 'set-slave-option #x6000) (target-exit) (set! *display-profile* #f) @@ -546,33 +543,35 @@ (set! (-> self control unknown-float01) 0.0) (logior! (-> self control root-prim prim-core action) (collide-action ca-13)) (remove-exit) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 4) - (set! (-> a1-4 message) 'update) - (set! (-> a1-4 param 0) (the-as uint (-> self tube centertube))) - (set! (-> a1-4 param 1) (the-as uint (-> self tube downtube))) - (set! (-> a1-4 param 2) (the-as uint (-> self tube sidetube))) - (set! (-> a1-4 param 3) (the-as uint (-> self tube foretube))) - (cond - ((< (the-as float (send-event-function (handle->process (-> self tube tube)) a1-4)) 0.5) - (vector-normalize-copy! (-> self control transv) (-> self tube downtube) 40960.0) - (forward-up-nopitch->quaternion - (-> self control dir-targ) - (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> self control transv) 1.0) - (-> self control dynam gravity-normal) - ) - (go target-tube-jump (-> *TARGET-bank* tube-jump-height-min) (-> *TARGET-bank* tube-jump-height-max)) - ) - (else - (go target-tube) + (cond + ((< (the-as + float + (send-event + (handle->process (-> self tube tube)) + 'update + (-> self tube centertube) + (-> self tube downtube) + (-> self tube sidetube) + (-> self tube foretube) + ) + ) + 0.5 ) + (vector-normalize-copy! (-> self control transv) (-> self tube downtube) 40960.0) + (forward-up-nopitch->quaternion + (-> self control dir-targ) + (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> self control transv) 1.0) + (-> self control dynam gravity-normal) + ) + (go target-tube-jump (-> *TARGET-bank* tube-jump-height-min) (-> *TARGET-bank* tube-jump-height-max)) + ) + (else + (go target-tube) ) ) (none) ) - :post - target-post + :post target-post ) ;; definition for function target-tube-turn-anim @@ -630,18 +629,14 @@ ;; failed to figure out what this is: (defstate target-tube (target) - :event - (-> target-tube-start event) - :enter - (behavior () + :event (-> target-tube-start event) + :enter (behavior () (set! (-> self control unknown-surface00) *tube-mods*) (set! (-> self control surf) *tube-surface*) (none) ) - :exit - (-> target-tube-start exit) - :trans - (behavior () + :exit (-> target-tube-start exit) + :trans (behavior () (if (and (logtest? (logior (logior (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) ) @@ -655,8 +650,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (case (ja-group) (((-> self draw art-group data 41) (-> self draw art-group data 38)) (ja-channel-push! 1 (seconds 0.04)) @@ -678,8 +672,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (target-tube-post) (none) ) @@ -687,20 +680,16 @@ ;; failed to figure out what this is: (defstate target-tube-jump (target) - :event - (-> target-tube-start event) - :enter - (behavior ((arg0 float) (arg1 float)) + :event (-> target-tube-start event) + :enter (behavior ((arg0 float) (arg1 float)) (set! (-> self state-time) (-> *display* base-frame-counter)) (init-var-jump arg0 arg1 (the-as vector #t) (the-as vector #f) (-> self control transv)) (logclear! (-> self control status) (cshape-moving-flags onsurf onground tsurf)) (set! (-> self control unknown-surface00) *tube-jump-mods*) (none) ) - :exit - (-> target-tube-start exit) - :trans - (behavior () + :exit (-> target-tube-start exit) + :trans (behavior () (if (logtest? (-> self control status) (cshape-moving-flags onsurf)) (go target-tube) ) @@ -712,8 +701,7 @@ ) (none) ) - :code - (behavior ((arg0 float) (arg1 float)) + :code (behavior ((arg0 float) (arg1 float)) (ja-channel-push! 1 (seconds 0.05)) (ja :group! (-> self draw art-group data 41) :num! (identity (ja-aframe 16.0 0))) (let ((f30-0 35.0) @@ -745,16 +733,13 @@ ) (none) ) - :post - (-> target-tube post) + :post (-> target-tube post) ) ;; failed to figure out what this is: (defstate target-tube-hit (target) - :event - (-> target-tube-start event) - :enter - (behavior ((arg0 symbol) (arg1 attack-info)) + :event (-> target-tube-start event) + :enter (behavior ((arg0 symbol) (arg1 attack-info)) (send-event (handle->process (-> self tube tube)) 'update @@ -765,8 +750,7 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (if (!= (-> self next-state name) 'target-tube-death) (logclear! (-> self state-flags) (state-flags sf03 sf15)) ) @@ -774,13 +758,12 @@ ((-> target-tube-start exit)) (none) ) - :code - (behavior ((arg0 symbol) (arg1 attack-info)) + :code (behavior ((arg0 symbol) (arg1 attack-info)) (let ((gp-0 (-> self attack-info))) (set! (-> self state-time) (-> *display* base-frame-counter)) (logior! (-> self state-flags) (state-flags sf03)) (set! (-> self game hit-time) (-> *display* base-frame-counter)) - (when (zero? (logand (-> arg1 mask) 2)) + (when (zero? (logand (-> arg1 mask) (attack-mask vector))) (vector-! (-> arg1 vector) (vector+float*! (new 'stack-no-clear 'vector) (-> self tube foretube) (-> self tube downtube) 20480.0) @@ -804,11 +787,14 @@ ) ) ) - (logior! (-> arg1 mask) 2) + (logior! (-> arg1 mask) (attack-mask vector)) ) - (when (and (logtest? (-> arg1 mask) 32) (= (-> arg1 mode) 'darkeco) (zero? (logand (-> arg1 mask) 128))) + (when (and (logtest? (-> arg1 mask) (attack-mask mode)) + (= (-> arg1 mode) 'darkeco) + (zero? (logand (-> arg1 mask) (attack-mask shove-up))) + ) (set! (-> arg1 shove-up) 12288.0) - (logior! (-> arg1 mask) 128) + (logior! (-> arg1 mask) (attack-mask shove-up)) ) (let ((v1-30 gp-0)) (set! (-> v1-30 attacker) (the-as handle #f)) @@ -864,16 +850,13 @@ (go target-tube) (none) ) - :post - target-post + :post target-post ) ;; failed to figure out what this is: (defstate target-tube-death (target) - :event - (-> target-death event) - :exit - (behavior () + :event (-> target-death event) + :exit (behavior () (logclear! (-> self state-flags) (state-flags sf03 sf15)) (target-exit) (clear-pending-settings-from-process *setting-control* self 'process-mask) @@ -881,8 +864,7 @@ ((-> target-tube-start exit)) (none) ) - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (local-vars (v1-40 symbol)) (set! (-> self neck flex-blend) 0.0) (target-timed-invulnerable-off self) @@ -913,8 +895,7 @@ (go target-tube) (none) ) - :post - target-no-stick-post + :post target-no-stick-post ) ;; definition of type slide-control @@ -1001,16 +982,14 @@ ;; failed to figure out what this is: (defstate slide-control-watch (slide-control) :virtual #t - :enter - (behavior () + :enter (behavior () (eval-path-curve-div! (-> self path) (-> self trans) 0.2 'interp) (eval-path-curve-div! (-> self path) (-> self root trans) 0.2 'interp) (TODO-RENAME-12 (-> self path) (-> self rot) 0.2) (set! (-> self pos) 0.2) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (and *target* (>= 81920.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) (and (< 0.0 (vector-dot (vector-! (new 'stack-no-clear 'vector) (-> *target* control trans) (-> self trans)) @@ -1024,15 +1003,13 @@ ) (none) ) - :code - (the-as (function none :behavior slide-control) anim-loop) + :code (the-as (function none :behavior slide-control) anim-loop) ) ;; failed to figure out what this is: (defstate slide-control-ride (slide-control) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('end-mode) (go-virtual slide-control-watch) @@ -1059,21 +1036,18 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self pos) 0.0) (set! (-> self target) (process->handle *target*)) (process-entity-status! self (entity-perm-status bit-3) #t) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self target) (the-as handle #f)) (process-entity-status! self (entity-perm-status bit-3) #f) (none) ) - :trans - (behavior () + :trans (behavior () (let ((gp-0 (handle->process (-> self target)))) (cond ((if (and (nonzero? gp-0) (type-type? (-> gp-0 type) process-drawable)) @@ -1087,8 +1061,7 @@ ) (none) ) - :code - (the-as (function none :behavior slide-control) anim-loop) + :code (the-as (function none :behavior slide-control) anim-loop) ) ;; definition for method 11 of type slide-control diff --git a/test/decompiler/reference/levels/sunken/wall-plat_REF.gc b/test/decompiler/reference/levels/sunken/wall-plat_REF.gc index 9530961af1..f17397d25b 100644 --- a/test/decompiler/reference/levels/sunken/wall-plat_REF.gc +++ b/test/decompiler/reference/levels/sunken/wall-plat_REF.gc @@ -46,16 +46,14 @@ ;; failed to figure out what this is: (defstate wall-plat-retracted (wall-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) (go wall-plat-extending) ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self extended-amount) 0.0) (move-to-point! (-> self root-override) (-> self in-trans)) (transform-post) @@ -70,25 +68,21 @@ ;; failed to figure out what this is: (defstate wall-plat-extending (wall-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) #f ) ) ) ) - :enter - (behavior () + :enter (behavior () (sound-play-by-name (static-sound-name "wall-plat") (new-sound-id) 1024 0 0 1 #t) (none) ) - :trans - (the-as (function none :behavior wall-plat) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior wall-plat) rider-trans) + :code (behavior () (restore-collide-with-as (-> self root-override)) (set! (-> self state-time) (-> *display* base-frame-counter)) (loop @@ -104,22 +98,19 @@ ) (none) ) - :post - (the-as (function none :behavior wall-plat) rider-post) + :post (the-as (function none :behavior wall-plat) rider-post) ) ;; failed to figure out what this is: (defstate wall-plat-extended (wall-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('untrigger) (go wall-plat-retracting) ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self extended-amount) 1.0) (move-to-point! (-> self root-override) (-> self out-trans)) (transform-post) @@ -133,25 +124,21 @@ ;; failed to figure out what this is: (defstate wall-plat-retracting (wall-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) #f ) ) ) ) - :enter - (behavior () + :enter (behavior () (sound-play-by-name (static-sound-name "wall-plat") (new-sound-id) 1024 0 0 1 #t) (none) ) - :trans - (the-as (function none :behavior wall-plat) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior wall-plat) rider-trans) + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (loop (seek! (-> self extended-amount) 0.0 (* 2.5 (-> *display* seconds-per-frame))) @@ -166,36 +153,30 @@ ) (none) ) - :post - (the-as (function none :behavior wall-plat) rider-post) + :post (the-as (function none :behavior wall-plat) rider-post) ) ;; failed to figure out what this is: (defstate wall-plat-sync-idle (wall-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) #f ) ) ) ) - :enter - (behavior () + :enter (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (the-as (function none :behavior wall-plat) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior wall-plat) rider-trans) + :code (behavior () (let ((gp-0 #f)) (loop (let ((f30-0 (get-current-phase-with-mirror (-> self sync)))) @@ -226,8 +207,7 @@ ) (none) ) - :post - (the-as (function none :behavior wall-plat) rider-post) + :post (the-as (function none :behavior wall-plat) rider-post) ) ;; definition for method 11 of type wall-plat diff --git a/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc b/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc index 9c228cc6ee..1e82d285c6 100644 --- a/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc +++ b/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc @@ -34,8 +34,7 @@ ;; failed to figure out what this is: (defstate wedge-plat-master-idle (wedge-plat-master) - :code - (behavior () + :code (behavior () (loop (set! (-> self rotate-inner) (the float @@ -141,8 +140,7 @@ ;; failed to figure out what this is: (defstate wedge-plat-idle (wedge-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'bonk) (dummy-22 self) @@ -150,10 +148,8 @@ ) ) ) - :trans - (the-as (function none :behavior wedge-plat) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior wedge-plat) plat-trans) + :code (behavior () (ja :num-func num-func-identity :frame-num (ja-aframe 0.0 0)) (loop (if (dummy-27 self) @@ -163,31 +159,27 @@ ) (none) ) - :post - (the-as (function none :behavior wedge-plat) plat-post) + :post (the-as (function none :behavior wedge-plat) plat-post) ) ;; failed to figure out what this is: (defstate wedge-plat-tip (wedge-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'bonk) (dummy-22 self) ) ((= v1-0 'touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) #f ) ) ) ) ) - :trans - (the-as (function none :behavior wedge-plat) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior wedge-plat) plat-trans) + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! (ja-aframe 60.0 0)) :frame-num (ja-aframe 0.0 0) @@ -224,8 +216,7 @@ (go wedge-plat-idle) (none) ) - :post - (the-as (function none :behavior wedge-plat) plat-post) + :post (the-as (function none :behavior wedge-plat) plat-post) ) ;; definition for method 11 of type wedge-plat @@ -329,8 +320,7 @@ ;; failed to figure out what this is: (defstate wedge-plat-outer-idle (wedge-plat-outer) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'bonk) (dummy-22 self) @@ -338,10 +328,8 @@ ) ) ) - :trans - (the-as (function none :behavior wedge-plat-outer) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior wedge-plat-outer) plat-trans) + :code (behavior () (loop (ja :num-func num-func-identity :frame-num (ja-aframe 0.0 0)) (if (dummy-27 self) @@ -351,30 +339,26 @@ ) (none) ) - :post - (the-as (function none :behavior wedge-plat-outer) plat-post) + :post (the-as (function none :behavior wedge-plat-outer) plat-post) ) ;; failed to figure out what this is: (defstate wedge-plat-outer-tip (wedge-plat-outer) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'bonk) (dummy-22 self) ) ((= v1-0 'touch) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) ) ) ) ) ) - :trans - (the-as (function none :behavior wedge-plat-outer) plat-trans) - :code - (behavior () + :trans (the-as (function none :behavior wedge-plat-outer) plat-trans) + :code (behavior () (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! (ja-aframe 60.0 0)) :frame-num (ja-aframe 0.0 0) @@ -411,8 +395,7 @@ (go wedge-plat-outer-idle) (none) ) - :post - (the-as (function none :behavior wedge-plat-outer) plat-post) + :post (the-as (function none :behavior wedge-plat-outer) plat-post) ) ;; definition for method 11 of type wedge-plat-outer diff --git a/test/decompiler/reference/levels/sunken/whirlpool_REF.gc b/test/decompiler/reference/levels/sunken/whirlpool_REF.gc index 086fd8c1ae..0b5d49b9c3 100644 --- a/test/decompiler/reference/levels/sunken/whirlpool_REF.gc +++ b/test/decompiler/reference/levels/sunken/whirlpool_REF.gc @@ -46,8 +46,7 @@ :id 447 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1739 :fade-after (meters 60) :falloff-to (meters 60) :binding 1737) + :parts ((sp-item 1739 :fade-after (meters 60) :falloff-to (meters 60) :binding 1737) (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) @@ -239,8 +238,7 @@ ;; failed to figure out what this is: (defpart 1739 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 6.6)) (sp-flt spt-scale-x (meters 0.2)) @@ -255,8 +253,7 @@ ;; failed to figure out what this is: (defpart 1737 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 0)) @@ -282,14 +279,12 @@ ;; failed to figure out what this is: (defpart 1740 - :init-specs - ((sp-flt spt-fade-a 0.0)) + :init-specs ((sp-flt spt-fade-a 0.0)) ) ;; failed to figure out what this is: (defpart 1738 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -338,8 +333,7 @@ ;; failed to figure out what this is: (defstate whirlpool-idle (whirlpool) - :trans - (behavior () + :trans (behavior () (let ((f30-0 (+ (* (get-current-phase-with-mirror (-> self sync)) (-> self spin-speed-delta)) (-> self spin-speed-idle)) ) @@ -363,10 +357,8 @@ ) (none) ) - :code - (the-as (function none :behavior whirlpool) anim-loop) - :post - (the-as (function none :behavior whirlpool) ja-post) + :code (the-as (function none :behavior whirlpool) anim-loop) + :post (the-as (function none :behavior whirlpool) ja-post) ) ;; definition for method 10 of type whirlpool diff --git a/test/decompiler/reference/levels/swamp/billy_REF.gc b/test/decompiler/reference/levels/swamp/billy_REF.gc index da4d70c442..2e1587ebb0 100644 --- a/test/decompiler/reference/levels/swamp/billy_REF.gc +++ b/test/decompiler/reference/levels/swamp/billy_REF.gc @@ -100,8 +100,7 @@ ;; failed to figure out what this is: (defstate billy-snack-eat (billy-snack) - :code - (behavior () + :code (behavior () (ja :group! farthy-snack-eat-ja) (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -114,22 +113,19 @@ ) (none) ) - :post - (the-as (function none :behavior billy-snack) ja-post) + :post (the-as (function none :behavior billy-snack) ja-post) ) ;; failed to figure out what this is: (defstate billy-snack-idle (billy-snack) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('eat) (go billy-snack-eat) ) ) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -139,8 +135,7 @@ ) (none) ) - :post - (the-as (function none :behavior billy-snack) ja-post) + :post (the-as (function none :behavior billy-snack) ja-post) ) ;; definition for function billy-snack-init-by-other @@ -193,20 +188,17 @@ ;; failed to figure out what this is: (defstate nav-enemy-idle (billy-rat) :virtual #t - :enter - (behavior () + :enter (behavior () (go-virtual nav-enemy-chase) (none) ) - :post - (the-as (function none :behavior billy-rat) nav-enemy-common-post) + :post (the-as (function none :behavior billy-rat) nav-enemy-common-post) ) ;; failed to figure out what this is: (defstate nav-enemy-die (billy-rat) :virtual #t - :code - (behavior () + :code (behavior () (nav-enemy-fall-and-play-death-anim (the-as art-joint-anim (-> self draw art-group data (-> self nav-info die-anim))) 1.0 @@ -222,13 +214,11 @@ ;; failed to figure out what this is: (defstate billy-rat-eat (billy-rat) - :trans - (behavior () + :trans (behavior () (seek-to-point-toward-point! (-> self collide-info) (-> self destination) 131072.0 (seconds 0.01)) (none) ) - :code - (behavior () + :code (behavior () (send-event (handle->process (-> self snack)) 'eat) (sound-play-by-name (static-sound-name "rat-gulp") (new-sound-id) 1024 0 0 1 #t) (ja-channel-push! 1 (seconds 0.05)) @@ -243,25 +233,21 @@ (go-virtual nav-enemy-chase) (none) ) - :post - (the-as (function none :behavior billy-rat) nav-enemy-simple-post) + :post (the-as (function none :behavior billy-rat) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate billy-rat-salivate (billy-rat) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior billy-rat) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (dotimes (gp-0 1) (sound-play-by-name (static-sound-name "rat-eat") (new-sound-id) 1024 0 0 1 #t) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info victory-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info victory-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -278,15 +264,13 @@ ) (none) ) - :post - (the-as (function none :behavior billy-rat) nav-enemy-simple-post) + :post (the-as (function none :behavior billy-rat) nav-enemy-simple-post) ) ;; failed to figure out what this is: (defstate nav-enemy-victory (billy-rat) :virtual #t - :enter - (behavior () + :enter (behavior () (let ((t9-1 (-> (the-as (state nav-enemy) (find-parent-method billy-rat 33)) enter))) (if t9-1 (t9-1) @@ -306,8 +290,7 @@ ;; failed to figure out what this is: (defstate nav-enemy-stare (billy-rat) :virtual #t - :enter - (behavior () + :enter (behavior () (go-virtual nav-enemy-chase) (none) ) @@ -316,8 +299,7 @@ ;; failed to figure out what this is: (defstate nav-enemy-chase (billy-rat) :virtual #t - :trans - (behavior () + :trans (behavior () (set! (-> self speed-scale) (-> self billy 0 rat-speed)) (if (or (logtest? (nav-control-flags navcf19) (-> self nav flags)) (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self chase-rest-time)) @@ -326,8 +308,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (swamp-rat-update-wiggle-target (-> self destination)) (nav-enemy-travel-post) (none) @@ -391,15 +372,7 @@ (eval-path-curve-div! (-> obj path-snacks) s5-1 (the float s4-0) 'exact) (set! (-> s5-1 x) (+ -40960.0 (-> s5-1 x))) (set! (-> s5-1 z) (+ 20480.0 (-> s5-1 z))) - (let ((s3-0 (get-process *default-dead-pool* manipy #x4000))) - (when s3-0 - (let ((t9-4 (method-of-type manipy activate))) - (t9-4 (the-as manipy s3-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 manipy-init s5-1 (-> obj entity) *farthy-snack-sg* #f) - (-> s3-0 ppointer) - ) - ) + (manipy-spawn s5-1 (-> obj entity) *farthy-snack-sg* #f :to obj) ) ) ) @@ -407,8 +380,7 @@ :name "billy-introduction" :index 5 :parts 14 - :command-list - '((0 kill "swamp-blimp-3") + :command-list '((0 kill "swamp-blimp-3") (0 kill "swamp-tetherrock-14") (0 kill "swamp-tetherrock-15") (0 kill "flutflut-3") @@ -449,8 +421,7 @@ :name "billy-reminder-1" :index 8 :parts 2 - :command-list - '((0 kill "swamp-blimp-3") + :command-list '((0 kill "swamp-blimp-3") (0 kill "swamp-tetherrock-14") (0 kill "swamp-tetherrock-15") (0 kill "flutflut-3") @@ -484,8 +455,7 @@ :name "billy-resolution" :index 9 :parts 2 - :command-list - '((0 kill "swamp-blimp-3") + :command-list '((0 kill "swamp-blimp-3") (0 kill "swamp-tetherrock-14") (0 kill "swamp-tetherrock-15") (0 kill "flutflut-3") @@ -567,8 +537,7 @@ ;; failed to figure out what this is: (defstate billy-done (billy) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'billy-rat-needs-destination) (let* ((gp-0 arg0) @@ -586,8 +555,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (init! (-> self query) (lookup-text! *common-text* (game-text-id play-again?) #f) @@ -611,10 +579,7 @@ (let ((a0-24 (get-reminder (-> self tasks) 0))) (save-reminder (-> self tasks) (seekl a0-24 255 1) 0) ) - (let* ((v1-49 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-50 (the-as number (logior #x3f800000 v1-49))) - (f0-2 (+ -1.0 (the-as float v1-50))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.75 f0-2) (play-ambient (-> self ambient) "BIL-TA04" #t (the-as vector #f)) @@ -633,15 +598,13 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (billy-kill-all-but-farthy) (send-event *camera* 'change-target *target*) (send-event *camera* 'change-state *camera-base-mode* 0) (none) ) - :trans - (behavior () + :trans (behavior () (cond ((> (-> self num-snacks) 0) (when (process-grab? *target*) @@ -671,10 +634,8 @@ (spool-push *art-control* "billy-reject" 0 self -99.0) (none) ) - :code - (the-as (function none :behavior billy) process-taskable-anim-loop) - :post - (behavior () + :code (the-as (function none :behavior billy) process-taskable-anim-loop) + :post (behavior () (ja-post) (none) ) @@ -857,17 +818,9 @@ ) (get-random-point (-> self path-starts) gp-0) (get-random-point (-> self path-waypts) s5-0) - (let ((s4-0 (get-process *default-dead-pool* billy-rat #x4000))) - (if (when s4-0 - (let ((t9-4 (method-of-type billy-rat activate))) - (t9-4 (the-as billy-rat s4-0) self 'billy-rat (the-as pointer #x70004000)) - ) - (run-now-in-process s4-0 billy-rat-init-by-other self gp-0 s5-0) - (-> s4-0 ppointer) - ) - (+! (-> self num-rats) 1) - ) - ) + (if (process-spawn billy-rat self gp-0 s5-0 :to self) + (+! (-> self num-rats) 1) + ) ) ) 0 @@ -876,14 +829,11 @@ ;; failed to figure out what this is: (defstate billy-playing (billy) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('billy-rat-die) (+! (-> self num-rats) -1) - (let* ((v1-4 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-5 (the-as number (logior #x3f800000 v1-4))) - (f0-2 (+ -1.0 (the-as float v1-5))) + (let* ((f0-2 (rand-float-gen)) (f0-3 (* 3.0 f0-2)) ) (cond @@ -919,10 +869,7 @@ ) ) (when gp-0 - (let* ((v1-15 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-16 (the-as number (logior #x3f800000 v1-15))) - (f0-6 (+ -1.0 (the-as float v1-16))) - ) + (let ((f0-6 (rand-float-gen))) (cond ((< 0.75 f0-6) (play-ambient (-> self ambient) "BIL-TA01" #t (the-as vector #f)) @@ -1004,8 +951,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (push-setting! *setting-control* self 'music 'danger 0.0 0) (ja-channel-set! 0) (clear-collide-with-as (-> self root-override)) @@ -1018,17 +964,9 @@ (let ((gp-1 (new 'stack-no-clear 'vector))) (dotimes (s5-1 (+ (the int (the float (+ (-> self path-snacks curve num-cverts) -1))) 1)) (eval-path-curve-div! (-> self path-snacks) gp-1 (the float s5-1) 'exact) - (let ((s4-1 (get-process *default-dead-pool* billy-snack #x4000))) - (if (when s4-1 - (let ((t9-7 (method-of-type billy-snack activate))) - (t9-7 (the-as billy-snack s4-1) self 'billy-snack (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 billy-snack-init-by-other gp-1) - (-> s4-1 ppointer) - ) - (+! (-> self num-snacks) 1) - ) - ) + (if (process-spawn billy-snack gp-1 :to self) + (+! (-> self num-snacks) 1) + ) ) ) (backup-load-state-and-set-cmds *load-state* '()) @@ -1066,22 +1004,19 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (restore-collide-with-as (-> self root-override)) (restore-load-state-and-cleanup *load-state*) (set! (-> *ACTOR-bank* birth-max) 1000) (clear-pending-settings-from-process *setting-control* self 'music) (none) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "billy-resolution" 0 self -99.0) (spool-push *art-control* "billy-reject" 0 self -99.0) (none) ) - :code - (behavior () + :code (behavior () (loop (billy-game-update) (if (or (zero? (-> self num-snacks)) @@ -1094,8 +1029,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (ja-post) (none) ) @@ -1104,23 +1038,16 @@ ;; failed to figure out what this is: (defstate enter-playing (billy) :virtual #t - :trans - (behavior () - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'change-mode) - (set! (-> a1-0 param 0) (the-as uint 'billy)) - (when (send-event-function *target* a1-0) - (send-event *target* 'trans 'reset) - (let ((v1-8 (entity-actor-lookup (-> self entity) 'alt-actor 0))) - (cond - (v1-8 - (move-to-point! (-> *target* control) (-> v1-8 extra trans)) - (go billy-playing) - ) - (else - ) + :trans (behavior () + (when (send-event *target* 'change-mode 'billy) + (send-event *target* 'trans 'reset) + (let ((v1-8 (entity-actor-lookup (-> self entity) 'alt-actor 0))) + (cond + (v1-8 + (move-to-point! (-> *target* control) (-> v1-8 extra trans)) + (go billy-playing) + ) + (else ) ) ) @@ -1132,10 +1059,7 @@ ;; definition for method 43 of type billy (defmethod TODO-RENAME-43 billy ((obj billy)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f30-0 (+ -1.0 (the-as float v1-4))) - ) + (let ((f30-0 (rand-float-gen))) (cond ((< 0.9411765 f30-0) (play-ambient (-> obj ambient) "BIL-AM01" #f (-> obj root-override trans)) @@ -1199,8 +1123,7 @@ ;; failed to figure out what this is: (defstate play-anim (billy) :virtual #t - :exit - (behavior () + :exit (behavior () (billy-kill-all-but-farthy) ((-> (method-of-type process-taskable play-anim) exit)) (none) @@ -1210,8 +1133,7 @@ ;; failed to figure out what this is: (defstate idle (billy) :virtual #t - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.2)) ) @@ -1262,19 +1184,9 @@ ) ) (set! (-> obj path) (-> obj path-snacks)) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj farthy) - (ppointer->handle - (when s5-1 - (let ((t9-4 (method-of-type manipy activate))) - (t9-4 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *billy-sidekick-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> obj farthy) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *billy-sidekick-sg* #f :to obj)) + ) (send-event (handle->process (-> obj farthy)) 'center-joint 3) (send-event (handle->process (-> obj farthy)) 'anim-mode 'clone-anim) (dummy-42 obj) diff --git a/test/decompiler/reference/levels/swamp/kermit_REF.gc b/test/decompiler/reference/levels/swamp/kermit_REF.gc index f7f0cdeb77..9f22a1fcb4 100644 --- a/test/decompiler/reference/levels/swamp/kermit_REF.gc +++ b/test/decompiler/reference/levels/swamp/kermit_REF.gc @@ -7,8 +7,7 @@ (defpartgroup group-kermit-charging-up :id 298 :bounds (static-bspherem 0 5 0 5) - :parts - ((sp-item 1359 :fade-after (meters 140) :falloff-to (meters 140) :binding 1356) + :parts ((sp-item 1359 :fade-after (meters 140) :falloff-to (meters 140) :binding 1356) (sp-item 1359 :fade-after (meters 140) :falloff-to (meters 140) :binding 1357) (sp-item 1359 :fade-after (meters 140) :falloff-to (meters 140) :binding 1358) (sp-item 1360) @@ -28,8 +27,7 @@ ;; failed to figure out what this is: (defpart 1360 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -49,8 +47,7 @@ ;; failed to figure out what this is: (defpart 1359 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 0.05 0.1 1.0) (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) (sp-flt spt-y (meters 0.5)) @@ -70,8 +67,7 @@ ;; failed to figure out what this is: (defpart 1356 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-flt spt-num 1.0) (sp-sound (static-sound-spec "eco-blue-spark1" :num 0.05 :volume 70.0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -92,8 +88,7 @@ ;; failed to figure out what this is: (defpart 1357 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-flt spt-num 1.0) (sp-sound (static-sound-spec "eco-blue-spark2" :num 0.075 :volume 100.0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -114,8 +109,7 @@ ;; failed to figure out what this is: (defpart 1358 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-flt spt-num 1.0) (sp-sound (static-sound-spec "eco-blue-spark3" :num 0.05 :volume 70.0)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) @@ -136,8 +130,7 @@ ;; failed to figure out what this is: (defpart 1361 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.1 0.5 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -160,8 +153,7 @@ ;; failed to figure out what this is: (defpart 1362 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-rnd-flt spt-num 0.2 0.4 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -184,8 +176,7 @@ ;; failed to figure out what this is: (defpart 1363 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-rnd-flt spt-num 0.3 0.1 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.5)) @@ -208,8 +199,7 @@ ;; failed to figure out what this is: (defpart 1364 - :init-specs - ((sp-flt spt-r 64.0) + :init-specs ((sp-flt spt-r 64.0) (sp-flt spt-g 64.0) (sp-flt spt-fade-r -1.0) (sp-flt spt-fade-g -1.0) @@ -222,14 +212,12 @@ :id 299 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1365 :period 15 :length 5)) + :parts ((sp-item 1365 :period 15 :length 5)) ) ;; failed to figure out what this is: (defpart 1365 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -254,8 +242,7 @@ (defpartgroup group-kermit-pulse :id 300 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1368 :flags (launch-asap) :binding 1366) + :parts ((sp-item 1368 :flags (launch-asap) :binding 1366) (sp-item 1366 :flags (start-dead launch-asap) :binding 1367) (sp-item 1367 :flags (start-dead)) (sp-item 1367 :flags (start-dead)) @@ -264,8 +251,7 @@ ;; failed to figure out what this is: (defpart 1368 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 3)) (sp-copy-from-other spt-scale-y -4) @@ -283,8 +269,7 @@ ;; failed to figure out what this is: (defpart 1369 - :init-specs - ((sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + :init-specs ((sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-a 100.0 28.0 1.0) (sp-int spt-next-time 5) @@ -294,8 +279,7 @@ ;; failed to figure out what this is: (defpart 1366 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-y (meters 4) (meters 16) 1.0) (sp-flt spt-z (meters 0)) @@ -318,14 +302,12 @@ ;; failed to figure out what this is: (defpart 1370 - :init-specs - ((sp-flt spt-vel-z (meters 0))) + :init-specs ((sp-flt spt-vel-z (meters 0))) ) ;; failed to figure out what this is: (defpart 1367 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.85)) (sp-copy-from-other spt-scale-y -4) @@ -347,14 +329,12 @@ :id 301 :duration 5 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 1371) (sp-item 1372)) + :parts ((sp-item 1371) (sp-item 1372)) ) ;; failed to figure out what this is: (defpart 1371 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters -0.1) (meters 0.2) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.2) 1.0) @@ -385,8 +365,7 @@ ;; failed to figure out what this is: (defpart 1373 - :init-specs - ((sp-flt spt-fade-r -3.2) + :init-specs ((sp-flt spt-fade-r -3.2) (sp-flt spt-fade-g 1.0) (sp-flt spt-fade-b 1.0) (sp-int spt-next-time 30) @@ -396,14 +375,12 @@ ;; failed to figure out what this is: (defpart 1374 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: (defpart 1372 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 32.0) (sp-rnd-flt spt-x (meters -0.1) (meters 0.2) 1.0) (sp-rnd-flt spt-y (meters -0.1) (meters 0.2) 1.0) @@ -594,8 +571,7 @@ ;; failed to figure out what this is: (defstate kermit-pulse-idle (kermit-pulse) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) @@ -603,18 +579,15 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self sound-id)) (none) ) - :code - (behavior () + :code (behavior () (while (< (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 4)) (sound-play-by-name (static-sound-name "kermit-loop") @@ -640,8 +613,7 @@ (cleanup-for-death self) (none) ) - :post - (behavior () + :post (behavior () (update-transforms! (-> self root-override)) (none) ) @@ -649,26 +621,18 @@ ;; failed to figure out what this is: (defstate kermit-pulse-impact (kermit-pulse) - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "get-shocked") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 301) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 301) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (cleanup-for-death self) (none) @@ -713,15 +677,7 @@ ;; definition for function spawn-kermit-pulse ;; INFO: Return type mismatch int vs none. (defun spawn-kermit-pulse ((arg0 kermit) (arg1 vector) (arg2 entity)) - (let ((s3-0 (get-process *default-dead-pool* kermit-pulse #x4000))) - (when s3-0 - (let ((t9-1 (method-of-type kermit-pulse activate))) - (t9-1 (the-as kermit-pulse s3-0) arg0 'kermit-pulse (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 kermit-pulse-init-by-other arg1 arg2) - (-> s3-0 ppointer) - ) - ) + (process-spawn kermit-pulse arg1 arg2 :to arg0) 0 (none) ) @@ -1061,19 +1017,16 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate kermit-idle (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self notice-time) 0) 0 (none) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= (-> self enemy-info idle-distance) (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) ) @@ -1082,8 +1035,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (kermit-disable-tongue) (ja :group! kermit-idle-ja :num! min) (loop @@ -1092,27 +1044,23 @@ nav-enemy-default-event-handler ) (none) ) - :post - (the-as (function none :behavior kermit) ja-post) + :post (the-as (function none :behavior kermit) ja-post) ) ;; failed to figure out what this is: (defstate kermit-patrol (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set-mode! (-> self neck) (joint-mod-handler-mode flex-blend)) (kermit-get-new-patrol-point) (dummy-11 (-> self nav) (-> self nav target-pos)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (or (not *target*) (< (-> self enemy-info idle-distance) (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) ) @@ -1130,8 +1078,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! kermit-idle-ja :num! (seek! max 3.0) :frame-num 0.0) (until (ja-done? 0) @@ -1142,69 +1089,57 @@ nav-enemy-default-event-handler ) (none) ) - :post - kermit-post + :post kermit-post ) ;; failed to figure out what this is: (defstate kermit-notice (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set-mode! (-> self neck) (joint-mod-handler-mode look-at)) (none) ) - :trans - (behavior () + :trans (behavior () (kermit-set-rotate-dir-to-player) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (set-mode! (-> self neck) (joint-mod-handler-mode look-at)) (kermit-hop 0.0) (go kermit-chase) (none) ) - :post - kermit-post + :post kermit-post ) ;; failed to figure out what this is: (defstate kermit-give-up (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set-mode! (-> self neck) (joint-mod-handler-mode flex-blend)) (none) ) - :code - (behavior () + :code (behavior () (go kermit-patrol) (none) ) - :post - kermit-simple-post + :post kermit-simple-post ) ;; failed to figure out what this is: (defstate kermit-chase-new-position (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self miss-count) 0) (let* ((a1-1 (kermit-get-head-dir-xz self (new 'stack-no-clear 'vector))) @@ -1229,8 +1164,7 @@ nav-enemy-default-event-handler (dummy-11 (-> self nav) (-> self nav target-pos)) (none) ) - :trans - (behavior () + :trans (behavior () (when (not (-> self airborne)) (if (or (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) (and (logtest? (nav-control-flags navcf19) (-> self nav flags)) @@ -1242,8 +1176,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.17)) (dotimes (gp-0 3) (ja-no-eval :group! kermit-idle-ja :num! (seek! max 4.0) :frame-num 0.0) @@ -1258,27 +1191,23 @@ nav-enemy-default-event-handler ) (none) ) - :post - kermit-post + :post kermit-post ) ;; failed to figure out what this is: (defstate kermit-chase (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set-mode! (-> self neck) (joint-mod-handler-mode look-at)) (kermit-set-nav-mesh-target (-> self collide-info trans)) (dummy-11 (-> self nav) (-> self nav target-pos)) (none) ) - :trans - (behavior () + :trans (behavior () (kermit-set-nav-mesh-target (-> self collide-info trans)) (kermit-set-rotate-dir-to-player) (if (nav-enemy-test-point-in-nav-mesh? (target-pos 0)) @@ -1311,8 +1240,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.17)) (loop (ja-no-eval :group! kermit-idle-ja :num! (seek! max 3.0) :frame-num 0.0) @@ -1326,19 +1254,16 @@ nav-enemy-default-event-handler ) (none) ) - :post - kermit-post + :post kermit-post ) ;; failed to figure out what this is: (defstate kermit-attack (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.17)) (set! (-> self tongue-control forward-scale-control) 0.0) (kermit-enable-tongue) @@ -1391,19 +1316,16 @@ nav-enemy-default-event-handler ) (none) ) - :post - kermit-simple-post + :post kermit-simple-post ) ;; failed to figure out what this is: (defstate kermit-tongue-stuck (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self miss-count) 0) (set! (-> self tongue-control forward-scale-control) 1.0) (kermit-enable-tongue) @@ -1411,8 +1333,7 @@ nav-enemy-default-event-handler (spawn-kermit-pulse self (kermit-tongue-pos self) (-> self entity)) (none) ) - :exit - (behavior () + :exit (behavior () (sound-stop (-> self sound-id)) (let ((v1-0 (-> self child-override))) (if v1-0 @@ -1421,8 +1342,7 @@ nav-enemy-default-event-handler ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((s5-0 (kermit-player-target-pos)) (gp-0 (kermit-tongue-pos self)) ) @@ -1456,8 +1376,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (loop (ja-no-eval :group! kermit-turn-ja :num! (seek!) :frame-num 0.0) @@ -1477,8 +1396,7 @@ nav-enemy-default-event-handler ) (none) ) - :post - (behavior () + :post (behavior () (seek-to-point-toward-point! (-> self collide-info) (target-pos 0) (-> self rotate-speed) (seconds 0.05)) (kermit-simple-post) (none) @@ -1487,26 +1405,22 @@ nav-enemy-default-event-handler ;; failed to figure out what this is: (defstate kermit-retract-tongue (kermit) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior kermit) nav-enemy-default-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self charged-up) #f) (+! (-> self miss-count) 1) (none) ) - :exit - (behavior () + :exit (behavior () (set! (-> self tongue-control forward-scale-control) 0.0) (kermit-disable-tongue) (none) ) - :trans - (behavior () + :trans (behavior () (kermit-set-nav-mesh-target (-> self collide-info trans)) (kermit-set-rotate-dir-to-player) (when (not (-> self airborne)) @@ -1518,8 +1432,7 @@ nav-enemy-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja-no-eval :group! kermit-miss-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1542,8 +1455,7 @@ nav-enemy-default-event-handler ) (none) ) - :post - kermit-post + :post kermit-post ) ;; definition for symbol *kermit-nav-enemy-info*, type nav-enemy-info diff --git a/test/decompiler/reference/levels/swamp/swamp-bat_REF.gc b/test/decompiler/reference/levels/swamp/swamp-bat_REF.gc index 1aafd3ec99..641891a78d 100644 --- a/test/decompiler/reference/levels/swamp/swamp-bat_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-bat_REF.gc @@ -236,10 +236,8 @@ swamp-bat-slave-event-handler ;; failed to figure out what this is: (defstate swamp-bat-slave-idle (swamp-bat-slave) - :event - swamp-bat-slave-event-handler - :code - (behavior () + :event swamp-bat-slave-event-handler + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self launch-ready) #f) (ja-channel-push! 1 (seconds 0.165)) @@ -303,16 +301,13 @@ swamp-bat-slave-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-post) + :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-post) ) ;; failed to figure out what this is: (defstate swamp-bat-slave-launch (swamp-bat-slave) - :event - swamp-bat-slave-event-handler - :code - (behavior () + :event swamp-bat-slave-event-handler + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self launch-ready) #f) (ja-channel-push! 1 (seconds 0.1)) @@ -338,16 +333,13 @@ swamp-bat-slave-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-post) + :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-post) ) ;; failed to figure out what this is: (defstate swamp-bat-slave-swoop (swamp-bat-slave) - :event - swamp-bat-slave-event-handler - :code - (behavior () + :event swamp-bat-slave-event-handler + :code (behavior () (set! (-> self strafe-envelope) 0.0) (ja-channel-push! 1 (seconds 0.1)) (ja :group! swamp-bat-notice-ja :num! min) @@ -370,16 +362,13 @@ swamp-bat-slave-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-path-post) + :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-path-post) ) ;; failed to figure out what this is: (defstate swamp-bat-slave-strafe (swamp-bat-slave) - :event - swamp-bat-slave-event-handler - :code - (behavior () + :event swamp-bat-slave-event-handler + :code (behavior () (set! (-> self strafe-envelope) 20480.0) (ja-channel-push! 1 (seconds 0.1)) (ja :group! swamp-bat-strafe-ja) @@ -392,16 +381,13 @@ swamp-bat-slave-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-path-post) + :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-path-post) ) ;; failed to figure out what this is: (defstate swamp-bat-slave-return (swamp-bat-slave) - :event - swamp-bat-slave-event-handler - :code - (behavior () + :event swamp-bat-slave-event-handler + :code (behavior () (set! (-> self strafe-envelope) 0.0) (ja-channel-push! 1 (seconds 0.075)) (ja :group! swamp-bat-strafe-ja) @@ -427,19 +413,16 @@ swamp-bat-slave-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-path-post) + :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-path-post) ) ;; failed to figure out what this is: (defstate swamp-bat-slave-die (swamp-bat-slave) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior swamp-bat-slave) process-drawable-death-event-handler ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (ja-channel-push! 1 (seconds 0.07)) (let ((gp-0 (new-stack-vector0))) (let ((v1-1 (handle->process arg0))) @@ -459,8 +442,7 @@ swamp-bat-slave-event-handler (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-post) + :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-post) ) ;; definition for function swamp-bat-slave-init-by-other @@ -595,10 +577,8 @@ swamp-bat-slave-event-handler ;; failed to figure out what this is: (defstate swamp-bat-idle (swamp-bat) - :trans - swamp-bat-debug - :code - (behavior () + :trans swamp-bat-debug + :code (behavior () (when (zero? (-> self path-count)) (process-entity-status! self (entity-perm-status dead) #t) (deactivate self) @@ -627,8 +607,7 @@ swamp-bat-slave-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-bat) #f) + :post (the-as (function none :behavior swamp-bat) #f) ) ;; definition for function swamp-bat-launch-slave @@ -651,10 +630,8 @@ swamp-bat-slave-event-handler ;; failed to figure out what this is: (defstate swamp-bat-launch-slaves (swamp-bat) - :trans - swamp-bat-debug - :code - (behavior () + :trans swamp-bat-debug + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (loop (swamp-bat-update-path) @@ -668,8 +645,7 @@ swamp-bat-slave-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-bat) #f) + :post (the-as (function none :behavior swamp-bat) #f) ) ;; definition for method 11 of type swamp-bat @@ -714,15 +690,7 @@ swamp-bat-slave-event-handler (swamp-bat-setup-new-path 0) (swamp-bat-update-path) (dotimes (s5-1 (-> obj slave-count)) - (let ((s4-1 (get-process *default-dead-pool* swamp-bat-slave 4512))) - (when s4-1 - (let ((t9-16 (method-of-type swamp-bat-slave activate))) - (t9-16 (the-as swamp-bat-slave s4-1) obj 'swamp-bat-slave (the-as pointer #x70004000)) - ) - (run-now-in-process s4-1 swamp-bat-slave-init-by-other obj s5-1) - (-> s4-1 ppointer) - ) - ) + (process-spawn swamp-bat-slave obj s5-1 :to obj :stack-size 4512) ) (go swamp-bat-idle) (none) diff --git a/test/decompiler/reference/levels/swamp/swamp-obs_REF.gc b/test/decompiler/reference/levels/swamp/swamp-obs_REF.gc index b20491ac6d..87bbef1205 100644 --- a/test/decompiler/reference/levels/swamp/swamp-obs_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-obs_REF.gc @@ -13,8 +13,7 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1325 :fade-after (meters 120) :falloff-to (meters 120)) + :parts ((sp-item 1325 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1326 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1327 :fade-after (meters 60) :falloff-to (meters 60)) ) @@ -22,8 +21,7 @@ ;; failed to figure out what this is: (defpart 1325 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-int-flt spt-x (meters -2) 2 8192.0) (sp-flt spt-y (meters 0.75)) @@ -49,14 +47,12 @@ ;; failed to figure out what this is: (defpart 1328 - :init-specs - ((sp-flt spt-fade-a -0.32)) + :init-specs ((sp-flt spt-fade-a -0.32)) ) ;; failed to figure out what this is: (defpart 1326 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-int-flt spt-x (meters -2) 2 8192.0) (sp-flt spt-y (meters -0.75)) @@ -82,8 +78,7 @@ ;; failed to figure out what this is: (defpart 1327 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-int-flt spt-x (meters -2) 2 8192.0) (sp-flt spt-y (meters 0.25)) @@ -114,8 +109,7 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1325 :fade-after (meters 120) :falloff-to (meters 120)) + :parts ((sp-item 1325 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1326 :fade-after (meters 120) :falloff-to (meters 120)) ) ) @@ -204,10 +198,8 @@ ;; failed to figure out what this is: (defstate swamp-spike-idle (swamp-spike) - :event - swamp-spike-default-event-handler - :code - (behavior () + :event swamp-spike-default-event-handler + :code (behavior () (set! (-> self dangerous) #f) (let ((gp-0 (new 'stack-no-clear 'vector))) (new 'stack-no-clear 'vector) @@ -242,26 +234,19 @@ (suspend) (ja :num! (seek!)) ) - (when (logtest? (-> self draw status) (draw-status was-drawn)) - (let ((s5-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-3 - (let ((t9-11 (method-of-type part-tracker activate))) - (t9-11 (the-as part-tracker s5-3) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-3 - part-tracker-init - (-> *part-group-id-table* 289) - -1 - swamp-spike-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root-override trans) - ) - (-> s5-3 ppointer) + (if (logtest? (-> self draw status) (draw-status was-drawn)) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 289) + -1 + swamp-spike-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root-override trans) + :to self ) ) - ) (set! (-> self dangerous) #t) (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -274,26 +259,19 @@ (until (< (get-current-phase (-> self sync)) 0.5) (suspend) ) - (when (logtest? (-> self draw status) (draw-status was-drawn)) - (let ((s5-4 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-4 - (let ((t9-18 (method-of-type part-tracker activate))) - (t9-18 (the-as part-tracker s5-4) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-4 - part-tracker-init - (-> *part-group-id-table* 290) - -1 - swamp-spike-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root-override trans) - ) - (-> s5-4 ppointer) + (if (logtest? (-> self draw status) (draw-status was-drawn)) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 290) + -1 + swamp-spike-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root-override trans) + :to self ) ) - ) (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -306,14 +284,12 @@ ) (none) ) - :post - swamp-spike-post + :post swamp-spike-post ) ;; failed to figure out what this is: (defstate swamp-spike-gate-up (swampgate) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'trigger) (let ((v0-0 #t)) @@ -324,31 +300,23 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (ja :group! (-> self draw art-group data 4)) (until (-> self open-gate) (ja :num-func num-func-identity :frame-num 0.0) (suspend) ) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) self 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 290) - -1 - swamp-spike-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 290) + -1 + swamp-spike-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root-override trans) + :to self ) (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -358,20 +326,17 @@ (go swamp-spike-gate-down) (none) ) - :post - (the-as (function none :behavior swampgate) swamp-spike-post) + :post (the-as (function none :behavior swampgate) swamp-spike-post) ) ;; failed to figure out what this is: (defstate swamp-spike-gate-down (swampgate) - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior swampgate) swamp-spike-post) + :post (the-as (function none :behavior swampgate) swamp-spike-post) ) ;; definition for method 20 of type swamp-spike @@ -496,8 +461,7 @@ ;; failed to figure out what this is: (defstate balance-plat-idle (balance-plat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'grow) (let ((v0-0 #t)) @@ -508,17 +472,15 @@ ) ) ) - :trans - (the-as (function none :behavior balance-plat) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior balance-plat) rider-trans) + :code (behavior () (loop (let ((f30-0 (* -0.025 (+ (-> self y-offset) (-> self y-travel)))) (f28-0 (* -0.025 (- (-> self y-offset) (-> self y-travel)))) ) (cond ((and (-> self root-override riders) (nonzero? (-> self root-override riders num-riders))) - (send-event *target* 'no-look-around 75) + (send-event *target* 'no-look-around (seconds 0.25)) (set! (-> self y-accel) (fmin 4.096 (fmax -4.096 (+ -0.2048 (-> self y-accel))))) (set! (-> self y-vel) (fmin f28-0 (fmax f30-0 (+ (-> self y-vel) (-> self y-accel))))) (send-to-all-after (-> self link) 'grow) @@ -551,8 +513,7 @@ ) (none) ) - :post - (the-as (function none :behavior balance-plat) rider-post) + :post (the-as (function none :behavior balance-plat) rider-post) ) ;; definition for method 11 of type balance-plat @@ -620,8 +581,7 @@ :duration 300 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1330 :period 1500 :length 5) + :parts ((sp-item 1330 :period 1500 :length 5) (sp-item 1331 :period 1500 :length 5) (sp-item 1332 :period 1500 :length 15) ) @@ -629,8 +589,7 @@ ;; failed to figure out what this is: (defpart 1331 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 15)) (sp-copy-from-other spt-scale-y -4) @@ -646,8 +605,7 @@ ;; failed to figure out what this is: (defpart 1330 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 16.0 16.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -671,8 +629,7 @@ ;; failed to figure out what this is: (defpart 1332 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 0.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) @@ -697,8 +654,7 @@ ;; failed to figure out what this is: (defpart 1333 - :init-specs - ((sp-flt spt-fade-a -0.2)) + :init-specs ((sp-flt spt-fade-a -0.2)) ) ;; failed to figure out what this is: @@ -709,31 +665,30 @@ ;; failed to figure out what this is: (defstate swamp-rock-break (swamp-rock) - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (sound-play-by-name (static-sound-name "rock-break") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 291) -1 #f #f #f (-> self root trans)) - (-> gp-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 291) + -1 + #f + #f + #f + (-> self root trans) + :to *entity-pool* ) (cleanup-for-death self) (deactivate self) (none) ) - :post - (the-as (function none :behavior swamp-rock) ja-post) + :post (the-as (function none :behavior swamp-rock) ja-post) ) ;; failed to figure out what this is: (defstate swamp-rock-idle (swamp-rock) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (if (and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) @@ -742,8 +697,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (transform-post) (loop (logior! (-> self mask) (process-mask sleep)) @@ -890,32 +844,27 @@ ;; failed to figure out what this is: (defstate rigid-body-platform-idle (tar-plat) :virtual #t - :enter - (behavior () + :enter (behavior () (ja-channel-set! 0) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior tar-plat) ja-post) + :post (the-as (function none :behavior tar-plat) ja-post) ) ;; failed to figure out what this is: (defstate rigid-body-platform-float (tar-plat) :virtual #t - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior tar-plat) rigid-body-platform-event-handler ) - :trans - (behavior () + :trans (behavior () (cond ((or (not *target*) (< (-> self info idle-distance) (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) @@ -934,8 +883,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (ja :group! (-> self draw art-group data 3)) (ja :num-func num-func-identity :frame-num 0.0) @@ -944,8 +892,7 @@ ) (none) ) - :post - (the-as (function none :behavior tar-plat) rigid-body-platform-post) + :post (the-as (function none :behavior tar-plat) rigid-body-platform-post) ) ;; definition for method 30 of type tar-plat @@ -1087,23 +1034,14 @@ ;; failed to figure out what this is: (defstate battlecontroller-play-intro-camera (swamp-battlecontroller) :virtual #t - :code - (behavior () + :code (behavior () (suspend) (process-drawable-delay-player (seconds 1)) - (let* ((gp-0 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-1 - (ppointer->handle - (when gp-0 - (let ((t9-2 (method-of-type pov-camera activate))) - (t9-2 (the-as pov-camera gp-0) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 pov-camera-init-by-other (-> self root trans) *swampcam-sg* "swamp-ambush" 0 #f '()) - (-> gp-0 ppointer) - ) - ) - ) - ) + (let ((gp-1 (ppointer->handle + (process-spawn pov-camera (-> self root trans) *swampcam-sg* "swamp-ambush" 0 #f '() :to self) + ) + ) + ) (while (handle->process (the-as handle gp-1)) (suspend) ) @@ -1116,8 +1054,7 @@ ;; failed to figure out what this is: (defstate battlecontroller-die (swamp-battlecontroller) :virtual #t - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) ((the-as (function none :behavior battlecontroller) diff --git a/test/decompiler/reference/levels/swamp/swamp-part_REF.gc b/test/decompiler/reference/levels/swamp/swamp-part_REF.gc index 40462bb1a7..2580860600 100644 --- a/test/decompiler/reference/levels/swamp/swamp-part_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-part_REF.gc @@ -22,8 +22,7 @@ (defpartgroup group-swamp-bayou-billy-hut :id 302 :bounds (static-bspherem -4 -3 0 12) - :parts - ((sp-item 1377 :fade-after (meters 175) :falloff-to (meters 175) :period 1500 :length 300) + :parts ((sp-item 1377 :fade-after (meters 175) :falloff-to (meters 175) :period 1500 :length 300) (sp-item 1377 :fade-after (meters 175) :falloff-to (meters 175) :period 2928 :length 360) (sp-item 1377 :fade-after (meters 175) :falloff-to (meters 175) :period 4602 :length 180) (sp-item 1378 :fade-after (meters 175) :falloff-to (meters 175) :period 1500 :length 300) @@ -104,8 +103,7 @@ ;; failed to figure out what this is: (defpart 2305 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-x (meters 6)) (sp-flt spt-y (meters -13)) @@ -123,14 +121,12 @@ ;; failed to figure out what this is: (defpart 2308 - :init-specs - ((sp-int spt-timer 300) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 2308)) + :init-specs ((sp-int spt-timer 300) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 2308)) ) ;; failed to figure out what this is: (defpart 2306 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-x (meters 5)) (sp-flt spt-y (meters -13.5)) @@ -148,8 +144,7 @@ ;; failed to figure out what this is: (defpart 2307 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 8.0) (sp-flt spt-x (meters 6.5)) (sp-flt spt-y (meters -12.5)) @@ -167,8 +162,7 @@ ;; failed to figure out what this is: (defpart 2303 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-int spt-num 1065353216 1 2.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 0.5) (meters 1) 1.0) @@ -191,8 +185,7 @@ ;; failed to figure out what this is: (defpart 2304 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 3.0) (sp-flt spt-scale-x (meters 0.075)) @@ -209,8 +202,7 @@ ;; failed to figure out what this is: (defpart 1384 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 15) (meters 30) 1.0) (sp-rnd-flt spt-y (meters 14) (meters 3) 1.0) @@ -232,8 +224,7 @@ ;; failed to figure out what this is: (defpart 1385 - :init-specs - ((sp-flt spt-g 128.0) + :init-specs ((sp-flt spt-g 128.0) (sp-flt spt-vel-x (meters 0)) (sp-flt spt-vel-y (meters 0)) (sp-flt spt-vel-z (meters 0)) @@ -247,8 +238,7 @@ ;; failed to figure out what this is: (defpart 1386 - :init-specs - ((sp-flt spt-b 128.0) + :init-specs ((sp-flt spt-b 128.0) (sp-rnd-int spt-accel-x -1070677186 1 5.4613333) (sp-rnd-int spt-accel-z -1070677186 1 5.4613333) ) @@ -256,8 +246,7 @@ ;; failed to figure out what this is: (defpart 1383 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 15) (meters 30) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 3) 1.0) @@ -279,8 +268,7 @@ ;; failed to figure out what this is: (defpart 1375 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -305,8 +293,7 @@ ;; failed to figure out what this is: (defpart 1387 - :init-specs - ((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) + :init-specs ((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) (sp-int-plain-rnd spt-next-time 150 449 1) @@ -316,8 +303,7 @@ ;; failed to figure out what this is: (defpart 1376 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 4.0) (sp-flt spt-scale-x (meters 1)) @@ -335,8 +321,7 @@ ;; failed to figure out what this is: (defpart 1377 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-flt spt-y (meters -0.25)) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) @@ -368,8 +353,7 @@ ;; failed to figure out what this is: (defpart 1378 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.9 1.0) (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -398,8 +382,7 @@ ;; failed to figure out what this is: (defpart 1379 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-flt spt-y (meters -0.25)) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) @@ -431,8 +414,7 @@ ;; failed to figure out what this is: (defpart 1380 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -461,8 +443,7 @@ ;; failed to figure out what this is: (defpart 1381 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.9 1.0) (sp-flt spt-x (meters -7.8)) (sp-flt spt-y (meters -8.5)) @@ -493,8 +474,7 @@ ;; failed to figure out what this is: (defpart 1382 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-flt spt-x (meters -7.8)) (sp-flt spt-y (meters -8.5)) @@ -527,8 +507,7 @@ (defpartgroup group-swamp-bubbles-01 :id 303 :bounds (static-bspherem 0 0 -8 30) - :parts - ((sp-item 1390 :fade-after (meters 125) :period 150 :length 5 :binding 1388) + :parts ((sp-item 1390 :fade-after (meters 125) :period 150 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -583,8 +562,7 @@ ;; failed to figure out what this is: (defpart 1390 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 35) 1.0) (sp-rnd-flt spt-z (meters -35) (meters 55) 1.0) @@ -599,8 +577,7 @@ ;; failed to figure out what this is: (defpart 1388 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x20 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x20 :page #x2)) (sp-rnd-flt spt-num 0.05 0.1 1.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-z (meters -2) (meters 4) 1.0) @@ -622,20 +599,17 @@ ;; failed to figure out what this is: (defpart 1391 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 1050) (sp-launcher-by-id spt-next-launcher 1392)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 1050) (sp-launcher-by-id spt-next-launcher 1392)) ) ;; failed to figure out what this is: (defpart 1392 - :init-specs - ((sp-flt spt-g 0.0) (sp-flt spt-b 0.0) (sp-flt spt-a 0.0) (sp-int spt-timer 5)) + :init-specs ((sp-flt spt-g 0.0) (sp-flt spt-b 0.0) (sp-flt spt-a 0.0) (sp-int spt-timer 5)) ) ;; failed to figure out what this is: (defpart 1389 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -653,8 +627,7 @@ ;; failed to figure out what this is: (defpart 1393 - :init-specs - ((sp-rnd-flt spt-a 8.0 32.0 1.0) + :init-specs ((sp-rnd-flt spt-a 8.0 32.0 1.0) (sp-flt spt-scalevel-x (meters 0.04)) (sp-copy-from-other spt-scalevel-y -4) (sp-int spt-timer 5) @@ -665,8 +638,7 @@ (defpartgroup group-swamp-bubbles-02 :id 304 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1394 :fade-after (meters 125) :period 450 :length 5 :binding 1388) + :parts ((sp-item 1394 :fade-after (meters 125) :period 450 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -704,8 +676,7 @@ ;; failed to figure out what this is: (defpart 1394 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -8) (meters 16) 1.0) (sp-rnd-flt spt-z (meters -20) (meters 40) 1.0) @@ -723,8 +694,7 @@ (defpartgroup group-swamp-bubbles-03 :id 305 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1395 :fade-after (meters 125) :period 450 :length 5 :binding 1388) + :parts ((sp-item 1395 :fade-after (meters 125) :period 450 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -779,8 +749,7 @@ ;; failed to figure out what this is: (defpart 1395 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -4) (meters 12) 1.0) (sp-rnd-flt spt-z (meters -40) (meters 60) 1.0) @@ -798,8 +767,7 @@ (defpartgroup group-swamp-bubbles-04 :id 306 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1396 :fade-after (meters 125) :period 150 :length 5 :binding 1388) + :parts ((sp-item 1396 :fade-after (meters 125) :period 150 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -854,8 +822,7 @@ ;; failed to figure out what this is: (defpart 1396 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -35) (meters 60) 1.0) (sp-rnd-flt spt-z (meters -12) (meters 18) 1.0) @@ -873,8 +840,7 @@ (defpartgroup group-swamp-bubbles-05 :id 307 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1397 :fade-after (meters 125) :period 600 :length 5 :binding 1388) + :parts ((sp-item 1397 :fade-after (meters 125) :period 600 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1389 :flags (start-dead launch-asap)) @@ -898,8 +864,7 @@ ;; failed to figure out what this is: (defpart 1397 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 40) 1.0) (sp-rnd-flt spt-z (meters -6) (meters 12) 1.0) @@ -917,8 +882,7 @@ (defpartgroup group-swamp-bubbles-06 :id 308 :bounds (static-bspherem 0 0 0 40) - :parts - ((sp-item 1398 :fade-after (meters 200) :period 120 :length 5 :binding 1388) + :parts ((sp-item 1398 :fade-after (meters 200) :period 120 :length 5 :binding 1388) (sp-item 1399 :fade-after (meters 200) :period 450 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -992,8 +956,7 @@ ;; failed to figure out what this is: (defpart 1398 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -45) (meters 80) 1.0) (sp-rnd-flt spt-z (meters -20) (meters 40) 1.0) @@ -1009,8 +972,7 @@ ;; failed to figure out what this is: (defpart 1399 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 40) 1.0) (sp-rnd-flt spt-z (meters 18) (meters 15) 1.0) @@ -1028,8 +990,7 @@ (defpartgroup group-swamp-bubbles-07 :id 309 :bounds (static-bspherem 0 0 0 40) - :parts - ((sp-item 1400 :fade-after (meters 125) :period 450 :length 5 :binding 1388) + :parts ((sp-item 1400 :fade-after (meters 125) :period 450 :length 5 :binding 1388) (sp-item 1401 :fade-after (meters 125) :period 450 :length 5 :binding 1388) (sp-item 1402 :fade-after (meters 125) :period 450 :length 5 :binding 1388) (sp-item 1403 :fade-after (meters 125) :period 600 :length 5 :binding 1388) @@ -1105,8 +1066,7 @@ ;; failed to figure out what this is: (defpart 1400 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 15) 1.0) (sp-rnd-flt spt-z (meters -8) (meters 38) 1.0) @@ -1122,8 +1082,7 @@ ;; failed to figure out what this is: (defpart 1401 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -17.5) (meters 10) 1.0) (sp-rnd-flt spt-z (meters -15) (meters 50) 1.0) @@ -1139,8 +1098,7 @@ ;; failed to figure out what this is: (defpart 1402 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 45) 1.0) (sp-rnd-flt spt-z (meters 21) (meters 8) 1.0) @@ -1156,8 +1114,7 @@ ;; failed to figure out what this is: (defpart 1403 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -33) (meters 6) 1.0) (sp-rnd-flt spt-z (meters -25) (meters 25) 1.0) @@ -1176,8 +1133,7 @@ (defpartgroup group-swamp-bubbles-08 :id 310 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1404 :fade-after (meters 125) :period 150 :length 5 :binding 1388) + :parts ((sp-item 1404 :fade-after (meters 125) :period 150 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -1220,8 +1176,7 @@ ;; failed to figure out what this is: (defpart 1404 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -18) (meters 45) 1.0) (sp-rnd-flt spt-z (meters -25) (meters 40) 1.0) @@ -1239,8 +1194,7 @@ (defpartgroup group-swamp-bubbles-09 :id 311 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1405 :fade-after (meters 125) :period 450 :length 5 :binding 1388) + :parts ((sp-item 1405 :fade-after (meters 125) :period 450 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -1270,8 +1224,7 @@ ;; failed to figure out what this is: (defpart 1405 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -20) (meters 42) 1.0) (sp-rnd-flt spt-z (meters -10) (meters 18) 1.0) @@ -1289,8 +1242,7 @@ (defpartgroup group-swamp-bubbles-10 :id 312 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1406 :fade-after (meters 125) :period 450 :length 5 :binding 1388) + :parts ((sp-item 1406 :fade-after (meters 125) :period 450 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -1333,8 +1285,7 @@ ;; failed to figure out what this is: (defpart 1406 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -30) (meters 52) 1.0) (sp-rnd-flt spt-z (meters -10) (meters 18) 1.0) @@ -1352,8 +1303,7 @@ (defpartgroup group-swamp-bubbles-11 :id 313 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1407 :fade-after (meters 125) :period 450 :length 5 :binding 1388) + :parts ((sp-item 1407 :fade-after (meters 125) :period 450 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -1396,8 +1346,7 @@ ;; failed to figure out what this is: (defpart 1407 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -14) (meters 22) 1.0) (sp-rnd-flt spt-z (meters -13) (meters 30) 1.0) @@ -1415,8 +1364,7 @@ (defpartgroup group-swamp-bubbles-12 :id 314 :bounds (static-bspherem 0 0 0 40) - :parts - ((sp-item 1408 :fade-after (meters 125) :period 150 :length 5 :binding 1388) + :parts ((sp-item 1408 :fade-after (meters 125) :period 150 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -1446,8 +1394,7 @@ ;; failed to figure out what this is: (defpart 1408 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 33) 1.0) (sp-rnd-flt spt-z (meters -13) (meters 70) 1.0) @@ -1465,8 +1412,7 @@ (defpartgroup group-swamp-bubbles-13 :id 315 :bounds (static-bspherem 0 0 0 10) - :parts - ((sp-item 1409 :fade-after (meters 125) :period 600 :length 5 :binding 1388) + :parts ((sp-item 1409 :fade-after (meters 125) :period 600 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -1496,8 +1442,7 @@ ;; failed to figure out what this is: (defpart 1409 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -8) (meters 20) 1.0) (sp-rnd-flt spt-z (meters -8) (meters 20) 1.0) @@ -1515,8 +1460,7 @@ (defpartgroup group-swamp-bubbles-14 :id 316 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 1410 :fade-after (meters 125) :period 120 :length 5 :binding 1388) + :parts ((sp-item 1410 :fade-after (meters 125) :period 120 :length 5 :binding 1388) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) (sp-item 1388 :flags (start-dead) :binding 1389) @@ -1559,8 +1503,7 @@ ;; failed to figure out what this is: (defpart 1410 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -35) (meters 50) 1.0) (sp-rnd-flt spt-z (meters -40) (meters 55) 1.0) @@ -1578,8 +1521,7 @@ (defpartgroup group-swamp-torch :id 317 :bounds (static-bspherem 0 3 0 4) - :parts - ((sp-item 1411 :fade-after (meters 200) :falloff-to (meters 220)) + :parts ((sp-item 1411 :fade-after (meters 200) :falloff-to (meters 220)) (sp-item 1412 :fade-after (meters 140) :falloff-to (meters 140)) (sp-item 1413 :fade-after (meters 50) :falloff-to (meters 50) :period 600 :length 90) (sp-item 1414 :fade-after (meters 50) :falloff-to (meters 50) :period 369 :length 69) @@ -1590,8 +1532,7 @@ ;; failed to figure out what this is: (defpart 1416 - :init-specs - ((sp-flt spt-num 0.3) + :init-specs ((sp-flt spt-num 0.3) (sp-flt spt-x (meters 0.2)) (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0) (sp-int spt-rot-x 5) @@ -1610,14 +1551,12 @@ ;; failed to figure out what this is: (defpart 1417 - :init-specs - ((sp-flt spt-fade-b -6.826667)) + :init-specs ((sp-flt spt-fade-b -6.826667)) ) ;; failed to figure out what this is: (defpart 1411 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1069547520 1 1.0) (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) (sp-rnd-flt spt-z (meters -0.35) (meters 0.7) 1.0) @@ -1640,14 +1579,12 @@ ;; failed to figure out what this is: (defpart 1418 - :init-specs - ((sp-flt spt-fade-a -1.3333334)) + :init-specs ((sp-flt spt-fade-a -1.3333334)) ) ;; failed to figure out what this is: (defpart 1413 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-flt spt-y (meters 1)) @@ -1671,8 +1608,7 @@ ;; failed to figure out what this is: (defpart 1414 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1696,8 +1632,7 @@ ;; failed to figure out what this is: (defpart 1415 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0) (sp-flt spt-y (meters 0.6)) @@ -1721,8 +1656,7 @@ ;; failed to figure out what this is: (defpart 1412 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters 0.3)) diff --git a/test/decompiler/reference/levels/swamp/swamp-rat-nest_REF.gc b/test/decompiler/reference/levels/swamp/swamp-rat-nest_REF.gc index 1d27c60ab1..a528d9cb0c 100644 --- a/test/decompiler/reference/levels/swamp/swamp-rat-nest_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-rat-nest_REF.gc @@ -9,8 +9,7 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1334) (sp-item 1335) (sp-item 1336) (sp-item 1337) (sp-item 1338) (sp-item 1339)) + :parts ((sp-item 1334) (sp-item 1335) (sp-item 1336) (sp-item 1337) (sp-item 1338) (sp-item 1339)) ) ;; failed to figure out what this is: @@ -19,8 +18,7 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1342) (sp-item 1339) (sp-item 1337) (sp-item 1334)) + :parts ((sp-item 1342) (sp-item 1339) (sp-item 1337) (sp-item 1334)) ) ;; failed to figure out what this is: @@ -29,8 +27,7 @@ :duration 5 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1335) (sp-item 1339) (sp-item 1337) (sp-item 1334)) + :parts ((sp-item 1335) (sp-item 1339) (sp-item 1337) (sp-item 1334)) ) ;; failed to figure out what this is: @@ -38,8 +35,7 @@ :id 295 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1346) (sp-item 1347) (sp-item 1348)) + :parts ((sp-item 1346) (sp-item 1347) (sp-item 1348)) ) ;; failed to figure out what this is: @@ -47,8 +43,7 @@ :id 296 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1350) (sp-item 1351)) + :parts ((sp-item 1350) (sp-item 1351)) ) ;; failed to figure out what this is: @@ -56,14 +51,12 @@ :id 297 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1353) (sp-item 1354)) + :parts ((sp-item 1353) (sp-item 1354)) ) ;; failed to figure out what this is: (defpart 1353 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -89,8 +82,7 @@ ;; failed to figure out what this is: (defpart 1354 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.05) 1.0) @@ -114,8 +106,7 @@ ;; failed to figure out what this is: (defpart 1355 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -4.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -141,8 +132,7 @@ ;; failed to figure out what this is: (defpart 1350 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -168,8 +158,7 @@ ;; failed to figure out what this is: (defpart 1351 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -1) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.05) 1.0) @@ -193,8 +182,7 @@ ;; failed to figure out what this is: (defpart 1352 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -10.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -220,8 +208,7 @@ ;; failed to figure out what this is: (defpart 1334 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 16)) @@ -239,8 +226,7 @@ ;; failed to figure out what this is: (defpart 1341 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -12)) (sp-flt spt-scale-x (meters 16)) @@ -258,8 +244,7 @@ ;; failed to figure out what this is: (defpart 1339 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 8.0 8.0 1.0) (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.75) (meters 1) 1.0) @@ -286,8 +271,7 @@ ;; failed to figure out what this is: (defpart 1335 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 16.0 8.0 1.0) (sp-rnd-flt spt-y (meters -2) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -313,8 +297,7 @@ ;; failed to figure out what this is: (defpart 1340 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 10.0 5.0 1.0) (sp-rnd-flt spt-y (meters -12) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -340,8 +323,7 @@ ;; failed to figure out what this is: (defpart 1336 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 12.0 8.0 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 0.25) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -367,8 +349,7 @@ ;; failed to figure out what this is: (defpart 1337 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 8.0 16.0 1.0) (sp-rnd-flt spt-y (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.6) 1.0) @@ -393,8 +374,7 @@ ;; failed to figure out what this is: (defpart 1338 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 32.0 32.0 1.0) (sp-rnd-flt spt-y (meters 2) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.5) 1.0) @@ -419,8 +399,7 @@ ;; failed to figure out what this is: (defpart 1346 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -446,8 +425,7 @@ ;; failed to figure out what this is: (defpart 1349 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -12) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -473,8 +451,7 @@ ;; failed to figure out what this is: (defpart 1347 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.05) 1.0) @@ -498,8 +475,7 @@ ;; failed to figure out what this is: (defpart 1348 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-y (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.5) 1.0) @@ -523,8 +499,7 @@ ;; failed to figure out what this is: (defpart 1342 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 20.0 8.0 1.0) (sp-rnd-flt spt-y (meters -3.5) (meters 2.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -550,8 +525,7 @@ ;; failed to figure out what this is: (defpart 1343 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 16.0 5.0 1.0) (sp-rnd-flt spt-y (meters -10.5) (meters 2.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -577,8 +551,7 @@ ;; failed to figure out what this is: (defpart 1344 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num -5.0) (sp-flt spt-y (meters -12)) (sp-flt spt-scale-x (meters 16)) @@ -596,8 +569,7 @@ ;; failed to figure out what this is: (defpart 1345 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 12.0 4.0 1.0) (sp-rnd-flt spt-y (meters -4) (meters 1.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 2.5) 1.0) @@ -798,7 +770,7 @@ ((and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) (swamp-rat-nest-dummy-take-damage 3) (if (< (vector-vector-distance (target-pos 0) (-> self top-sphere)) (-> self top-sphere w)) - (send-event *target* 'no-look-around 75) + (send-event *target* 'no-look-around (seconds 0.25)) ) (go swamp-rat-nest-dummy-hit) ) @@ -822,34 +794,28 @@ ;; failed to figure out what this is: (defstate swamp-rat-nest-dummy-idle (swamp-rat-nest-dummy) - :event - swamp-rat-nest-dummy-event-handler - :code - (behavior () + :event swamp-rat-nest-dummy-event-handler + :code (behavior () (loop (ja :num-func num-func-identity :frame-num max) (suspend) ) (none) ) - :post - (the-as (function none :behavior swamp-rat-nest-dummy) transform-post) + :post (the-as (function none :behavior swamp-rat-nest-dummy) transform-post) ) ;; failed to figure out what this is: (defstate swamp-rat-nest-dummy-hit (swamp-rat-nest-dummy) - :event - swamp-rat-nest-dummy-event-handler - :enter - (behavior () + :event swamp-rat-nest-dummy-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (if (<= (-> self parent-process 0 hit-points) 0) (go swamp-rat-nest-dummy-die) ) (none) ) - :code - (behavior () + :code (behavior () (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (< (-> self parent-process 0 hit-points) 3) @@ -861,16 +827,13 @@ (go swamp-rat-nest-dummy-idle) (none) ) - :post - (the-as (function none :behavior swamp-rat-nest-dummy) transform-post) + :post (the-as (function none :behavior swamp-rat-nest-dummy) transform-post) ) ;; failed to figure out what this is: (defstate swamp-rat-nest-dummy-shake (swamp-rat-nest-dummy) - :event - swamp-rat-nest-dummy-event-handler - :code - (behavior () + :event swamp-rat-nest-dummy-event-handler + :code (behavior () (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -879,35 +842,25 @@ (go swamp-rat-nest-dummy-idle) (none) ) - :post - (the-as (function none :behavior swamp-rat-nest-dummy) transform-post) + :post (the-as (function none :behavior swamp-rat-nest-dummy) transform-post) ) ;; failed to figure out what this is: (defstate swamp-rat-nest-dummy-die (swamp-rat-nest-dummy) - :event - (the-as (function process int symbol event-message-block object :behavior swamp-rat-nest-dummy) #f) - :code - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior swamp-rat-nest-dummy) #f) + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self parent-process 0 dummy) (the-as (pointer swamp-rat-nest-dummy) #f)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> self death-part) - -1 - #f - #f - #f - (-> self node-list data (-> self particle-spawn-joint) bone transform vector 3) - ) - (-> gp-0 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> self death-part) + -1 + #f + #f + #f + (-> self node-list data (-> self particle-spawn-joint) bone transform vector 3) + :to *entity-pool* ) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (suspend) @@ -988,30 +941,27 @@ swamp-rat-nest-default-event-handler ) ;; definition for function swamp-rat-nest-spawn-rat +;; INFO: Return type mismatch (pointer process) vs (pointer swamp-rat). ;; WARN: Function may read a register that is not set: t2 ;; Used lq/sq (defbehavior swamp-rat-nest-spawn-rat swamp-rat-nest () (local-vars (t2-0 none)) - (when (and (-> self dummy) (> (-> self dummy 0 spawn-joint-count) 0)) - (let* ((v1-5 (swamp-rat-nest-pick-spawn-joint)) - (v1-8 (-> self dummy 0 node-list data v1-5 bone)) - (gp-0 (new 'stack-no-clear 'vector)) - ) - (set! (-> gp-0 quad) (-> v1-8 transform vector 3 quad)) - (let ((s5-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> v1-8 transform vector 1) 1.0)) - (s4-0 (if (= (-> self fact-override pickup-type) (pickup-type none)) - 0 - 9 - ) - ) - (s3-0 (get-process *default-dead-pool* swamp-rat #x4000)) - ) - (when s3-0 - (let ((t9-3 (method-of-type swamp-rat activate))) - (t9-3 (the-as swamp-rat s3-0) self 'swamp-rat (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 swamp-rat-init-by-other self gp-0 s5-0 s4-0 t2-0) - (-> s3-0 ppointer) + (the-as + (pointer swamp-rat) + (when (and (-> self dummy) (> (-> self dummy 0 spawn-joint-count) 0)) + (let* ((v1-5 (swamp-rat-nest-pick-spawn-joint)) + (v1-8 (-> self dummy 0 node-list data v1-5 bone)) + (gp-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> gp-0 quad) (-> v1-8 transform vector 3 quad)) + (let ((s5-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> v1-8 transform vector 1) 1.0)) + (s4-0 (if (= (-> self fact-override pickup-type) (pickup-type none)) + 0 + 9 + ) + ) + ) + (process-spawn swamp-rat self gp-0 s5-0 s4-0 t2-0 :to self) ) ) ) @@ -1025,52 +975,19 @@ swamp-rat-nest-default-event-handler (let ((v1-1 (-> self dummy-type))) (cond ((zero? v1-1) - (let ((gp-0 (get-process *default-dead-pool* swamp-rat-nest-dummy-a #x4000))) - (set! (-> self dummy) - (the-as - (pointer swamp-rat-nest-dummy) - (when gp-0 - (let ((t9-1 (method-of-type swamp-rat-nest-dummy-a activate))) - (t9-1 (the-as swamp-rat-nest-dummy-a gp-0) self 'swamp-rat-nest-dummy-a (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 swamp-rat-nest-dummy-init-by-other self) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! (-> self dummy) + (process-spawn swamp-rat-nest-dummy-a :init swamp-rat-nest-dummy-init-by-other self :to self) + ) ) ((= v1-1 1) - (let ((gp-1 (get-process *default-dead-pool* swamp-rat-nest-dummy-b #x4000))) - (set! (-> self dummy) - (the-as - (pointer swamp-rat-nest-dummy) - (when gp-1 - (let ((t9-4 (method-of-type swamp-rat-nest-dummy-b activate))) - (t9-4 (the-as swamp-rat-nest-dummy-b gp-1) self 'swamp-rat-nest-dummy-b (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 swamp-rat-nest-dummy-init-by-other self) - (-> gp-1 ppointer) - ) - ) - ) - ) + (set! (-> self dummy) + (process-spawn swamp-rat-nest-dummy-b :init swamp-rat-nest-dummy-init-by-other self :to self) + ) ) ((= v1-1 2) - (let ((gp-2 (get-process *default-dead-pool* swamp-rat-nest-dummy-c #x4000))) - (set! (-> self dummy) - (the-as - (pointer swamp-rat-nest-dummy) - (when gp-2 - (let ((t9-7 (method-of-type swamp-rat-nest-dummy-c activate))) - (t9-7 (the-as swamp-rat-nest-dummy-c gp-2) self 'swamp-rat-nest-dummy-c (the-as pointer #x70004000)) - ) - (run-now-in-process gp-2 swamp-rat-nest-dummy-init-by-other self) - (-> gp-2 ppointer) - ) - ) - ) - ) + (set! (-> self dummy) + (process-spawn swamp-rat-nest-dummy-c :init swamp-rat-nest-dummy-init-by-other self :to self) + ) ) (else (go swamp-rat-nest-die) @@ -1085,21 +1002,18 @@ swamp-rat-nest-default-event-handler ;; failed to figure out what this is: (defstate swamp-rat-nest-idle (swamp-rat-nest) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hit) (go swamp-rat-nest-active) ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= (-> self fact-override idle-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans)) ) @@ -1108,29 +1022,24 @@ swamp-rat-nest-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (swamp-rat-nest-check-dummy) (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior swamp-rat-nest) #f) + :post (the-as (function none :behavior swamp-rat-nest) #f) ) ;; failed to figure out what this is: (defstate swamp-rat-nest-active (swamp-rat-nest) - :event - swamp-rat-nest-default-event-handler - :enter - (behavior () + :event swamp-rat-nest-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (swamp-rat-nest-check-dummy) (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self test-interval)) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -1151,28 +1060,23 @@ swamp-rat-nest-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior swamp-rat-nest) #f) + :post (the-as (function none :behavior swamp-rat-nest) #f) ) ;; failed to figure out what this is: (defstate swamp-rat-nest-gestate (swamp-rat-nest) - :event - swamp-rat-nest-default-event-handler - :enter - (behavior () + :event swamp-rat-nest-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (swamp-rat-nest-check-dummy) (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (the int (* (-> self spawn-period-scale) (-> self spawn-period))) @@ -1183,23 +1087,19 @@ swamp-rat-nest-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior swamp-rat-nest) #f) + :post (the-as (function none :behavior swamp-rat-nest) #f) ) ;; failed to figure out what this is: (defstate swamp-rat-nest-victory (swamp-rat-nest) - :event - (the-as (function process int symbol event-message-block object :behavior swamp-rat-nest) #f) - :code - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior swamp-rat-nest) #f) + :code (behavior () (let ((gp-0 (the-as (pointer process-tree) (-> self child-process)))) (while gp-0 (let* ((s5-0 (ppointer->process gp-0)) @@ -1218,16 +1118,13 @@ swamp-rat-nest-default-event-handler (go swamp-rat-nest-active) (none) ) - :post - (the-as (function none :behavior swamp-rat-nest) #f) + :post (the-as (function none :behavior swamp-rat-nest) #f) ) ;; failed to figure out what this is: (defstate swamp-rat-nest-die (swamp-rat-nest) - :event - swamp-rat-nest-default-event-handler - :code - (behavior () + :event swamp-rat-nest-default-event-handler + :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) (process-entity-status! self (entity-perm-status dead) #t) (drop-pickup (-> self fact-override) #t *entity-pool* (-> self fact-override) 0) @@ -1236,8 +1133,7 @@ swamp-rat-nest-default-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-rat-nest) #f) + :post (the-as (function none :behavior swamp-rat-nest) #f) ) ;; definition for method 11 of type swamp-rat-nest diff --git a/test/decompiler/reference/levels/swamp/swamp-rat_REF.gc b/test/decompiler/reference/levels/swamp/swamp-rat_REF.gc index 4c04611102..5bc2b97256 100644 --- a/test/decompiler/reference/levels/swamp/swamp-rat_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-rat_REF.gc @@ -134,10 +134,8 @@ swamp-rat-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-idle (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :post - (behavior () + :event swamp-rat-default-event-handler + :post (behavior () (ja-post) (none) ) @@ -146,14 +144,11 @@ swamp-rat-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-patrol (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :code - (behavior () + :event swamp-rat-default-event-handler + :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (loop - (ja-no-eval :group! - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self nav-info walk-anim)) :num! (seek! max f30-0) :frame-num 0.0 ) @@ -170,10 +165,8 @@ swamp-rat-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-notice (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :code - (behavior () + :event swamp-rat-default-event-handler + :code (behavior () (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.17)) (ja-no-eval :group! swamp-rat-notice-ja :num! (seek! (ja-aframe 30.0 0)) :frame-num 0.0) @@ -228,18 +221,15 @@ swamp-rat-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-chase (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :trans - (behavior () + :event swamp-rat-default-event-handler + :trans (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self chase-rest-time)) (go-virtual nav-enemy-victory) ) ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self target-nav-time) (-> *display* base-frame-counter)) (set! (-> self wiggle-time) (+ (-> *display* base-frame-counter) (seconds -10))) (set! (-> self wiggle-angle) 0.0) @@ -256,8 +246,7 @@ swamp-rat-default-event-handler ) (none) ) - :post - (behavior () + :post (behavior () (swamp-rat-update-wiggle-target (target-pos 0)) (nav-enemy-travel-post) (none) @@ -267,19 +256,15 @@ swamp-rat-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-stop-chase (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :code - (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) + :event swamp-rat-default-event-handler + :code (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) ) ;; failed to figure out what this is: (defstate nav-enemy-stare (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :code - (behavior () + :event swamp-rat-default-event-handler + :code (behavior () (set! (-> self rotate-speed) 1456355.5) (set! (-> self turn-time) (seconds 0.075)) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) @@ -312,10 +297,8 @@ swamp-rat-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-give-up (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :code - (behavior () + :event swamp-rat-default-event-handler + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! swamp-rat-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -343,10 +326,8 @@ swamp-rat-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-attack (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :code - (behavior () + :event swamp-rat-default-event-handler + :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (ja-no-eval :group! swamp-rat-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -361,18 +342,14 @@ swamp-rat-default-event-handler ;; failed to figure out what this is: (defstate nav-enemy-victory (swamp-rat) :virtual #t - :event - swamp-rat-default-event-handler - :code - (-> (method-of-type nav-enemy nav-enemy-victory) code) + :event swamp-rat-default-event-handler + :code (-> (method-of-type nav-enemy nav-enemy-victory) code) ) ;; failed to figure out what this is: (defstate swamp-rat-spawn (swamp-rat) - :event - swamp-rat-default-event-handler - :code - (behavior () + :event swamp-rat-default-event-handler + :code (behavior () (let ((gp-0 (new-stack-vector0))) (set! (-> gp-0 x) 0.0) (set! (-> gp-0 y) (- (-> *standard-dynamics* gravity-length))) @@ -424,8 +401,7 @@ swamp-rat-default-event-handler ) (none) ) - :post - (the-as (function none :behavior swamp-rat) nav-enemy-simple-post) + :post (the-as (function none :behavior swamp-rat) nav-enemy-simple-post) ) ;; definition for symbol *swamp-rat-nav-enemy-info*, type nav-enemy-info diff --git a/test/decompiler/reference/levels/title/title-obs_REF.gc b/test/decompiler/reference/levels/title/title-obs_REF.gc index 5eddd2140f..4ef475407d 100644 --- a/test/decompiler/reference/levels/title/title-obs_REF.gc +++ b/test/decompiler/reference/levels/title/title-obs_REF.gc @@ -150,8 +150,7 @@ ;; failed to figure out what this is: (defstate idle (logo-slave) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 uint)) (let ((v1-0 arg2)) (the-as object (cond @@ -177,8 +176,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (ja-post) (loop (clone-anim-once @@ -226,8 +224,7 @@ ;; failed to figure out what this is: (defstate startup (logo) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'update) (clear-pending-settings-from-process *setting-control* self 'process-mask) @@ -235,8 +232,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (let ((a0-0 (-> self anim))) (when (nonzero? a0-0) (ja-abort-spooled-anim a0-0 (the-as art-joint-anim #f) -1) @@ -251,8 +247,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (if (not (none-reserved? *art-control*)) (go-virtual hidden) ) @@ -261,84 +256,43 @@ ) (none) ) - :code - (behavior () + :code (behavior () (while (!= (file-status *art-control* (-> self next-anim name) 0) 'active) (set-blackout-frames (seconds 0.05)) (suspend) ) (set! (-> *setting-control* current bg-a) 1.0) (set-setting! *setting-control* self 'bg-a 'abs 0.0 0) - (let ((gp-1 (get-process *default-dead-pool* logo-slave #x4000))) - (set! (-> self camera-anim) - (ppointer->handle (when gp-1 - (let ((t9-4 (method-of-type logo-slave activate))) - (t9-4 (the-as logo-slave gp-1) self 'logo-slave (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 logo-slave-init-by-other (-> self entity) *logo-cam-sg*) - (-> gp-1 ppointer) - ) - ) - ) - ) - (let ((gp-2 (get-process *default-dead-pool* othercam #x4000))) - (set! (-> self camera) - (ppointer->handle - (when gp-2 - (let ((t9-7 (method-of-type othercam activate))) - (t9-7 (the-as othercam gp-2) (handle->process (-> self camera-anim)) 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-2 othercam-init-by-other (handle->process (-> self camera-anim)) 4 #t 'logo) - (-> gp-2 ppointer) - ) + (set! (-> self camera-anim) + (ppointer->handle (process-spawn logo-slave (-> self entity) *logo-cam-sg* :to self)) + ) + (set! (-> self camera) + (ppointer->handle + (process-spawn + othercam + (handle->process (-> self camera-anim)) + 4 + #t + 'logo + :to (handle->process (-> self camera-anim)) ) ) - ) + ) (send-event (handle->process (-> self camera)) 'mask 0) (case (scf-get-territory) ((2) - (let ((gp-3 (get-process *default-dead-pool* logo-slave #x4000))) - (set! (-> self volumes) - (ppointer->handle - (when gp-3 - (let ((t9-12 (method-of-type logo-slave activate))) - (t9-12 (the-as logo-slave gp-3) self 'logo-slave (the-as pointer #x70004000)) - ) - (run-now-in-process gp-3 logo-slave-init-by-other (-> self entity) *logo-volumes-japan-sg*) - (-> gp-3 ppointer) - ) - ) - ) - ) + (set! (-> self volumes) + (ppointer->handle (process-spawn logo-slave (-> self entity) *logo-volumes-japan-sg* :to self)) + ) ) (else - (let ((gp-4 (get-process *default-dead-pool* logo-slave #x4000))) - (set! (-> self volumes) - (ppointer->handle (when gp-4 - (let ((t9-15 (method-of-type logo-slave activate))) - (t9-15 (the-as logo-slave gp-4) self 'logo-slave (the-as pointer #x70004000)) - ) - (run-now-in-process gp-4 logo-slave-init-by-other (-> self entity) *logo-volumes-sg*) - (-> gp-4 ppointer) - ) - ) - ) - ) + (set! (-> self volumes) + (ppointer->handle (process-spawn logo-slave (-> self entity) *logo-volumes-sg* :to self)) + ) ) ) (send-event (handle->process (-> self volumes)) 'origin-joint-index 3) - (let ((gp-5 (get-process *default-dead-pool* logo-slave #x4000))) - (set! (-> self black) - (ppointer->handle (when gp-5 - (let ((t9-19 (method-of-type logo-slave activate))) - (t9-19 (the-as logo-slave gp-5) self 'logo-slave (the-as pointer #x70004000)) - ) - (run-now-in-process gp-5 logo-slave-init-by-other (-> self entity) *logo-black-sg*) - (-> gp-5 ppointer) - ) - ) - ) - ) + (set! (-> self black) (ppointer->handle (process-spawn logo-slave (-> self entity) *logo-black-sg* :to self))) (send-event (handle->process (-> self black)) 'origin-joint-index 3) (set! (-> self anim) (-> self next-anim)) (set! (-> self next-anim) @@ -346,8 +300,7 @@ :name "logo-intro-2" :index 7 :parts 15 - :command-list - '((260 want-force-inside village1 #t) + :command-list '((260 want-force-inside village1 #t) (261 kill "sage-23") (261 kill "assistant-11") (261 kill "explorer-4") @@ -396,8 +349,7 @@ :name "logo-loop" :index 9 :parts 17 - :command-list - '((61 kill "sage-23") + :command-list '((61 kill "sage-23") (61 kill "assistant-11") (61 kill "explorer-4") ((new 'static 'bfloat :data 61.5) kill "farmer-3") @@ -425,8 +377,7 @@ (go-virtual idle) (none) ) - :post - (behavior () + :post (behavior () (if *progress-process* (logior! (-> self draw status) (draw-status skip-bones)) (logclear! (-> self draw status) (draw-status skip-bones)) @@ -465,29 +416,25 @@ ;; failed to figure out what this is: (defstate idle (logo) :virtual #t - :exit - (-> (method-of-type logo startup) exit) - :trans - (-> (method-of-type logo startup) trans) - :code - (behavior () + :exit (-> (method-of-type logo startup) exit) + :trans (-> (method-of-type logo startup) trans) + :code (behavior () (loop (set! (-> self anim) (-> self next-anim)) - (when (not (handle->process (-> self camera))) - (let ((gp-0 (get-process *default-dead-pool* othercam #x4000))) + (if (not (handle->process (-> self camera))) (set! (-> self camera) (ppointer->handle - (when gp-0 - (let ((t9-1 (method-of-type othercam activate))) - (t9-1 (the-as othercam gp-0) (handle->process (-> self camera-anim)) 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 othercam-init-by-other (handle->process (-> self camera-anim)) 4 #t 'logo) - (-> gp-0 ppointer) + (process-spawn + othercam + (handle->process (-> self camera-anim)) + 4 + #t + 'logo + :to (handle->process (-> self camera-anim)) ) ) ) ) - ) (set! *spawn-actors* #f) (ja-channel-set! 1) (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) @@ -506,22 +453,19 @@ ) (none) ) - :post - (-> (method-of-type logo startup) post) + :post (-> (method-of-type logo startup) post) ) ;; failed to figure out what this is: (defstate hidden (logo) :virtual #t - :trans - (behavior () + :trans (behavior () (if (nonzero? (-> self next-anim)) (spool-push *art-control* (-> self next-anim name) 0 self -1.0) ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (ja-post) (let ((gp-0 *master-mode*)) @@ -549,8 +493,7 @@ ;; failed to figure out what this is: (defstate ndi (logo) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (if (= v1-0 'blackout) (set-setting! *setting-control* self 'bg-a 'abs 1.0 0) @@ -558,8 +501,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set-setting! *setting-control* self 'bg-a 'abs 0.0 0) (copy-settings-from-target! *setting-control*) (set! (-> self state-time) (-> *display* base-frame-counter)) @@ -569,14 +511,12 @@ (set! (-> self done?) #f) (none) ) - :exit - (behavior () + :exit (behavior () ((-> (method-of-type logo startup) exit)) (set-blackout-frames (seconds 0.035)) (none) ) - :trans - (behavior () + :trans (behavior () ((-> (method-of-type logo startup) trans)) (if (and *debug-segment* (cpad-pressed? 0 start circle x) @@ -610,78 +550,36 @@ ) (none) ) - :code - (behavior () + :code (behavior () (while (!= (file-status *art-control* (-> self next-anim name) 0) 'active) (set-blackout-frames (seconds 0.05)) (suspend) ) (set! (-> *setting-control* current bg-a) 1.0) - (let ((gp-1 (get-process *default-dead-pool* logo-slave #x4000))) - (set! (-> self camera-anim) - (ppointer->handle (when gp-1 - (let ((t9-3 (method-of-type logo-slave activate))) - (t9-3 (the-as logo-slave gp-1) self 'logo-slave (the-as pointer #x70004000)) - ) - (run-now-in-process gp-1 logo-slave-init-by-other (-> self entity) *ndi-cam-sg*) - (-> gp-1 ppointer) - ) - ) - ) - ) - (let ((gp-2 (get-process *default-dead-pool* othercam #x4000))) - (set! (-> self camera) - (ppointer->handle - (when gp-2 - (let ((t9-6 (method-of-type othercam activate))) - (t9-6 (the-as othercam gp-2) (handle->process (-> self camera-anim)) 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-2 othercam-init-by-other (handle->process (-> self camera-anim)) 3 #t 'logo) - (-> gp-2 ppointer) - ) + (set! (-> self camera-anim) + (ppointer->handle (process-spawn logo-slave (-> self entity) *ndi-cam-sg* :to self)) + ) + (set! (-> self camera) + (ppointer->handle + (process-spawn + othercam + (handle->process (-> self camera-anim)) + 3 + #t + 'logo + :to (handle->process (-> self camera-anim)) ) ) - ) + ) (send-event (handle->process (-> self camera)) 'mask 0) - (let ((gp-3 (get-process *default-dead-pool* logo-slave #x4000))) - (set! (-> self volumes) - (ppointer->handle (when gp-3 - (let ((t9-10 (method-of-type logo-slave activate))) - (t9-10 (the-as logo-slave gp-3) self 'logo-slave (the-as pointer #x70004000)) - ) - (run-now-in-process gp-3 logo-slave-init-by-other (-> self entity) *ndi-volumes-sg*) - (-> gp-3 ppointer) - ) - ) - ) - ) + (set! (-> self volumes) + (ppointer->handle (process-spawn logo-slave (-> self entity) *ndi-volumes-sg* :to self)) + ) (send-event (handle->process (-> self volumes)) 'origin-joint-index 3) - (let ((gp-4 (get-process *default-dead-pool* logo-slave #x4000))) - (set! (-> self target) - (ppointer->handle (when gp-4 - (let ((t9-14 (method-of-type logo-slave activate))) - (t9-14 (the-as logo-slave gp-4) self 'logo-slave (the-as pointer #x70004000)) - ) - (run-now-in-process gp-4 logo-slave-init-by-other #f *jchar-sg*) - (-> gp-4 ppointer) - ) - ) - ) - ) + (set! (-> self target) (ppointer->handle (process-spawn logo-slave #f *jchar-sg* :to self))) (send-event (handle->process (-> self target)) 'blend-shape #t) (send-event (handle->process (-> self target)) 'origin-joint-index 33) - (let ((gp-5 (get-process *default-dead-pool* logo-slave #x4000))) - (set! (-> self sidekick) - (ppointer->handle (when gp-5 - (let ((t9-19 (method-of-type logo-slave activate))) - (t9-19 (the-as logo-slave gp-5) self 'logo-slave (the-as pointer #x70004000)) - ) - (run-now-in-process gp-5 logo-slave-init-by-other #f *sidekick-sg*) - (-> gp-5 ppointer) - ) - ) - ) - ) + (set! (-> self sidekick) (ppointer->handle (process-spawn logo-slave #f *sidekick-sg* :to self))) (send-event (handle->process (-> self sidekick)) 'blend-shape #t) (send-event (handle->process (-> self sidekick)) 'origin-joint-index 6) (set! (-> self anim) (-> self next-anim)) @@ -697,8 +595,7 @@ (anim-loop) (none) ) - :post - (behavior () + :post (behavior () (ja-post) (none) ) @@ -731,8 +628,7 @@ :name "logo-intro" :index 5 :parts 3 - :command-list - '((0 want-levels title village1) + :command-list '((0 want-levels title village1) (5 display-level village1 special) (5 want-vis vi1) (5 want-force-inside village1 #t) @@ -793,10 +689,8 @@ ;; failed to figure out what this is: (defstate target-title (target) - :event - target-generic-event-handler - :enter - (behavior () + :event target-generic-event-handler + :enter (behavior () (set-setting! *setting-control* self 'music-volume 'abs 0.0 0) (set-setting! *setting-control* self 'sfx-volume 'abs 0.0 0) (set-setting! *setting-control* self 'ambient-volume 'abs 0.0 0) @@ -811,8 +705,7 @@ (send-event *camera* 'change-state cam-fixed 0) (none) ) - :exit - (behavior () + :exit (behavior () (when (not (or (= (-> self next-state name) 'target-title-play) (= (-> self next-state name) 'target-title-wait))) (if (-> self manipy) (deactivate (-> self manipy 0)) @@ -820,15 +713,13 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (hide-hud-quick) (spool-push *art-control* "ndi-intro" 0 self -1.0) (sound-group-pause (the-as uint 2)) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (the-as handle #f))) (case (scf-get-territory) ((2) @@ -891,16 +782,7 @@ ) (label cfg-41) (let ((gp-3 (entity-by-name "logo-1"))) - (let* ((s5-3 (get-process *default-dead-pool* logo #x4000)) - (v1-53 (when s5-3 - (let ((t9-17 (method-of-type logo activate))) - (t9-17 (the-as logo s5-3) self 'logo (the-as pointer #x70004000)) - ) - (run-now-in-process s5-3 logo-init-by-other gp-3 (-> gp-3 extra trans) 'ndi) - (-> s5-3 ppointer) - ) - ) - ) + (let ((v1-53 (process-spawn logo gp-3 (-> gp-3 extra trans) 'ndi :to self))) (set! (-> self manipy) (the-as (pointer manipy) v1-53)) (let ((s5-4 (ppointer->handle v1-53))) (while (handle->process (the-as handle s5-4)) @@ -908,30 +790,19 @@ ) ) ) - (let ((s5-5 (get-process *default-dead-pool* logo #x4000))) - (set! (-> self manipy) - (the-as (pointer manipy) (when s5-5 - (let ((t9-20 (method-of-type logo activate))) - (t9-20 (the-as logo s5-5) self 'logo (the-as pointer #x70004000)) - ) - (run-now-in-process s5-5 logo-init-by-other gp-3 (-> gp-3 extra trans) 'logo) - (-> s5-5 ppointer) - ) - ) - ) - ) + (set! (-> self manipy) + (the-as (pointer manipy) (process-spawn logo gp-3 (-> gp-3 extra trans) 'logo :to self)) + ) ) (go target-title-play) (none) ) - :post - target-no-move-post + :post target-no-move-post ) ;; failed to figure out what this is: (defstate target-title-play (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'wait) @@ -947,26 +818,20 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set-setting! *setting-control* self 'allow-pause #f 0.0 0) (set-setting! *setting-control* self 'allow-progress #f 0.0 0) (none) ) - :exit - (-> target-title exit) - :trans - (the-as (function none :behavior target) hide-hud-quick) - :code - (the-as (function none :behavior target) anim-loop) - :post - target-no-move-post + :exit (-> target-title exit) + :trans (the-as (function none :behavior target) hide-hud-quick) + :code (the-as (function none :behavior target) anim-loop) + :post target-no-move-post ) ;; failed to figure out what this is: (defstate target-title-wait (target) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'play) @@ -982,8 +847,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (clear-pending-settings-from-process *setting-control* self 'ambient-volume) (clear-pending-settings-from-process *setting-control* self 'sfx-volume) (clear-pending-settings-from-process *setting-control* self 'music-volume) @@ -995,8 +859,7 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (when *time-of-day-proc* (set! (-> *time-of-day-proc* 0 time-ratio) 300.0) (set! *time-of-day-fast* #f) @@ -1005,8 +868,7 @@ ((-> target-title exit)) (none) ) - :trans - (behavior () + :trans (behavior () (hide-hud-quick) (if (cpad-pressed? 0 start) (activate-progress *dproc* (progress-screen title)) @@ -1028,8 +890,6 @@ ) (none) ) - :code - (the-as (function none :behavior target) anim-loop) - :post - target-no-move-post + :code (the-as (function none :behavior target) anim-loop) + :post target-no-move-post ) diff --git a/test/decompiler/reference/levels/training/training-obs_REF.gc b/test/decompiler/reference/levels/training/training-obs_REF.gc index 01ac98a444..a1637a0f2d 100644 --- a/test/decompiler/reference/levels/training/training-obs_REF.gc +++ b/test/decompiler/reference/levels/training/training-obs_REF.gc @@ -29,8 +29,7 @@ :count 3 :converted #f :normal-scale 1.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 40.0 :xdiv -1 :zdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) @@ -102,8 +101,7 @@ ;; failed to figure out what this is: (defstate idle (training-cam) :virtual #t - :code - (behavior () + :code (behavior () (loop (when (and *target* (< (vector-vector-distance (target-pos 0) (-> self root trans)) (-> self range)) @@ -170,24 +168,7 @@ *entity-pool* (game-task none) ) - (let ((gp-2 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-2 - (let ((t9-13 (method-of-type pov-camera activate))) - (t9-13 (the-as pov-camera gp-2) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-2 - pov-camera-init-by-other - (-> self entity extra trans) - *training-cam-sg* - "orbcam" - 0 - #f - '() - ) - (-> gp-2 ppointer) - ) - ) + (process-spawn pov-camera (-> self entity extra trans) *training-cam-sg* "orbcam" 0 #f '() :to self) ) ((= v1-61 1) (level-hint-spawn @@ -197,24 +178,7 @@ *entity-pool* (game-task none) ) - (let ((gp-3 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-3 - (let ((t9-17 (method-of-type pov-camera activate))) - (t9-17 (the-as pov-camera gp-3) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-3 - pov-camera-init-by-other - (-> self entity extra trans) - *training-cam-sg* - "fuelcellcam" - 0 - #f - '() - ) - (-> gp-3 ppointer) - ) - ) + (process-spawn pov-camera (-> self entity extra trans) *training-cam-sg* "fuelcellcam" 0 #f '() :to self) ) ((= v1-61 2) (level-hint-spawn @@ -224,24 +188,7 @@ *entity-pool* (game-task none) ) - (let ((gp-4 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-4 - (let ((t9-21 (method-of-type pov-camera activate))) - (t9-21 (the-as pov-camera gp-4) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-4 - pov-camera-init-by-other - (-> self entity extra trans) - *training-cam-sg* - "ecocam" - 0 - #f - '() - ) - (-> gp-4 ppointer) - ) - ) + (process-spawn pov-camera (-> self entity extra trans) *training-cam-sg* "ecocam" 0 #f '() :to self) ) ((= v1-61 3) (level-hint-spawn @@ -251,24 +198,7 @@ *entity-pool* (game-task none) ) - (let ((gp-5 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-5 - (let ((t9-25 (method-of-type pov-camera activate))) - (t9-25 (the-as pov-camera gp-5) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-5 - pov-camera-init-by-other - (-> self entity extra trans) - *training-cam-sg* - "precursordoorcam" - 0 - #f - '() - ) - (-> gp-5 ppointer) - ) - ) + (process-spawn pov-camera (-> self entity extra trans) *training-cam-sg* "precursordoorcam" 0 #f '() :to self) ) ((= v1-61 4) (level-hint-spawn @@ -278,24 +208,7 @@ *entity-pool* (game-task none) ) - (let ((gp-6 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-6 - (let ((t9-29 (method-of-type pov-camera activate))) - (t9-29 (the-as pov-camera gp-6) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-6 - pov-camera-init-by-other - (-> self entity extra trans) - *training-cam-sg* - "ecoventcam" - 0 - #f - '() - ) - (-> gp-6 ppointer) - ) - ) + (process-spawn pov-camera (-> self entity extra trans) *training-cam-sg* "ecoventcam" 0 #f '() :to self) ) ((= v1-61 5) (level-hint-spawn @@ -305,24 +218,7 @@ *entity-pool* (game-task none) ) - (let ((gp-7 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-7 - (let ((t9-33 (method-of-type pov-camera activate))) - (t9-33 (the-as pov-camera gp-7) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-7 - pov-camera-init-by-other - (-> self entity extra trans) - *training-cam-sg* - "greenecocam" - 0 - #f - '() - ) - (-> gp-7 ppointer) - ) - ) + (process-spawn pov-camera (-> self entity extra trans) *training-cam-sg* "greenecocam" 0 #f '() :to self) ) ((= v1-61 6) (when (not (task-complete? *game-info* (game-task training-climb))) @@ -584,14 +480,12 @@ :id 143 :duration 15 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2912) (sp-item 2913) (sp-item 2914) (sp-item 2915) (sp-item 2916)) + :parts ((sp-item 2912) (sp-item 2913) (sp-item 2914) (sp-item 2915) (sp-item 2916)) ) ;; failed to figure out what this is: (defpart 2912 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 2.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) @@ -618,20 +512,17 @@ ;; failed to figure out what this is: (defpart 2917 - :init-specs - ((sp-flt spt-fade-a -0.4) (sp-int-plain-rnd spt-next-time 30 29 1) (sp-launcher-by-id spt-next-launcher 2918)) + :init-specs ((sp-flt spt-fade-a -0.4) (sp-int-plain-rnd spt-next-time 30 29 1) (sp-launcher-by-id spt-next-launcher 2918)) ) ;; failed to figure out what this is: (defpart 2918 - :init-specs - ((sp-flt spt-fade-a -0.04)) + :init-specs ((sp-flt spt-fade-a -0.04)) ) ;; failed to figure out what this is: (defpart 2913 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) (sp-flt spt-num 4.0) (sp-flt spt-y (meters 2.5)) (sp-rnd-flt spt-scale-x (meters 6) (meters 3) 1.0) @@ -656,14 +547,12 @@ ;; failed to figure out what this is: (defpart 2919 - :init-specs - ((sp-flt spt-fade-a -2.1333334)) + :init-specs ((sp-flt spt-fade-a -2.1333334)) ) ;; failed to figure out what this is: (defpart 2914 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 2.5) (sp-flt spt-y (meters 1.5)) (sp-flt spt-scale-x (meters 12)) @@ -680,8 +569,7 @@ ;; failed to figure out what this is: (defpart 2915 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x2)) (sp-rnd-flt spt-num 8.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 2.5) (meters 1.5) 1.0) @@ -710,8 +598,7 @@ ;; failed to figure out what this is: (defpart 2920 - :init-specs - ((sp-flt spt-scalevel-x (meters -0.0033333334)) + :init-specs ((sp-flt spt-scalevel-x (meters -0.0033333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-a -3.4) ) @@ -719,8 +606,7 @@ ;; failed to figure out what this is: (defpart 2916 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x2)) (sp-rnd-flt spt-num 8.0 8.0 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 2.5) (meters 1.5) 1.0) @@ -752,8 +638,7 @@ :id 144 :duration 15 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2912)) + :parts ((sp-item 2912)) ) ;; failed to figure out what this is: @@ -761,8 +646,7 @@ :id 145 :duration 15 :bounds (static-bspherem 0 0 0 1) - :parts - ((sp-item 2913)) + :parts ((sp-item 2913)) ) ;; definition of type scarecrow-a @@ -832,8 +716,7 @@ ;; failed to figure out what this is: (defstate idle (scarecrow-a) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -928,15 +811,13 @@ ) ) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 40960.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) (get-reminder (get-task-control (game-task training-gimmie)) 0) ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.12)) (loop (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) @@ -947,15 +828,13 @@ ) (none) ) - :post - (the-as (function none :behavior scarecrow-a) ja-post) + :post (the-as (function none :behavior scarecrow-a) ja-post) ) ;; failed to figure out what this is: (defstate hit (scarecrow-a) :virtual #t - :code - (behavior ((arg0 float) (arg1 vector) (arg2 symbol)) + :code (behavior ((arg0 float) (arg1 vector) (arg2 symbol)) (when (not arg2) (dummy-10 (-> self skel effect) 'group-scarecrow-hit 4.0 -1) (ja-channel-push! 1 (seconds 0.07)) @@ -998,38 +877,26 @@ (set! (-> s5-2 fountain-rand-transv-hi z) 20480.0) (set! (-> s5-2 fountain-rand-transv-hi w) 49152.0) (set! (-> s5-2 fountain-rand-transv-lo quad) (-> arg1 quad)) - (let ((gp-1 (get-process *default-dead-pool* joint-exploder #x4000))) - (when gp-1 - (let ((t9-21 (method-of-type joint-exploder activate))) - (t9-21 (the-as joint-exploder gp-1) self 'joint-exploder (the-as pointer #x70004000)) + (process-spawn + joint-exploder + *scarecrow-a-break-sg* + 5 + s5-2 + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 12) + (new 'static 'joint-exploder-static-joint-params :joint-index 10) + (new 'static 'joint-exploder-static-joint-params :joint-index 20) + (new 'static 'joint-exploder-static-joint-params :joint-index 4) + (new 'static 'joint-exploder-static-joint-params :joint-index 5) + (new 'static 'joint-exploder-static-joint-params :joint-index 11) + (new 'static 'joint-exploder-static-joint-params :joint-index 9) + (new 'static 'joint-exploder-static-joint-params :joint-index 7) + (new 'static 'joint-exploder-static-joint-params :joint-index 14) + (new 'static 'joint-exploder-static-joint-params :joint-index 13) ) - (run-now-in-process - gp-1 - joint-exploder-init-by-other - *scarecrow-a-break-sg* - 5 - s5-2 - (new 'static 'joint-exploder-static-params - :joints - (new - 'static - 'boxed-array - :type joint-exploder-static-joint-params :length 10 :allocated-length 10 - (new 'static 'joint-exploder-static-joint-params :joint-index 12) - (new 'static 'joint-exploder-static-joint-params :joint-index 10) - (new 'static 'joint-exploder-static-joint-params :joint-index 20) - (new 'static 'joint-exploder-static-joint-params :joint-index 4) - (new 'static 'joint-exploder-static-joint-params :joint-index 5) - (new 'static 'joint-exploder-static-joint-params :joint-index 11) - (new 'static 'joint-exploder-static-joint-params :joint-index 9) - (new 'static 'joint-exploder-static-joint-params :joint-index 7) - (new 'static 'joint-exploder-static-joint-params :joint-index 14) - (new 'static 'joint-exploder-static-joint-params :joint-index 13) - ) - ) - ) - (-> gp-1 ppointer) ) + :to self ) ) (while (-> self child) @@ -1038,8 +905,7 @@ (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior scarecrow-a) ja-post) + :post (the-as (function none :behavior scarecrow-a) ja-post) ) ;; definition for method 11 of type scarecrow-a @@ -1094,10 +960,8 @@ ;; failed to figure out what this is: (defstate idle (scarecrow-b) :virtual #t - :event - (-> (method-of-type scarecrow-a idle) event) - :code - (behavior () + :event (-> (method-of-type scarecrow-a idle) event) + :code (behavior () (ja-channel-push! 1 (seconds 0.12)) (loop (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) @@ -1108,15 +972,13 @@ ) (none) ) - :post - (the-as (function none :behavior scarecrow-b) ja-post) + :post (the-as (function none :behavior scarecrow-b) ja-post) ) ;; failed to figure out what this is: (defstate hit (scarecrow-b) :virtual #t - :code - (behavior ((arg0 float) (arg1 vector) (arg2 symbol)) + :code (behavior ((arg0 float) (arg1 vector) (arg2 symbol)) (when (not arg2) (dummy-10 (-> self skel effect) 'group-scarecrow-hit 4.0 -1) (ja-channel-push! 1 (seconds 0.07)) @@ -1158,42 +1020,30 @@ (set! (-> s5-2 fountain-rand-transv-hi z) 40960.0) (set! (-> s5-2 fountain-rand-transv-hi w) 102400.0) (set! (-> s5-2 fountain-rand-transv-lo quad) (-> arg1 quad)) - (let ((gp-1 (get-process *default-dead-pool* joint-exploder #x4000))) - (when gp-1 - (let ((t9-21 (method-of-type joint-exploder activate))) - (t9-21 (the-as joint-exploder gp-1) self 'joint-exploder (the-as pointer #x70004000)) + (process-spawn + joint-exploder + *scarecrow-b-break-sg* + 5 + s5-2 + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 12) + (new 'static 'joint-exploder-static-joint-params :joint-index 10) + (new 'static 'joint-exploder-static-joint-params :joint-index 21) + (new 'static 'joint-exploder-static-joint-params :joint-index 4) + (new 'static 'joint-exploder-static-joint-params :joint-index 5) + (new 'static 'joint-exploder-static-joint-params :joint-index 11) + (new 'static 'joint-exploder-static-joint-params :joint-index 9) + (new 'static 'joint-exploder-static-joint-params :joint-index 7) + (new 'static 'joint-exploder-static-joint-params :joint-index 14) + (new 'static 'joint-exploder-static-joint-params :joint-index 13) + (new 'static 'joint-exploder-static-joint-params :joint-index 14) + (new 'static 'joint-exploder-static-joint-params :joint-index 13) + (new 'static 'joint-exploder-static-joint-params :joint-index 16) + (new 'static 'joint-exploder-static-joint-params :joint-index 15) ) - (run-now-in-process - gp-1 - joint-exploder-init-by-other - *scarecrow-b-break-sg* - 5 - s5-2 - (new 'static 'joint-exploder-static-params - :joints - (new - 'static - 'boxed-array - :type joint-exploder-static-joint-params :length 14 :allocated-length 14 - (new 'static 'joint-exploder-static-joint-params :joint-index 12) - (new 'static 'joint-exploder-static-joint-params :joint-index 10) - (new 'static 'joint-exploder-static-joint-params :joint-index 21) - (new 'static 'joint-exploder-static-joint-params :joint-index 4) - (new 'static 'joint-exploder-static-joint-params :joint-index 5) - (new 'static 'joint-exploder-static-joint-params :joint-index 11) - (new 'static 'joint-exploder-static-joint-params :joint-index 9) - (new 'static 'joint-exploder-static-joint-params :joint-index 7) - (new 'static 'joint-exploder-static-joint-params :joint-index 14) - (new 'static 'joint-exploder-static-joint-params :joint-index 13) - (new 'static 'joint-exploder-static-joint-params :joint-index 14) - (new 'static 'joint-exploder-static-joint-params :joint-index 13) - (new 'static 'joint-exploder-static-joint-params :joint-index 16) - (new 'static 'joint-exploder-static-joint-params :joint-index 15) - ) - ) - ) - (-> gp-1 ppointer) ) + :to self ) ) (while (-> self child) @@ -1202,8 +1052,7 @@ (cleanup-for-death self) (none) ) - :post - (the-as (function none :behavior scarecrow-b) ja-post) + :post (the-as (function none :behavior scarecrow-b) ja-post) ) ;; definition for method 11 of type scarecrow-b diff --git a/test/decompiler/reference/levels/training/training-part_REF.gc b/test/decompiler/reference/levels/training/training-part_REF.gc index b4f2b4f276..4e39bdc3b3 100644 --- a/test/decompiler/reference/levels/training/training-part_REF.gc +++ b/test/decompiler/reference/levels/training/training-part_REF.gc @@ -23,8 +23,7 @@ :id 146 :flags (always-draw) :bounds (static-bspherem 0 32 0 70) - :parts - ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 4500) + :parts ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 4500) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1140 :offset 4530) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1080 :offset 4560) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1020 :offset 4590) @@ -58,8 +57,7 @@ :id 147 :flags (always-draw) :bounds (static-bspherem 0 32 0 70) - :parts - ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 900) + :parts ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 900) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1140 :offset 930) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1080 :offset 960) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1020 :offset 990) @@ -93,8 +91,7 @@ :id 149 :flags (always-draw) :bounds (static-bspherem 0 32 0 70) - :parts - ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 2100) + :parts ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 2100) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1140 :offset 2130) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1080 :offset 2160) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1020 :offset 2190) @@ -120,8 +117,7 @@ :id 148 :flags (always-draw) :bounds (static-bspherem 0 32 0 70) - :parts - ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 3300) + :parts ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 3300) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1140 :offset 3330) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1080 :offset 3360) (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1020 :offset 3390) @@ -152,8 +148,7 @@ ;; failed to figure out what this is: (defpart 752 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.2) (sp-sound (static-sound-spec "geyser" :num 0.1 :fo-min 50 :fo-max 200)) (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0) @@ -180,14 +175,12 @@ ;; failed to figure out what this is: (defpart 761 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.06666667)) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.06666667)) (sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 753 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 85) (meters 10) 1.0) @@ -220,8 +213,7 @@ ;; failed to figure out what this is: (defpart 762 - :init-specs - ((sp-flt spt-fade-a -0.03678161)) + :init-specs ((sp-flt spt-fade-a -0.03678161)) ) ;; definition for function check-drop-level-training-mist @@ -235,8 +227,7 @@ ;; failed to figure out what this is: (defpart 754 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 0.035) (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 85) (meters 10) 1.0) @@ -269,8 +260,7 @@ ;; failed to figure out what this is: (defpart 763 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-int spt-num 0 1 1.0) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -290,8 +280,7 @@ ;; failed to figure out what this is: (defpart 764 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.02)) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -315,13 +304,9 @@ (when (< (-> arg2 y) (-> arg1 user-float)) (let ((gp-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) - ) - ) + (if (< (rand-float-gen) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) (sp-launch-particles-var *sp-particle-system-2d* @@ -346,8 +331,7 @@ ;; failed to figure out what this is: (defpart 759 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0) (sp-rnd-flt spt-y (meters 10) (meters 20) 1.0) @@ -368,8 +352,7 @@ ;; failed to figure out what this is: (defpart 760 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0) (sp-rnd-flt spt-y (meters 10) (meters 20) 1.0) @@ -388,8 +371,7 @@ ;; failed to figure out what this is: (defpart 757 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 8) 1.0) @@ -410,8 +392,7 @@ ;; failed to figure out what this is: (defpart 758 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 10) 1.0) @@ -430,8 +411,7 @@ ;; failed to figure out what this is: (defpart 755 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0) (sp-rnd-flt spt-y (meters 10) (meters 10) 1.0) @@ -452,8 +432,7 @@ ;; failed to figure out what this is: (defpart 756 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 4.0) (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0) (sp-rnd-flt spt-y (meters 10) (meters 20) 1.0) @@ -474,8 +453,7 @@ (defpartgroup group-training-warpgate :id 150 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 767 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 767 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 768 :fade-after (meters 60) :falloff-to (meters 100) :binding 765) (sp-item 765 :flags (bit1 start-dead launch-asap)) (sp-item 765 :flags (bit1 start-dead launch-asap)) @@ -652,8 +630,7 @@ ;; failed to figure out what this is: (defpart 770 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-x (meters 0)) (sp-flt spt-scale-x (meters 5)) @@ -671,8 +648,7 @@ ;; failed to figure out what this is: (defpart 769 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-x (meters -2)) (sp-flt spt-scale-x (meters 0.25)) @@ -688,8 +664,7 @@ ;; failed to figure out what this is: (defpart 766 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.6666667)) (sp-flt spt-y (meters 4)) @@ -713,8 +688,7 @@ ;; failed to figure out what this is: (defpart 767 - :init-specs - ((sp-rnd-flt spt-num 3.0 3.0 1.0) + :init-specs ((sp-rnd-flt spt-num 3.0 3.0 1.0) (sp-flt spt-x (meters -0.5)) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) @@ -732,8 +706,7 @@ ;; failed to figure out what this is: (defpart 768 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.25)) (sp-copy-from-other spt-scale-y -4) @@ -748,8 +721,7 @@ ;; failed to figure out what this is: (defpart 765 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.6666667)) (sp-flt spt-y (meters 4)) @@ -776,8 +748,7 @@ (defpartgroup group-training-butterflies :id 151 :bounds (static-bspherem 0 0 0 30) - :parts - ((sp-item 773 :fade-after (meters 120) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 771) + :parts ((sp-item 773 :fade-after (meters 120) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 771) (sp-item 773 :fade-after (meters 120) :period 6637 :length 5 :hour-mask #b111111100000000000111111 :binding 771) (sp-item 773 :fade-after (meters 120) :period 9846 :length 5 :hour-mask #b111111100000000000111111 :binding 771) (sp-item 771 :flags (start-dead launch-asap) :binding 772) @@ -795,8 +766,7 @@ ;; failed to figure out what this is: (defpart 773 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 7.5) 1.0) (sp-rnd-flt spt-y (meters 14) (meters 3) 1.0) @@ -816,8 +786,7 @@ ;; failed to figure out what this is: (defpart 774 - :init-specs - ((sp-flt spt-accel-y 0.0) + :init-specs ((sp-flt spt-accel-y 0.0) (sp-int-plain-rnd spt-next-time 2700 1499 1) (sp-launcher-by-id spt-next-launcher 775) ) @@ -825,14 +794,12 @@ ;; failed to figure out what this is: (defpart 775 - :init-specs - ((sp-flt spt-accel-y 1.3653333)) + :init-specs ((sp-flt spt-accel-y 1.3653333)) ) ;; failed to figure out what this is: (defpart 771 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -856,8 +823,7 @@ ;; failed to figure out what this is: (defpart 776 - :init-specs - ((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) + :init-specs ((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) (sp-int-plain-rnd spt-next-time 150 449 1) @@ -867,8 +833,7 @@ ;; failed to figure out what this is: (defpart 772 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 0.9)) @@ -888,8 +853,7 @@ (defpartgroup group-training-birds :id 152 :bounds (static-bspherem 0 8 0 45) - :parts - ((sp-item 779 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 777) + :parts ((sp-item 779 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 777) (sp-item 779 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 777) (sp-item 779 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 777) (sp-item 777 :flags (start-dead launch-asap) :binding 778) @@ -914,8 +878,7 @@ ;; failed to figure out what this is: (defpart 779 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-func spt-birth-func 'birth-func-random-next-time) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) @@ -942,8 +905,7 @@ ;; failed to figure out what this is: (defpart 777 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-func spt-birth-func 'birth-func-copy-omega-to-z) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) @@ -969,8 +931,7 @@ ;; failed to figure out what this is: (defpart 780 - :init-specs - ((sp-flt spt-scale-x (meters 8)) + :init-specs ((sp-flt spt-scale-x (meters 8)) (sp-flt spt-scalevel-x (meters -0.08)) (sp-int spt-timer 600) (sp-int spt-next-time 100) @@ -980,8 +941,7 @@ ;; failed to figure out what this is: (defpart 781 - :init-specs - ((sp-flt spt-scale-x (meters 0)) + :init-specs ((sp-flt spt-scale-x (meters 0)) (sp-flt spt-scalevel-x (meters -0.04)) (sp-int spt-timer 600) (sp-int spt-next-time 199) @@ -991,8 +951,7 @@ ;; failed to figure out what this is: (defpart 778 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-func spt-birth-func 'birth-func-copy2-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 4)) @@ -1008,8 +967,7 @@ :id 153 :flags (always-draw) :bounds (static-bspherem 0 16 0 32) - :parts - ((sp-item 782 :fade-after (meters 160) :falloff-to (meters 160)) + :parts ((sp-item 782 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 783 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 784 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 785 :fade-after (meters 80) :falloff-to (meters 80)) @@ -1020,26 +978,22 @@ ;; failed to figure out what this is: (defpart 789 - :init-specs - ((sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-a -0.10666667)) ) ;; failed to figure out what this is: (defpart 790 - :init-specs - ((sp-flt spt-fade-a -0.16)) + :init-specs ((sp-flt spt-fade-a -0.16)) ) ;; failed to figure out what this is: (defpart 791 - :init-specs - ((sp-flt spt-fade-a -2.6666667)) + :init-specs ((sp-flt spt-fade-a -2.6666667)) ) ;; failed to figure out what this is: (defpart 782 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 0.9) (sp-rnd-flt spt-x (meters -9) (meters 1) 1.0) (sp-flt spt-y (meters 47)) @@ -1068,8 +1022,7 @@ ;; failed to figure out what this is: (defpart 783 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 0.9) (sp-rnd-flt spt-x (meters -9) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 39) (meters 5) 1.0) @@ -1098,8 +1051,7 @@ ;; failed to figure out what this is: (defpart 784 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -2) (meters 3) 1.0) (sp-rnd-flt spt-y (meters 24) (meters 6) 1.0) @@ -1127,8 +1079,7 @@ ;; failed to figure out what this is: (defpart 785 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -9) (meters 1) 1.0) (sp-flt spt-y (meters 47)) @@ -1155,8 +1106,7 @@ ;; failed to figure out what this is: (defpart 786 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.4 1.0) (sp-rnd-flt spt-x (meters -7) (meters 3.5) 1.0) (sp-flt spt-y (meters 47)) @@ -1186,8 +1136,7 @@ ;; failed to figure out what this is: (defpart 787 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.133) (sp-rnd-flt spt-x (meters 0) (meters 6) 1.0) (sp-flt spt-y (meters -3.5)) @@ -1221,8 +1170,7 @@ :id 154 :flags (always-draw) :bounds (static-bspherem 0 12 0 12) - :parts - ((sp-item 792 :fade-after (meters 160) :falloff-to (meters 160)) + :parts ((sp-item 792 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 793 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 794 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 795 :fade-after (meters 160) :falloff-to (meters 160)) @@ -1233,8 +1181,7 @@ ;; failed to figure out what this is: (defpart 792 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -6) (meters 1) 1.0) (sp-flt spt-y (meters 15.5)) @@ -1263,8 +1210,7 @@ ;; failed to figure out what this is: (defpart 793 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 1.4) (sp-rnd-flt spt-x (meters -4) (meters 1) 1.0) (sp-flt spt-y (meters 15.5)) @@ -1293,8 +1239,7 @@ ;; failed to figure out what this is: (defpart 794 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.4 1.0) (sp-rnd-flt spt-x (meters -6) (meters 1) 1.0) (sp-flt spt-y (meters 15.5)) @@ -1324,8 +1269,7 @@ ;; failed to figure out what this is: (defpart 795 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.4 1.0) (sp-rnd-flt spt-x (meters -4) (meters 1) 1.0) (sp-flt spt-y (meters 15.5)) @@ -1355,8 +1299,7 @@ ;; failed to figure out what this is: (defpart 796 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.133) (sp-rnd-flt spt-x (meters 0) (meters 6) 1.0) (sp-flt spt-y (meters -3.5)) @@ -1387,8 +1330,7 @@ ;; failed to figure out what this is: (defpart 797 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-x (meters 0) (meters 5) 1.0) (sp-rnd-flt spt-z (meters -8) (meters 8) 1.0) diff --git a/test/decompiler/reference/levels/village1/assistant_REF.gc b/test/decompiler/reference/levels/village1/assistant_REF.gc index 0deb9fdfee..92f3c86aae 100644 --- a/test/decompiler/reference/levels/village1/assistant_REF.gc +++ b/test/decompiler/reference/levels/village1/assistant_REF.gc @@ -76,113 +76,102 @@ ;; definition for method 32 of type assistant (defmethod play-anim! assistant ((obj assistant) (arg0 symbol)) - (with-pp - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) - (case (current-task (-> obj tasks)) - (((game-task jungle-eggtop)) - (when arg0 - (let* ((s5-1 (-> obj tasks)) - (s4-0 (method-of-object s5-1 save-reminder)) - (a1-3 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (s4-0 s5-1 (the int (the-as float (send-event-function *target* a1-3))) 1) - ) - (close-status! (-> obj tasks) (task-status need-introduction)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) + (case (current-task (-> obj tasks)) + (((game-task jungle-eggtop)) + (when arg0 + (let* ((s5-1 (-> obj tasks)) + (s4-0 (method-of-object s5-1 save-reminder)) + ) + (s4-0 s5-1 (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 1) ) - (new 'static 'spool-anim - :name - "assistant-introduction-blue-eco-switch" - :index 10 - :parts 11 - :command-list - '((0 want-levels village1 beach) - (128 joint "cameraB") - (312 joint "camera") - (492 joint "cameraB") - (537 joint "camera") - (734 display-level beach movie) - (734 want-force-vis beach #t) - (735 alive "ecovent-48") - (742 blackout 10) - (743 joint "cameraB") - (745 blackout 0) - (839 alive "ecovent-200") - (841 joint "camera") - (842 dead "ecovent-48") - (942 blackout 10) - (944 joint "cameraB") - (945 blackout 0) - (945 dead "ecovent-200") - (945 display-level beach #f) - (1049 blackout 10) - (1051 joint "camera") - (1052 blackout 0) - (1135 blackout 10) - (1137 joint "cameraB") - (1138 blackout 0) - (1216 joint "camera") - ) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "assistant-introduction-blue-eco-switch" + :index 10 + :parts 11 + :command-list '((0 want-levels village1 beach) + (128 joint "cameraB") + (312 joint "camera") + (492 joint "cameraB") + (537 joint "camera") + (734 display-level beach movie) + (734 want-force-vis beach #t) + (735 alive "ecovent-48") + (742 blackout 10) + (743 joint "cameraB") + (745 blackout 0) + (839 alive "ecovent-200") + (841 joint "camera") + (842 dead "ecovent-48") + (942 blackout 10) + (944 joint "cameraB") + (945 blackout 0) + (945 dead "ecovent-200") + (945 display-level beach #f) + (1049 blackout 10) + (1051 joint "camera") + (1052 blackout 0) + (1135 blackout 10) + (1137 joint "cameraB") + (1138 blackout 0) + (1216 joint "camera") ) ) - (else - (if arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "assistant-introduction-race-bike" - :index 12 - :parts 6 - :command-list - '((0 want-levels village1 beach) (129 joint "cameraB") (319 joint "camera") (505 joint "cameraB")) - ) - ) - ) - ) - (((task-status need-reminder) (task-status need-reminder-a)) - (set! (-> obj skippable) #t) - (cond - ((= (current-task (-> obj tasks)) (game-task none)) - (new 'static 'spool-anim :name "assistant-reminder-1-generic" :index 14 :parts 2 :command-list '()) - ) - ((closed? (-> obj tasks) (game-task jungle-eggtop) (task-status need-resolution)) - (new 'static 'spool-anim :name "assistant-reminder-1-race-bike" :index 13 :parts 3 :command-list '()) - ) - ((or (closed? (-> obj tasks) (game-task misty-bike) (task-status need-resolution)) - (not (closed? (-> obj tasks) (game-task misty-bike) (task-status need-introduction))) - ) - (new 'static 'spool-anim :name "assistant-reminder-1-blue-eco-switch" :index 11 :parts 3 :command-list '()) - ) - ((zero? (get-reminder (-> obj tasks) 2)) - (if arg0 - (save-reminder (-> obj tasks) 1 2) - ) - (new 'static 'spool-anim :name "assistant-reminder-1-race-bike" :index 13 :parts 3 :command-list '()) - ) - (else - (if arg0 - (save-reminder (-> obj tasks) 0 2) - ) - (new 'static 'spool-anim :name "assistant-reminder-1-blue-eco-switch" :index 11 :parts 3 :command-list '()) - ) - ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (-> obj draw art-group data 3) ) + (else + (if arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "assistant-introduction-race-bike" + :index 12 + :parts 6 + :command-list '((0 want-levels village1 beach) (129 joint "cameraB") (319 joint "camera") (505 joint "cameraB")) + ) + ) + ) + ) + (((task-status need-reminder) (task-status need-reminder-a)) + (set! (-> obj skippable) #t) + (cond + ((= (current-task (-> obj tasks)) (game-task none)) + (new 'static 'spool-anim :name "assistant-reminder-1-generic" :index 14 :parts 2 :command-list '()) + ) + ((closed? (-> obj tasks) (game-task jungle-eggtop) (task-status need-resolution)) + (new 'static 'spool-anim :name "assistant-reminder-1-race-bike" :index 13 :parts 3 :command-list '()) + ) + ((or (closed? (-> obj tasks) (game-task misty-bike) (task-status need-resolution)) + (not (closed? (-> obj tasks) (game-task misty-bike) (task-status need-introduction))) + ) + (new 'static 'spool-anim :name "assistant-reminder-1-blue-eco-switch" :index 11 :parts 3 :command-list '()) + ) + ((zero? (get-reminder (-> obj tasks) 2)) + (if arg0 + (save-reminder (-> obj tasks) 1 2) + ) + (new 'static 'spool-anim :name "assistant-reminder-1-race-bike" :index 13 :parts 3 :command-list '()) + ) + (else + (if arg0 + (save-reminder (-> obj tasks) 0 2) + ) + (new 'static 'spool-anim :name "assistant-reminder-1-blue-eco-switch" :index 11 :parts 3 :command-list '()) + ) + ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (-> obj draw art-group data 3) ) ) ) @@ -196,10 +185,7 @@ (defmethod TODO-RENAME-43 assistant ((obj assistant)) (let ((s5-0 (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj))) (when s5-0 - (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-3 (the-as number (logior #x3f800000 v1-2))) - (f0-2 (+ -1.0 (the-as float v1-3))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 16384.0 (-> s5-0 y)) #f @@ -228,105 +214,88 @@ ;; failed to figure out what this is: (defstate idle (assistant) :virtual #t - :code - (behavior () + :code (behavior () (if (!= (ja-group) assistant-idle-leaning-right-ja) (ja-channel-push! 1 (seconds 0.2)) ) (loop (TODO-RENAME-43 self) (ja :group! assistant-idle-leaning-right-ja) - (let* ((v1-11 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-12 (the-as number (logior #x3f800000 v1-11))) - ) - (countdown (gp-0 (+ (the int (+ -1.0 (the-as float v1-12))) 2)) - (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) + (countdown (gp-0 (+ (the int (rand-float-gen)) 2)) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) ) ) - (let* ((v1-46 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-47 (the-as number (logior #x3f800000 v1-46))) + (cond + ((< (rand-float-gen) 0.66) + (ja-no-eval :group! assistant-idle-transition-to-welding-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (sound-play-by-name + (static-sound-name "welding-loop") + (-> self sound-id) + 1024 + 0 + 0 + 1 + (the-as symbol (target-pos 0)) + ) + (ja :group! assistant-idle-welding-ja) + (let* ((f30-0 4.0) + (v1-76 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-77 (the-as number (logior #x3f800000 v1-76))) + ) + (countdown (gp-2 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-77)))) 4)) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (suspend) + (ja :num! (seek!)) + ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) + (until (ja-done? 0) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (suspend) + (ja :num! (seek! 0.0)) + ) ) - (cond - ((< (+ -1.0 (the-as float v1-47)) 0.66) - (ja-no-eval :group! assistant-idle-transition-to-welding-ja :num! (seek!) :frame-num 0.0) + ) + (sound-stop (-> self sound-id)) + (ja-no-eval :group! assistant-idle-transition-to-welding-ja :num! (seek! 0.0) :frame-num max) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! 0.0)) + ) + (when (< (rand-float-gen) 0.66) + (ja-no-eval :group! assistant-idle-wiping-brow-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) - (sound-play-by-name - (static-sound-name "welding-loop") - (-> self sound-id) - 1024 - 0 - 0 - 1 - (the-as symbol (target-pos 0)) - ) - (ja :group! assistant-idle-welding-ja) - (let* ((f30-0 4.0) - (v1-76 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-77 (the-as number (logior #x3f800000 v1-76))) - ) - (countdown (gp-2 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-77)))) 4)) - (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) - (suspend) - (ja :num! (seek!)) - ) - (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) - (until (ja-done? 0) - (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) - (suspend) - (ja :num! (seek! 0.0)) - ) - ) - ) - (sound-stop (-> self sound-id)) - (ja-no-eval :group! assistant-idle-transition-to-welding-ja :num! (seek! 0.0) :frame-num max) - (until (ja-done? 0) - (suspend) - (ja :num! (seek! 0.0)) - ) - (let* ((v1-159 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-160 (the-as number (logior #x3f800000 v1-159))) - ) - (when (< (+ -1.0 (the-as float v1-160)) 0.66) - (ja-no-eval :group! assistant-idle-wiping-brow-ja :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) - ) - ) ) - (else - (ja-no-eval :group! assistant-idle-transition-right-to-left-ja :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) - (let* ((v1-208 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-209 (the-as number (logior #x3f800000 v1-208))) - ) - (countdown (gp-3 (+ (the int (+ -1.0 (the-as float v1-209))) 1)) - (ja-no-eval :group! assistant-idle-leaning-left-ja :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) - ) - ) - (ja-no-eval :group! assistant-idle-transition-left-to-right-ja :num! (seek!) :frame-num 0.0) + ) + (else + (ja-no-eval :group! assistant-idle-transition-right-to-left-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (countdown (gp-3 (+ (the int (rand-float-gen)) 1)) + (ja-no-eval :group! assistant-idle-leaning-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) ) + (ja-no-eval :group! assistant-idle-transition-left-to-right-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) ) ) ) @@ -338,16 +307,14 @@ (defpartgroup group-assistant-torch :id 122 :bounds (static-bspherem 0 0 0 15) - :parts - ((sp-item 365 :fade-after (meters 30) :falloff-to (meters 30)) + :parts ((sp-item 365 :fade-after (meters 30) :falloff-to (meters 30)) (sp-item 366 :fade-after (meters 60) :falloff-to (meters 80)) ) ) ;; failed to figure out what this is: (defpart 365 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -364,8 +331,7 @@ ;; failed to figure out what this is: (defpart 366 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -391,8 +357,7 @@ ;; failed to figure out what this is: (defpart 367 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 3.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.075) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -414,13 +379,9 @@ (when (< (-> arg2 y) (-> arg1 user-float)) (let ((gp-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) - ) - ) + (if (< (rand-float-gen) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) (sp-launch-particles-var *sp-particle-system-2d* diff --git a/test/decompiler/reference/levels/village1/explorer_REF.gc b/test/decompiler/reference/levels/village1/explorer_REF.gc index ad47e64a82..bd2d1df429 100644 --- a/test/decompiler/reference/levels/village1/explorer_REF.gc +++ b/test/decompiler/reference/levels/village1/explorer_REF.gc @@ -84,8 +84,7 @@ :name "explorer-introduction" :index 9 :parts 11 - :command-list - '((418 joint "cameraB") (695 shadow self #f) (695 joint "camera") (838 shadow self #t) (838 joint "cameraB")) + :command-list '((418 joint "cameraB") (695 shadow self #f) (695 joint "camera") (838 shadow self #t) (838 joint "cameraB")) ) ) (((task-status need-reminder)) @@ -99,8 +98,7 @@ :name "explorer-reminder-1" :index 10 :parts 5 - :command-list - '((0 send-event target draw #f) + :command-list '((0 send-event target draw #f) (148 send-event target draw #t) (148 joint "cameraB") (390 send-event target draw #f) @@ -133,8 +131,7 @@ :name "explorer-resolution" :index 12 :parts 5 - :command-list - '((167 joint "cameraB") (310 joint "camera")) + :command-list '((167 joint "cameraB") (310 joint "camera")) ) ) (else @@ -159,10 +156,7 @@ ;; definition for method 43 of type explorer (defmethod TODO-RENAME-43 explorer ((obj explorer)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.85714287 f0-2) (play-ambient (-> obj ambient) "EXP-AM05" #f (-> obj root-override trans)) @@ -203,8 +197,7 @@ ;; failed to figure out what this is: (defstate idle (explorer) :virtual #t - :code - (behavior () + :code (behavior () (if (!= (ja-group) explorer-idle-ja) (ja-channel-push! 1 (seconds 0.2)) ) @@ -223,154 +216,130 @@ ) ) ) - (let* ((v1-40 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-41 (the-as number (logior #x3f800000 v1-40))) + (cond + ((< (rand-float-gen) 0.5) + (ja-no-eval :group! explorer-idle2-look-at-map-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (let ((gp-1 (-> *display* base-frame-counter))) + (while (let ((s5-0 (-> *display* base-frame-counter)) + (f30-1 300.0) + (f28-0 0.5) + (f26-0 0.5) + ) + (< (- s5-0 (the-as time-frame (the int (* f30-1 (+ f28-0 (* f26-0 (rand-float-gen))))))) gp-1) + ) + (suspend) ) - (cond - ((< (+ -1.0 (the-as float v1-41)) 0.5) - (ja-no-eval :group! explorer-idle2-look-at-map-ja :num! (seek!) :frame-num 0.0) + ) + (when (< (rand-float-gen) 0.75) + (ja-no-eval :group! explorer-idle2-look-right-map-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) (ja :num! (seek!)) ) - (let ((gp-1 (-> *display* base-frame-counter))) - (while (let* ((s5-0 (-> *display* base-frame-counter)) - (f30-1 300.0) - (f28-0 0.5) - (f26-0 0.5) - (v1-68 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-69 (the-as number (logior #x3f800000 v1-68))) - ) - (< (- s5-0 (the-as time-frame (the int (* f30-1 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-69)))))))) gp-1) + (let ((gp-2 (-> *display* base-frame-counter))) + (while (let ((s5-1 (-> *display* base-frame-counter)) + (f30-2 300.0) + (f28-1 0.5) + (f26-1 0.5) + ) + (< (- s5-1 (the-as time-frame (the int (* f30-2 (+ f28-1 (* f26-1 (rand-float-gen))))))) gp-2) ) (suspend) ) ) - (let* ((v1-75 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-76 (the-as number (logior #x3f800000 v1-75))) - ) - (when (< (+ -1.0 (the-as float v1-76)) 0.75) - (ja-no-eval :group! explorer-idle2-look-right-map-ja :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) - (let ((gp-2 (-> *display* base-frame-counter))) - (while (let* ((s5-1 (-> *display* base-frame-counter)) - (f30-2 300.0) - (f28-1 0.5) - (f26-1 0.5) - (v1-104 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-105 (the-as number (logior #x3f800000 v1-104))) - ) - (< (- s5-1 (the-as time-frame (the int (* f30-2 (+ f28-1 (* f26-1 (+ -1.0 (the-as float v1-105)))))))) gp-2) - ) - (suspend) - ) - ) - (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) - (until (ja-done? 0) - (suspend) - (ja :num! (seek! 0.0)) - ) - (let* ((v1-135 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-136 (the-as number (logior #x3f800000 v1-135))) - ) - (when (< (+ -1.0 (the-as float v1-136)) 0.5) - (ja-no-eval :group! explorer-idle2-look-right-map-ja :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) - ) - (let ((gp-3 (-> *display* base-frame-counter))) - (while (let* ((s5-2 (-> *display* base-frame-counter)) - (f30-3 300.0) - (f28-2 0.5) - (f26-2 0.5) - (v1-164 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-165 (the-as number (logior #x3f800000 v1-164))) - ) - (< (- s5-2 (the-as time-frame (the int (* f30-3 (+ f28-2 (* f26-2 (+ -1.0 (the-as float v1-165)))))))) gp-3) - ) - (suspend) - ) - ) - (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) - (until (ja-done? 0) - (suspend) - (ja :num! (seek! 0.0)) - ) - ) - ) - ) - ) - (ja-no-eval :group! explorer-idle2-look-at-map-ja :num! (seek! 0.0) :frame-num max) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) (ja :num! (seek! 0.0)) ) + (when (< (rand-float-gen) 0.5) + (ja-no-eval :group! explorer-idle2-look-right-map-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (let ((gp-3 (-> *display* base-frame-counter))) + (while (let ((s5-2 (-> *display* base-frame-counter)) + (f30-3 300.0) + (f28-2 0.5) + (f26-2 0.5) + ) + (< (- s5-2 (the-as time-frame (the int (* f30-3 (+ f28-2 (* f26-2 (rand-float-gen))))))) gp-3) + ) + (suspend) + ) + ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! 0.0)) + ) + ) ) - (else - (ja-no-eval :group! explorer-idle3-step-right-ja :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) + (ja-no-eval :group! explorer-idle2-look-at-map-ja :num! (seek! 0.0) :frame-num max) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! 0.0)) + ) + ) + (else + (ja-no-eval :group! explorer-idle3-step-right-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (let ((gp-4 (-> *display* base-frame-counter))) + (while (let ((s5-3 (-> *display* base-frame-counter)) + (f30-4 300.0) + (f28-3 0.5) + (f26-3 0.5) + ) + (< (- s5-3 (the-as time-frame (the int (* f30-4 (+ f28-3 (* f26-3 (rand-float-gen))))))) gp-4) + ) (suspend) - (ja :num! (seek!)) ) - (let ((gp-4 (-> *display* base-frame-counter))) - (while (let* ((s5-3 (-> *display* base-frame-counter)) - (f30-4 300.0) - (f28-3 0.5) - (f26-3 0.5) - (v1-237 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-238 (the-as number (logior #x3f800000 v1-237))) - ) - (< (- s5-3 (the-as time-frame (the int (* f30-4 (+ f28-3 (* f26-3 (+ -1.0 (the-as float v1-238)))))))) gp-4) - ) - (suspend) - ) - ) - (ja-no-eval :group! explorer-idle3-looking-ja :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) + ) + (ja-no-eval :group! explorer-idle3-looking-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (let ((gp-5 (-> *display* base-frame-counter))) + (while (let ((s5-4 (-> *display* base-frame-counter)) + (f30-5 300.0) + (f28-4 0.5) + (f26-4 0.5) + ) + (< (- s5-4 (the-as time-frame (the int (* f30-5 (+ f28-4 (* f26-4 (rand-float-gen))))))) gp-5) + ) (suspend) - (ja :num! (seek!)) ) - (let ((gp-5 (-> *display* base-frame-counter))) - (while (let* ((s5-4 (-> *display* base-frame-counter)) - (f30-5 300.0) - (f28-4 0.5) - (f26-4 0.5) - (v1-268 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-269 (the-as number (logior #x3f800000 v1-268))) - ) - (< (- s5-4 (the-as time-frame (the int (* f30-5 (+ f28-4 (* f26-4 (+ -1.0 (the-as float v1-269)))))))) gp-5) - ) - (suspend) - ) - ) - (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) - (until (ja-done? 0) + ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! 0.0)) + ) + (let ((gp-6 (-> *display* base-frame-counter))) + (while (let ((s5-5 (-> *display* base-frame-counter)) + (f30-6 300.0) + (f28-5 0.5) + (f26-5 0.5) + ) + (< (- s5-5 (the-as time-frame (the int (* f30-6 (+ f28-5 (* f26-5 (rand-float-gen))))))) gp-6) + ) (suspend) - (ja :num! (seek! 0.0)) - ) - (let ((gp-6 (-> *display* base-frame-counter))) - (while (let* ((s5-5 (-> *display* base-frame-counter)) - (f30-6 300.0) - (f28-5 0.5) - (f26-5 0.5) - (v1-301 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-302 (the-as number (logior #x3f800000 v1-301))) - ) - (< (- s5-5 (the-as time-frame (the int (* f30-6 (+ f28-5 (* f26-5 (+ -1.0 (the-as float v1-302)))))))) gp-6) - ) - (suspend) - ) - ) - (ja-no-eval :group! explorer-idle3-step-left-ja :num! (seek!) :frame-num 0.0) - (until (ja-done? 0) - (suspend) - (ja :num! (seek!)) ) ) + (ja-no-eval :group! explorer-idle3-step-left-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) ) ) ) diff --git a/test/decompiler/reference/levels/village1/farmer_REF.gc b/test/decompiler/reference/levels/village1/farmer_REF.gc index b26359ca7b..0cf8506044 100644 --- a/test/decompiler/reference/levels/village1/farmer_REF.gc +++ b/test/decompiler/reference/levels/village1/farmer_REF.gc @@ -89,10 +89,7 @@ ;; definition for method 43 of type farmer (defmethod TODO-RENAME-43 farmer ((obj farmer)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.8333333 f0-2) (play-ambient (-> obj ambient) "FAR-LO1A" #f (-> obj root-override trans)) diff --git a/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc b/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc index 189b2747d0..17170a9431 100644 --- a/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc +++ b/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc @@ -769,8 +769,7 @@ ;; failed to figure out what this is: (defpart 2896 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) (sp-flt spt-num 0.06) (sp-flt spt-x (meters 10)) (sp-rnd-flt spt-scale-x (meters 1.5) (meters 3) 1.0) @@ -880,17 +879,7 @@ (defbehavior fishermans-boat-post fishermans-boat () (when (and *target* (-> self kill-player)) (set! (-> self kill-player) #f) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'attack) - (set! (-> a1-0 param 0) (the-as uint #f)) - (let ((a0-0 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-0 mode) 'endlessfall) - (set! (-> a1-0 param 1) (the-as uint a0-0)) - ) - (when (send-event-function *target* a1-0) - ) + (when (send-event *target* 'attack #f (static-attack-info ((mode 'endlessfall)))) ) ) (when (and *target* (-> self ignition)) @@ -1031,18 +1020,15 @@ ;; failed to figure out what this is: (defstate fishermans-boat-docked-village (fishermans-boat) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior fishermans-boat) rigid-body-platform-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (fishermans-boat-leave-dock?) (go fishermans-boat-ride-to-misty) ) @@ -1052,14 +1038,12 @@ ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self anim) (new 'static 'spool-anim :name "fishermans-boat-ride-to-misty" :index 15 :parts 3 - :command-list - '((0 want-levels village1 misty) + :command-list '((0 want-levels village1 misty) (0 shadow target #f) (0 shadow sidekick #f) (250 display-level misty display) @@ -1078,14 +1062,12 @@ (anim-loop) (none) ) - :post - fishermans-boat-post + :post fishermans-boat-post ) ;; failed to figure out what this is: (defstate fishermans-boat-leaving-village (fishermans-boat) - :trans - (behavior () + :trans (behavior () (when (< 614400.0 (vector-vector-xz-distance (-> self root-overlay trans) (-> self dock-point))) (load-state-want-display-level 'village1 'special) (load-state-want-display-level 'misty 'display) @@ -1096,34 +1078,26 @@ (rider-trans) (none) ) - :code - (behavior () + :code (behavior () (load-state-want-levels 'village1 'misty) - (let ((gp-0 (get-process *default-dead-pool* camera-tracker #x4000))) - (set! (-> self cam-tracker) - (ppointer->handle (when gp-0 - (let ((t9-2 (method-of-type camera-tracker activate))) - (t9-2 (the-as camera-tracker gp-0) self 'camera-tracker (the-as pointer #x70004000)) + (set! (-> self cam-tracker) + (ppointer->handle (process-spawn + camera-tracker + :init camera-tracker-init + (lambda :behavior fishermans-boat + () + (camera-change-to "camera-282" 0 #f) + (while (!= (-> self rbody lin-momentum-damping-factor) 'release) + (suspend) ) - (run-now-in-process - gp-0 - camera-tracker-init - (lambda :behavior fishermans-boat - () - (camera-change-to "camera-282" 0 #f) - (while (!= (-> self rbody lin-momentum-damping-factor) 'release) - (suspend) - ) - (set! (-> self rbody lin-momentum-damping-factor) (the-as float #f)) - (camera-change-to (the-as string 'base) 0 #f) - (none) - ) - ) - (-> gp-0 ppointer) + (set! (-> self rbody lin-momentum-damping-factor) (the-as float #f)) + (camera-change-to (the-as string 'base) 0 #f) + (none) ) + :to self ) - ) - ) + ) + ) (send-event (handle->process (-> self cam-tracker)) 'border #t) (send-event (handle->process (-> self cam-tracker)) 'mask #x20800) (fishermans-boat-set-path-point 0) @@ -1133,14 +1107,12 @@ ) (none) ) - :post - fishermans-boat-post + :post fishermans-boat-post ) ;; failed to figure out what this is: (defstate fishermans-boat-entering-village (fishermans-boat) - :trans - (behavior () + :trans (behavior () (when (fishermans-boat-enter-dock?) (set! (-> self waiting-for-player) #f) (when #t @@ -1155,8 +1127,7 @@ (rider-trans) (none) ) - :code - (behavior () + :code (behavior () (load-state-want-levels 'village1 'beach) (load-state-want-vis 'vi1) (fishermans-boat-set-dock-point 0) @@ -1164,24 +1135,20 @@ (anim-loop) (none) ) - :post - fishermans-boat-post + :post fishermans-boat-post ) ;; failed to figure out what this is: (defstate fishermans-boat-docked-misty (fishermans-boat) - :event - (the-as + :event (the-as (function process int symbol event-message-block object :behavior fishermans-boat) rigid-body-platform-event-handler ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (if (fishermans-boat-leave-dock?) (go fishermans-boat-ride-to-village1) ) @@ -1191,15 +1158,13 @@ ) (none) ) - :code - (behavior () + :code (behavior () (if #t (set! (-> self anim) (new 'static 'spool-anim :name "fishermans-boat-ride-to-village1" :index 16 :parts 3 - :command-list - '((0 want-levels village1 misty) + :command-list '((0 want-levels village1 misty) (0 shadow target #f) (0 shadow sidekick #f) (250 display-level village1 display) @@ -1217,8 +1182,7 @@ :name "fishermans-boat-ride-to-village1-alt" :index 17 :parts 12 - :command-list - '((0 want-levels village1 misty) + :command-list '((0 want-levels village1 misty) (105 want-levels village1 intro) (150 display-level intro display) (150 want-vis int) @@ -1244,14 +1208,12 @@ (anim-loop) (none) ) - :post - fishermans-boat-post + :post fishermans-boat-post ) ;; failed to figure out what this is: (defstate fishermans-boat-leaving-misty (fishermans-boat) - :trans - (behavior () + :trans (behavior () (when (< 409600.0 (vector-vector-xz-distance (-> self root-overlay trans) (-> self dock-point))) (load-state-want-force-vis 'village1 #t) (load-state-want-display-level 'village1 'display) @@ -1262,33 +1224,25 @@ (rider-trans) (none) ) - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* camera-tracker #x4000))) - (set! (-> self cam-tracker) - (ppointer->handle (when gp-0 - (let ((t9-1 (method-of-type camera-tracker activate))) - (t9-1 (the-as camera-tracker gp-0) self 'camera-tracker (the-as pointer #x70004000)) + :code (behavior () + (set! (-> self cam-tracker) + (ppointer->handle (process-spawn + camera-tracker + :init camera-tracker-init + (lambda :behavior fishermans-boat + () + (camera-change-to "camera-287" 0 #f) + (while (!= (-> self rbody lin-momentum-damping-factor) 'release) + (suspend) ) - (run-now-in-process - gp-0 - camera-tracker-init - (lambda :behavior fishermans-boat - () - (camera-change-to "camera-287" 0 #f) - (while (!= (-> self rbody lin-momentum-damping-factor) 'release) - (suspend) - ) - (set! (-> self rbody lin-momentum-damping-factor) (the-as float #f)) - (camera-change-to (the-as string 'base) 0 #f) - (none) - ) - ) - (-> gp-0 ppointer) + (set! (-> self rbody lin-momentum-damping-factor) (the-as float #f)) + (camera-change-to (the-as string 'base) 0 #f) + (none) ) + :to self ) - ) - ) + ) + ) (send-event (handle->process (-> self cam-tracker)) 'border #t) (send-event (handle->process (-> self cam-tracker)) 'mask #x20800) (fishermans-boat-set-path-point 4) @@ -1298,14 +1252,12 @@ ) (none) ) - :post - fishermans-boat-post + :post fishermans-boat-post ) ;; failed to figure out what this is: (defstate fishermans-boat-entering-misty (fishermans-boat) - :trans - (behavior () + :trans (behavior () (when (fishermans-boat-enter-dock?) (set! (-> self waiting-for-player) #f) (level-hint-spawn @@ -1324,8 +1276,7 @@ (rider-trans) (none) ) - :code - (behavior () + :code (behavior () (set-continue! *game-info* "misty-start") (fishermans-boat-set-dock-point 4) (fishermans-boat-set-path-point 2) @@ -1334,20 +1285,17 @@ ) (none) ) - :post - fishermans-boat-post + :post fishermans-boat-post ) ;; failed to figure out what this is: (defstate fishermans-boat-player-control (fishermans-boat) - :exit - (behavior () + :exit (behavior () (send-event *camera* 'change-state *camera-base-mode* 0) (set! (-> self auto-pilot) #t) (none) ) - :trans - (behavior () + :trans (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) (nth-point (-> self boat-path) 0 gp-0) (if (< (vector-vector-xz-distance (-> self root-overlay trans) gp-0) 614400.0) @@ -1361,8 +1309,7 @@ 0 (none) ) - :code - (behavior () + :code (behavior () (send-event (handle->process (-> self cam-tracker)) 'message 'release) (suspend) (send-event *camera* 'change-state cam-stick 0) @@ -1374,8 +1321,7 @@ ) (none) ) - :post - fishermans-boat-post + :post fishermans-boat-post ) ;; definition for function fishermans-boat-set-throttle-by-speed @@ -1394,20 +1340,17 @@ ;; failed to figure out what this is: (defstate fishermans-boat-measurements (fishermans-boat) - :exit - (behavior () + :exit (behavior () (set! (-> self measure-parameters) #f) (none) ) - :trans - (behavior () + :trans (behavior () (if (cpad-pressed? 1 square) (go fishermans-boat-player-control) ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self auto-pilot) #f) (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 1) @@ -1445,8 +1388,7 @@ (go fishermans-boat-player-control) (none) ) - :post - fishermans-boat-post + :post fishermans-boat-post ) ;; definition for method 7 of type fishermans-boat @@ -1646,60 +1588,44 @@ ;; failed to figure out what this is: (defstate fishermans-boat-ride-to-misty (fishermans-boat) - :code - (behavior () + :code (behavior () (set! (-> self propeller enable) #f) (quaternion-identity! (-> self root-overlay quat)) (set! (-> self root-overlay trans quad) (-> self entity extra trans quad)) (set! (-> self player-riding) #f) (set! (-> self auto-pilot) #f) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'clone-anim) - (set! (-> a1-0 param 0) (the-as uint self)) - (when (send-event-function *target* a1-0) - (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) - (send-event *target* 'blend-shape #t) - (let* ((gp-0 (get-process *default-dead-pool* othercam #x4000)) - (v1-20 (when gp-0 - (let ((t9-5 (method-of-type othercam activate))) - (t9-5 (the-as othercam gp-0) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 othercam-init-by-other self 5 #f #t) - (-> gp-0 ppointer) - ) - ) - ) - (send-event (ppointer->process v1-20) 'mask 2048) - ) - (set! (-> self draw force-lod) 0) - (ja-play-spooled-anim - (-> self anim) - (the-as art-joint-anim fishermans-boat-idle-ja) - (the-as art-joint-anim #f) - (the-as (function process-drawable symbol) false-func) - ) - (set! (-> self draw force-lod) -1) - (send-event *target* 'blend-shape #f) - (ja-channel-set! 1) - (ja :group! fishermans-boat-idle-ja) - (vector<-cspace! (-> self root-overlay trans) (-> self node-list data 3)) - (matrix->quaternion (-> self root-overlay quat) (-> self node-list data 3 bone transform)) - (fishermans-boat-reset-physics) - (transform-post) - (when *target* - (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) - (send-event *target* 'trans 'restore (-> self old-target-pos)) - (send-event *target* 'end-mode) - (update-transforms! (-> self root-overlay)) - (move-to-ground (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) - (logior! (-> *target* control status) (cshape-moving-flags onsurf onground tsurf)) - (suspend) - (send-event *camera* 'teleport-to-other-start-string) - ) - (set-continue! *game-info* "misty-start") + (when (send-event *target* 'clone-anim self) + (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) + (send-event *target* 'blend-shape #t) + (let ((v1-20 (process-spawn othercam self 5 #f #t :to self))) + (send-event (ppointer->process v1-20) 'mask 2048) ) + (set! (-> self draw force-lod) 0) + (ja-play-spooled-anim + (-> self anim) + (the-as art-joint-anim fishermans-boat-idle-ja) + (the-as art-joint-anim #f) + (the-as (function process-drawable symbol) false-func) + ) + (set! (-> self draw force-lod) -1) + (send-event *target* 'blend-shape #f) + (ja-channel-set! 1) + (ja :group! fishermans-boat-idle-ja) + (vector<-cspace! (-> self root-overlay trans) (-> self node-list data 3)) + (matrix->quaternion (-> self root-overlay quat) (-> self node-list data 3 bone transform)) + (fishermans-boat-reset-physics) + (transform-post) + (when *target* + (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) + (send-event *target* 'trans 'restore (-> self old-target-pos)) + (send-event *target* 'end-mode) + (update-transforms! (-> self root-overlay)) + (move-to-ground (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) + (logior! (-> *target* control status) (cshape-moving-flags onsurf onground tsurf)) + (suspend) + (send-event *camera* 'teleport-to-other-start-string) + ) + (set-continue! *game-info* "misty-start") ) (set! (-> self waiting-for-player) #t) (set! (-> self ignition) #f) @@ -1707,43 +1633,37 @@ (set! (-> self propeller enable) #t) (fishermans-boat-play-sounds) (copy-settings-from-target! *setting-control*) - (let ((gp-1 (get-process *default-dead-pool* process #x4000))) - (when gp-1 - (let ((t9-25 (method-of-type process activate))) - (t9-25 gp-1 self 'process (the-as pointer #x70004000)) + (process-spawn-function + process + (lambda :behavior fishermans-boat + () + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 1)) + (suspend) + ) ) - (run-next-time-in-process gp-1 (lambda :behavior fishermans-boat - () - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 1)) - (suspend) - ) - ) - (while (or (-> *setting-control* current ambient) - (-> *setting-control* current hint) - (-> *setting-control* current movie) - ) - (suspend) - ) - (suspend) - (level-hint-spawn - (game-text-id misty-daxter-scared) - "sksp0060" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (none) - ) - ) - (-> gp-1 ppointer) + (while (or (-> *setting-control* current ambient) + (-> *setting-control* current hint) + (-> *setting-control* current movie) + ) + (suspend) + ) + (suspend) + (level-hint-spawn + (game-text-id misty-daxter-scared) + "sksp0060" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (none) ) + :to self ) (go fishermans-boat-docked-misty) (none) ) - :post - (behavior () + :post (behavior () (ja-post) (fishermans-boat-spawn-particles 81920.0) (fishermans-boat-play-sounds) @@ -1753,8 +1673,7 @@ ;; failed to figure out what this is: (defstate fishermans-boat-ride-to-village1 (fishermans-boat) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object @@ -1763,19 +1682,9 @@ (when (= (level-status *level* 'intro) 'active) (let ((gp-1 (entity-by-name "evilbro-2"))) (when gp-1 - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self evilbro) - (ppointer->handle - (when s5-0 - (let ((t9-3 (method-of-type manipy activate))) - (t9-3 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> self root-overlay trans) gp-1 *fb-evilbro-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> self evilbro) + (ppointer->handle (manipy-spawn (-> self root-overlay trans) gp-1 *fb-evilbro-sg* #f :to self)) + ) (send-event (handle->process (-> self evilbro)) 'anim-mode 'clone-anim) (send-event (handle->process (-> self evilbro)) 'blend-shape #t) (send-event (handle->process (-> self evilbro)) 'center-joint 3) @@ -1783,19 +1692,9 @@ ) (let ((gp-2 (entity-by-name "evilsis-2"))) (when gp-2 - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self evilsis) - (ppointer->handle - (when s5-1 - (let ((t9-10 (method-of-type manipy activate))) - (t9-10 (the-as manipy s5-1) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> self root-overlay trans) gp-2 *fb-evilsis-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) + (set! (-> self evilsis) + (ppointer->handle (manipy-spawn (-> self root-overlay trans) gp-2 *fb-evilsis-sg* #f :to self)) + ) (send-event (handle->process (-> self evilsis)) 'anim-mode 'clone-anim) (send-event (handle->process (-> self evilsis)) 'blend-shape #t) (send-event (handle->process (-> self evilsis)) 'center-joint 3) @@ -1819,8 +1718,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (set! (-> self propeller enable) #f) (set! (-> self evilbro) (the-as handle #f)) (set! (-> self evilsis) (the-as handle #f)) @@ -1828,53 +1726,38 @@ (set! (-> self root-overlay trans quad) (-> self entity extra trans quad)) (set! (-> self player-riding) #f) (set! (-> self auto-pilot) #f) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'clone-anim) - (set! (-> a1-0 param 0) (the-as uint self)) - (when (send-event-function *target* a1-0) - (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) - (send-event *target* 'blend-shape #t) - (let* ((gp-0 (get-process *default-dead-pool* othercam #x4000)) - (v1-20 (when gp-0 - (let ((t9-5 (method-of-type othercam activate))) - (t9-5 (the-as othercam gp-0) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 othercam-init-by-other self 5 #f #t) - (-> gp-0 ppointer) - ) - ) - ) - (send-event (ppointer->process v1-20) 'mask 2048) - ) - (set! (-> self draw force-lod) 0) - (ja-play-spooled-anim - (-> self anim) - (the-as art-joint-anim fishermans-boat-idle-ja) - (the-as art-joint-anim #f) - (the-as (function process-drawable symbol) false-func) - ) - (set! (-> self draw force-lod) -1) - (send-event *target* 'blend-shape #f) - (ja-channel-set! 1) - (ja :group! fishermans-boat-idle-ja) - (vector<-cspace! (-> self root-overlay trans) (-> self node-list data 3)) - (matrix->quaternion (-> self root-overlay quat) (-> self node-list data 3 bone transform)) - (fishermans-boat-reset-physics) - (transform-post) - (when *target* - (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) - (send-event *target* 'trans 'restore (-> self old-target-pos)) - (send-event *target* 'end-mode) - (update-transforms! (-> self root-overlay)) - (move-to-ground (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) - (logior! (-> *target* control status) (cshape-moving-flags onsurf onground tsurf)) - (suspend) - (send-event *camera* 'teleport-to-other-start-string) - ) - (set-continue! *game-info* "village1-hut") + (when (send-event *target* 'clone-anim self) + (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) + (send-event *target* 'blend-shape #t) + (let ((v1-20 (process-spawn othercam self 5 #f #t :to self))) + (send-event (ppointer->process v1-20) 'mask 2048) ) + (set! (-> self draw force-lod) 0) + (ja-play-spooled-anim + (-> self anim) + (the-as art-joint-anim fishermans-boat-idle-ja) + (the-as art-joint-anim #f) + (the-as (function process-drawable symbol) false-func) + ) + (set! (-> self draw force-lod) -1) + (send-event *target* 'blend-shape #f) + (ja-channel-set! 1) + (ja :group! fishermans-boat-idle-ja) + (vector<-cspace! (-> self root-overlay trans) (-> self node-list data 3)) + (matrix->quaternion (-> self root-overlay quat) (-> self node-list data 3 bone transform)) + (fishermans-boat-reset-physics) + (transform-post) + (when *target* + (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) + (send-event *target* 'trans 'restore (-> self old-target-pos)) + (send-event *target* 'end-mode) + (update-transforms! (-> self root-overlay)) + (move-to-ground (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) + (logior! (-> *target* control status) (cshape-moving-flags onsurf onground tsurf)) + (suspend) + (send-event *camera* 'teleport-to-other-start-string) + ) + (set-continue! *game-info* "village1-hut") ) (set! (-> self waiting-for-player) #t) (set! (-> self ignition) #f) @@ -1885,8 +1768,7 @@ (go fishermans-boat-docked-village) (none) ) - :post - (behavior () + :post (behavior () (ja-post) (fishermans-boat-spawn-particles 81920.0) (fishermans-boat-play-sounds) diff --git a/test/decompiler/reference/levels/village1/sage_REF.gc b/test/decompiler/reference/levels/village1/sage_REF.gc index f69e4f80d8..689b3313d9 100644 --- a/test/decompiler/reference/levels/village1/sage_REF.gc +++ b/test/decompiler/reference/levels/village1/sage_REF.gc @@ -40,8 +40,7 @@ :name "sage-introduction-misty-cannon" :index 8 :parts 12 - :command-list - '((1 blackout 0) + :command-list '((1 blackout 0) (100 want-levels village1 misty) (261 joint "cameraB") (521 joint "camera") @@ -68,8 +67,7 @@ :name "sage-intro-sequence-d1" :index 16 :parts 17 - :command-list - '((0 display-level misty #f) + :command-list '((0 display-level misty #f) (0 display-level village1 display) (0 want-vis vi1) (0 save) @@ -124,14 +122,8 @@ (when arg0 (let* ((s5-1 (-> obj tasks)) (s4-0 (method-of-object s5-1 save-reminder)) - (a1-6 (new 'stack-no-clear 'event-message-block)) ) - (set! (-> a1-6 from) pp) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'query) - (set! (-> a1-6 param 0) (the-as uint 'pickup)) - (set! (-> a1-6 param 1) (the-as uint 6)) - (s4-0 s5-1 (the int (the-as float (send-event-function *target* a1-6))) 1) + (s4-0 s5-1 (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 1) ) (close-status! (-> obj tasks) (task-status need-introduction)) ) @@ -139,8 +131,7 @@ :name "sage-intro-sequence-e" :index 14 :parts 13 - :command-list - '((0 want-levels village1 beach) + :command-list '((0 want-levels village1 beach) (0 blackout 0) (197 joint "cameraB") (361 joint "camera") @@ -184,8 +175,7 @@ :name "sage-introduction-misty-cannon" :index 8 :parts 12 - :command-list - '((0 want-levels village1 beach) + :command-list '((0 want-levels village1 beach) (261 joint "cameraB") (521 joint "camera") (776 joint "cameraB") @@ -214,8 +204,7 @@ :name "sage-reminder-1-misty-cannon" :index 9 :parts 5 - :command-list - '((86 joint "cameraB") (320 joint "camera")) + :command-list '((86 joint "cameraB") (320 joint "camera")) ) ) (else @@ -223,8 +212,7 @@ :name "sage-reminder-1-ecorocks" :index 11 :parts 4 - :command-list - '((0 want-levels village1 beach) + :command-list '((0 want-levels village1 beach) (245 display-level beach movie) (245 want-force-vis beach #t) (246 alive "ecoventrock-3") @@ -251,19 +239,9 @@ (set-setting! *setting-control* pp 'music-volume-movie 'abs 0.0 0) (copy-settings-from-target! *setting-control*) (close-status! (-> obj tasks) (task-status need-reward-speech)) - (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj assistant) - (ppointer->handle - (when s5-2 - (let ((t9-15 (method-of-type manipy activate))) - (t9-15 (the-as manipy s5-2) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 manipy-init (-> obj root-override trans) (-> obj entity) *assistant-sg* #f) - (-> s5-2 ppointer) - ) - ) - ) - ) + (set! (-> obj assistant) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *assistant-sg* #f :to obj)) + ) (send-event (handle->process (-> obj assistant)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj assistant)) 'blend-shape #t) (send-event (handle->process (-> obj assistant)) 'center-joint 3) @@ -278,8 +256,7 @@ :name "sage-intro-sequence-d2" :index 15 :parts 20 - :command-list - '((0 want-levels village1 beach) + :command-list '((0 want-levels village1 beach) (0 kill "assistant-11") (0 kill "reflector-middle-2") (0 kill "eco-11") @@ -455,10 +432,7 @@ (defmethod TODO-RENAME-43 sage ((obj sage)) (let ((s5-0 (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj))) (when s5-0 - (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-3 (the-as number (logior #x3f800000 v1-2))) - (f0-2 (+ -1.0 (the-as float v1-3))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< (-> s5-0 y) -12288.0) #f @@ -487,8 +461,7 @@ ;; failed to figure out what this is: (defstate idle (sage) :virtual #t - :trans - (behavior () + :trans (behavior () (case (get-task-status (game-task intro)) (((task-status need-reward-speech)) (if (process-grab? *target*) @@ -499,8 +472,7 @@ ((-> (method-of-type process-taskable idle) trans)) (none) ) - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.2)) ) @@ -539,8 +511,7 @@ ;; failed to figure out what this is: (defstate play-anim (sage) :virtual #t - :exit - (behavior () + :exit (behavior () (set! (-> self draw bounds w) 10240.0) (let ((a0-1 (handle->process (-> self assistant)))) (if a0-1 @@ -557,8 +528,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (case (get-task-status (game-task intro)) (((task-status need-reward-speech)) (spool-push *art-control* "sage-intro-sequence-d2" 0 self -1.0) diff --git a/test/decompiler/reference/levels/village1/sequence-a-village1_REF.gc b/test/decompiler/reference/levels/village1/sequence-a-village1_REF.gc index d90a8b35a7..9f7fb065dc 100644 --- a/test/decompiler/reference/levels/village1/sequence-a-village1_REF.gc +++ b/test/decompiler/reference/levels/village1/sequence-a-village1_REF.gc @@ -7,14 +7,12 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2854 :period 900 :length 600)) + :parts ((sp-item 2854 :period 900 :length 600)) ) ;; failed to figure out what this is: (defpart 2854 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 128.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-z (meters -1) (meters 2) 1.0) @@ -43,14 +41,12 @@ :linger-duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2855)) + :parts ((sp-item 2855)) ) ;; failed to figure out what this is: (defpart 2855 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 5.0) (sp-rnd-flt spt-scale-x (meters 0.025) (meters 0.025) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -79,8 +75,7 @@ :id 688 :flags (screen-space) :bounds (static-bspherem 0 0 0 2) - :parts - ((sp-item 2858 :period 300 :length 5 :binding 2856) + :parts ((sp-item 2858 :period 300 :length 5 :binding 2856) (sp-item 2856 :flags (start-dead launch-asap) :binding 2857) (sp-item 2856 :flags (start-dead launch-asap) :binding 2857) (sp-item 2857 :flags (start-dead)) @@ -93,8 +88,7 @@ ;; failed to figure out what this is: (defpart 2858 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -2.5) (meters 5) 1.0) (sp-rnd-flt spt-y (meters -1.5) (meters 3) 1.0) @@ -111,8 +105,7 @@ ;; failed to figure out what this is: (defpart 2856 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -136,8 +129,7 @@ ;; failed to figure out what this is: (defpart 2857 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -157,8 +149,7 @@ ;; failed to figure out what this is: (defpart 2860 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters -3.90625)) (sp-flt spt-scale-x (meters 15)) @@ -174,8 +165,7 @@ ;; failed to figure out what this is: (defpart 2859 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.3) (sp-rnd-flt spt-x (meters -4) (meters 8) 1.0) (sp-rnd-flt spt-y (meters -3) (meters 6) 1.0) @@ -200,8 +190,7 @@ ;; failed to figure out what this is: (defpart 2861 - :init-specs - ((sp-flt spt-fade-a 0.0) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 300 299 1) (sp-launcher-by-id spt-next-launcher 2862) ) @@ -209,8 +198,7 @@ ;; failed to figure out what this is: (defpart 2862 - :init-specs - ((sp-flt spt-fade-a -0.21333334)) + :init-specs ((sp-flt spt-fade-a -0.21333334)) ) ;; definition of type sequenceA-village1 @@ -245,19 +233,9 @@ (send-event *camera* 'force-blend 0) (send-event *camera* 'change-state cam-fixed 0) (send-event *target* 'sidekick #f) - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj boat) - (ppointer->handle - (when s5-0 - (let ((t9-6 (method-of-type manipy activate))) - (t9-6 (the-as manipy s5-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> obj root-override trans) (-> obj entity) *fishermans-boat-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> obj boat) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *fishermans-boat-sg* #f :to obj)) + ) (send-event (handle->process (-> obj boat)) 'anim-mode 'clone-anim) (send-event (handle->process (-> obj boat)) 'origin-joint-index 3) ) @@ -265,8 +243,7 @@ :name "sage-intro-sequence-a" :index 17 :parts 22 - :command-list - '((0 blackout 0) + :command-list '((0 blackout 0) (0 want-levels village1 misty) (1210 display-level misty display) (1210 want-vis mis) @@ -299,8 +276,7 @@ ;; failed to figure out what this is: (defstate play-anim (sequenceA-village1) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('sidekick-human) (format 0 "got sidekick-human~%") @@ -308,19 +284,9 @@ (let ((gp-1 (entity-by-name "sequenceA-1"))) (when gp-1 (format 0 "found entity for sidekick-human~%") - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self side) - (ppointer->handle - (when s5-0 - (let ((t9-5 (method-of-type manipy activate))) - (t9-5 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 manipy-init (-> self root-override trans) gp-1 *sidekick-human-sg* #f) - (-> s5-0 ppointer) - ) - ) - ) - ) + (set! (-> self side) + (ppointer->handle (manipy-spawn (-> self root-override trans) gp-1 *sidekick-human-sg* #f :to self)) + ) (send-event (handle->process (-> self side)) 'anim-mode 'clone-anim) (send-event (handle->process (-> self side)) 'center-joint 3) (send-event (handle->process (-> self side)) 'blend-shape #t) @@ -330,8 +296,7 @@ ) ) ) - :exit - (behavior () + :exit (behavior () (send-event *target* 'sidekick #t) (let ((a0-2 (handle->process (-> self boat)))) (if a0-2 @@ -357,8 +322,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (spool-push *art-control* "sage-intro-sequence-b" 0 self -1.0) ((-> (method-of-type process-taskable play-anim) trans)) (none) @@ -428,15 +392,7 @@ ;; INFO: Return type mismatch int vs none. (defun start-sequence-a () (set-blackout-frames (seconds 100)) - (let ((gp-0 (get-process *default-dead-pool* sequenceA-village1 #x4000))) - (when gp-0 - (let ((t9-2 (method-of-type sequenceA-village1 activate))) - (t9-2 (the-as sequenceA-village1 gp-0) *entity-pool* 'sequenceA-village1 (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 sequenceA-village1-init-by-other (entity-by-name "sage-23")) - (-> gp-0 ppointer) - ) - ) + (process-spawn sequenceA-village1 (entity-by-name "sage-23") :to *entity-pool*) 0 (none) ) diff --git a/test/decompiler/reference/levels/village1/village-obs_REF.gc b/test/decompiler/reference/levels/village1/village-obs_REF.gc index d1efc68f3a..d0edc3414c 100644 --- a/test/decompiler/reference/levels/village1/village-obs_REF.gc +++ b/test/decompiler/reference/levels/village1/village-obs_REF.gc @@ -109,8 +109,7 @@ ;; failed to figure out what this is: (defpart 368 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 2.5) (sp-flt spt-x (meters 0.8)) (sp-flt spt-scale-x (meters 1.7)) @@ -132,8 +131,7 @@ ;; failed to figure out what this is: (defpart 369 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 3.0) (sp-flt spt-x (meters 4)) (sp-flt spt-scale-x (meters 0.5)) @@ -161,8 +159,7 @@ ;; failed to figure out what this is: (defpart 370 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 5.0) (sp-flt spt-x (meters 4)) (sp-flt spt-scale-x (meters 1.7)) @@ -189,8 +186,7 @@ ;; failed to figure out what this is: (defpart 371 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 3.8) (sp-flt spt-x (meters 5.5)) (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) @@ -277,8 +273,7 @@ (defpartgroup group-win-wind-mill :id 123 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 368 :fade-after (meters 100)) + :parts ((sp-item 368 :fade-after (meters 100)) (sp-item 369 :fade-after (meters 100)) (sp-item 370 :fade-after (meters 200)) (sp-item 371 :fade-after (meters 200)) @@ -289,14 +284,12 @@ (defpartgroup group-win-wind-mill-hires :id 124 :bounds (static-bspherem 0 0 0 20) - :parts - ((sp-item 368) (sp-item 369) (sp-item 370) (sp-item 371)) + :parts ((sp-item 368) (sp-item 369) (sp-item 370) (sp-item 371)) ) ;; failed to figure out what this is: (defstate windmill-sail-idle (windmill-sail) - :trans - (behavior () + :trans (behavior () (cond ((task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) (let ((f30-0 (get-current-value (-> self sync) 65536.0))) @@ -347,10 +340,8 @@ ) (none) ) - :code - (the-as (function none :behavior windmill-sail) anim-loop) - :post - (the-as (function none :behavior windmill-sail) ja-post) + :code (the-as (function none :behavior windmill-sail) anim-loop) + :post (the-as (function none :behavior windmill-sail) ja-post) ) ;; definition for method 11 of type windmill-sail @@ -408,8 +399,7 @@ ;; failed to figure out what this is: (defstate sagesail-idle (sagesail) - :trans - (behavior () + :trans (behavior () (let ((f0-0 (get-current-value (-> self sync) 65536.0))) (quaternion-axis-angle! (-> self root-override quat) @@ -423,10 +413,8 @@ (quaternion-normalize! (-> self root-override quat)) (none) ) - :code - (the-as (function none :behavior sagesail) anim-loop) - :post - (the-as (function none :behavior sagesail) ja-post) + :code (the-as (function none :behavior sagesail) anim-loop) + :post (the-as (function none :behavior sagesail) ja-post) ) ;; definition for method 11 of type sagesail @@ -496,8 +484,7 @@ ;; failed to figure out what this is: (defstate windspinner-idle (windspinner) - :trans - (behavior () + :trans (behavior () (let* ((f0-0 0.992) (f1-0 0.008090864) (a0-0 (-> self root trans)) @@ -533,10 +520,8 @@ (quaternion-normalize! (-> self root quat)) (none) ) - :code - (the-as (function none :behavior windspinner) anim-loop) - :post - (the-as (function none :behavior windspinner) ja-post) + :code (the-as (function none :behavior windspinner) anim-loop) + :post (the-as (function none :behavior windspinner) ja-post) ) ;; definition for method 11 of type windspinner @@ -586,8 +571,7 @@ ;; failed to figure out what this is: (defstate mayorgears-idle (mayorgears) - :code - (behavior () + :code (behavior () (loop (if (task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) (ja :num! (loop!)) @@ -597,8 +581,7 @@ ) (none) ) - :post - (the-as (function none :behavior mayorgears) ja-post) + :post (the-as (function none :behavior mayorgears) ja-post) ) ;; definition for method 11 of type mayorgears @@ -645,18 +628,15 @@ ;; failed to figure out what this is: (defstate reflector-middle-idle (reflector-middle) - :trans - (behavior () + :trans (behavior () (when (task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) (process-entity-status! self (entity-perm-status complete) #t) (draw-eco-beam (-> self reflector-trans) (-> self next-reflector-trans)) ) (none) ) - :code - (the-as (function none :behavior reflector-middle) anim-loop) - :post - (the-as (function none :behavior reflector-middle) ja-post) + :code (the-as (function none :behavior reflector-middle) anim-loop) + :post (the-as (function none :behavior reflector-middle) ja-post) ) ;; definition for method 11 of type reflector-middle @@ -703,8 +683,7 @@ ;; failed to figure out what this is: (defstate reflector-end-idle (reflector-end) - :code - (the-as (function none :behavior reflector-end) anim-loop) + :code (the-as (function none :behavior reflector-end) anim-loop) ) ;; definition for method 11 of type reflector-end @@ -767,46 +746,39 @@ ;; failed to figure out what this is: (defstate starfish-idle (starfish) - :enter - (behavior () + :enter (behavior () (move-to-ground (-> self collide-info) 40960.0 40960.0 #t (collide-kind background)) (set! (-> self state-time) (-> *display* base-frame-counter)) (ja-channel-set! 0) (none) ) - :exit - (behavior () + :exit (behavior () (ja-channel-set! 1) (none) ) - :trans - (behavior () + :trans (behavior () (if (and *target* (>= 163840.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)))) (go starfish-patrol) ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior starfish) ja-post) + :post (the-as (function none :behavior starfish) ja-post) ) ;; failed to figure out what this is: (defstate starfish-patrol (starfish) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self nav flags) (logior (nav-control-flags navcf19) (-> self nav flags))) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) (if (or (not *target*) (< 204800.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans))) @@ -816,8 +788,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (set! (-> self target-speed) 4096.0) (set! (-> self rotate-speed) 12743.111) (set! (-> self turn-time) (seconds 0.5)) @@ -830,8 +801,7 @@ ) (none) ) - :post - (the-as (function none :behavior starfish) nav-enemy-patrol-post) + :post (the-as (function none :behavior starfish) nav-enemy-patrol-post) ) ;; definition for symbol *starfish-nav-enemy-info*, type nav-enemy-info @@ -955,23 +925,13 @@ (defbehavior starfish-spawn-child starfish () (let ((gp-0 (new-stack-vector0))) (get-random-point (-> self path) gp-0) - (let ((s5-0 (get-process *default-dead-pool* starfish #x4000))) - (the-as (pointer starfish) (when s5-0 - (let ((t9-2 (method-of-type starfish activate))) - (t9-2 (the-as starfish s5-0) self 'starfish (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 starfish-init-by-other self gp-0) - (-> s5-0 ppointer) - ) - ) - ) + (process-spawn starfish self gp-0 :to self) ) ) ;; failed to figure out what this is: (defstate villa-starfish-idle (villa-starfish) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (loop (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) @@ -986,8 +946,7 @@ ) (none) ) - :post - (the-as (function none :behavior villa-starfish) #f) + :post (the-as (function none :behavior villa-starfish) #f) ) ;; definition for method 11 of type villa-starfish @@ -1027,16 +986,14 @@ ;; failed to figure out what this is: (defstate village-fish-idle (village-fish) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (loop (suspend) ) (none) ) - :post - (the-as (function none :behavior village-fish) #f) + :post (the-as (function none :behavior village-fish) #f) ) ;; definition for method 11 of type village-fish @@ -1162,8 +1119,7 @@ ;; failed to figure out what this is: (defstate hutlamp-idle (hutlamp) - :code - (behavior () + :code (behavior () (loop (let ((f0-3 (* 1820.4445 (sin (* 65536.0 (update-clock (-> self clock))))))) (quaternion-vector-angle! (-> self pivot transform quat) *x-vector* f0-3) @@ -1172,8 +1128,7 @@ ) (none) ) - :post - (the-as (function none :behavior hutlamp) ja-post) + :post (the-as (function none :behavior hutlamp) ja-post) ) ;; definition for method 11 of type hutlamp @@ -1218,10 +1173,8 @@ ;; failed to figure out what this is: (defstate idle (revcycleprop) :virtual #t - :code - (the-as (function none :behavior revcycleprop) anim-loop) - :post - (the-as (function none :behavior revcycleprop) ja-post) + :code (the-as (function none :behavior revcycleprop) anim-loop) + :post (the-as (function none :behavior revcycleprop) ja-post) ) ;; definition for method 11 of type revcycleprop @@ -1264,10 +1217,8 @@ ;; failed to figure out what this is: (defstate idle (revcycle) :virtual #t - :code - (the-as (function none :behavior revcycle) anim-loop) - :post - (the-as (function none :behavior revcycle) ja-post) + :code (the-as (function none :behavior revcycle) anim-loop) + :post (the-as (function none :behavior revcycle) ja-post) ) ;; definition for method 11 of type revcycle @@ -1303,8 +1254,7 @@ :count 3 :converted #f :normal-scale 4.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 10.0 :xdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 10.0 :xdiv -1 :zdiv 1 :speed 1.5) (new 'static 'ripple-wave :scale 5.0 :xdiv 5 :zdiv 3 :speed 0.75) diff --git a/test/decompiler/reference/levels/village1/village1-part2_REF.gc b/test/decompiler/reference/levels/village1/village1-part2_REF.gc index 68f5697cad..945ad396e7 100644 --- a/test/decompiler/reference/levels/village1/village1-part2_REF.gc +++ b/test/decompiler/reference/levels/village1/village1-part2_REF.gc @@ -5,8 +5,7 @@ (defpartgroup group-village1-sagehut-rings :id 136 :bounds (static-bspherem 7 4 -4.5 12) - :parts - ((sp-item 480 :fade-after (meters 60) :flags (is-3d)) + :parts ((sp-item 480 :fade-after (meters 60) :flags (is-3d)) (sp-item 481 :fade-after (meters 60) :flags (is-3d)) (sp-item 482 :fade-after (meters 50) :binding 483) (sp-item 483 :fade-after (meters 50) :flags (start-dead launch-asap) :period 1200 :length 5) @@ -378,8 +377,7 @@ (defpartgroup group-village1-sagehut-rings-2 :id 137 :bounds (static-bspherem 7 4 -4.5 12) - :parts - ((sp-item 488 :fade-after (meters 50) :binding 489) + :parts ((sp-item 488 :fade-after (meters 50) :binding 489) (sp-item 489 :fade-after (meters 50) :flags (start-dead launch-asap) :period 1200 :length 5) (sp-item 489 :fade-after (meters 50) :flags (start-dead launch-asap) :period 1200 :length 5) (sp-item 489 :fade-after (meters 50) :flags (start-dead launch-asap) :period 1200 :length 5) @@ -749,8 +747,7 @@ (defpartgroup group-village1-sagehut-rings-3 :id 138 :bounds (static-bspherem 7 4 -4.5 12) - :parts - ((sp-item 494 :fade-after (meters 50) :binding 495) + :parts ((sp-item 494 :fade-after (meters 50) :binding 495) (sp-item 495 :fade-after (meters 50) :flags (start-dead launch-asap) :period 1200 :length 5) (sp-item 495 :fade-after (meters 50) :flags (start-dead launch-asap) :period 1200 :length 5) (sp-item 495 :fade-after (meters 50) :flags (start-dead launch-asap) :period 1200 :length 5) @@ -1118,8 +1115,7 @@ ;; failed to figure out what this is: (defpart 482 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters -0.049)) (sp-flt spt-y (meters 2.368)) @@ -1135,8 +1131,7 @@ ;; failed to figure out what this is: (defpart 483 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 1.3333334)) (sp-flt spt-y (meters 0.44444445)) @@ -1159,8 +1154,7 @@ ;; failed to figure out what this is: (defpart 480 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.5 1.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-flt spt-y (meters -0.55)) @@ -1187,8 +1181,7 @@ ;; failed to figure out what this is: (defpart 481 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-z (meters -0.26)) (sp-flt spt-scale-x (meters 6)) @@ -1206,8 +1199,7 @@ ;; failed to figure out what this is: (defpart 484 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters -0.094)) (sp-flt spt-y (meters 3.068)) @@ -1223,8 +1215,7 @@ ;; failed to figure out what this is: (defpart 485 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.5) (sp-flt spt-x (meters -1.3333334)) (sp-flt spt-y (meters 0.6666667)) @@ -1247,8 +1238,7 @@ ;; failed to figure out what this is: (defpart 486 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters -0.425)) (sp-flt spt-y (meters 3.792)) @@ -1264,8 +1254,7 @@ ;; failed to figure out what this is: (defpart 487 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.8888889)) (sp-flt spt-y (meters 1.3333334)) @@ -1288,8 +1277,7 @@ ;; failed to figure out what this is: (defpart 488 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters 2.893)) (sp-flt spt-y (meters 3.56)) @@ -1305,8 +1293,7 @@ ;; failed to figure out what this is: (defpart 489 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2.6666667)) (sp-flt spt-y (meters -1.3333334)) @@ -1329,8 +1316,7 @@ ;; failed to figure out what this is: (defpart 490 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters 2.482)) (sp-flt spt-y (meters 4.296)) @@ -1346,8 +1332,7 @@ ;; failed to figure out what this is: (defpart 491 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2.6666667)) (sp-flt spt-y (meters -0.44444445)) @@ -1370,8 +1355,7 @@ ;; failed to figure out what this is: (defpart 492 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters 2.538)) (sp-flt spt-y (meters 4.979)) @@ -1387,8 +1371,7 @@ ;; failed to figure out what this is: (defpart 493 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 0.22222222)) @@ -1411,8 +1394,7 @@ ;; failed to figure out what this is: (defpart 494 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters 11.611)) (sp-flt spt-y (meters 2.762)) @@ -1428,8 +1410,7 @@ ;; failed to figure out what this is: (defpart 495 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.6666667)) (sp-flt spt-y (meters -1.1111112)) @@ -1452,8 +1433,7 @@ ;; failed to figure out what this is: (defpart 496 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters 11.543)) (sp-flt spt-y (meters 2.356)) @@ -1469,8 +1449,7 @@ ;; failed to figure out what this is: (defpart 497 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 4.888889)) (sp-flt spt-y (meters 0.9777778)) @@ -1493,8 +1472,7 @@ ;; failed to figure out what this is: (defpart 498 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.25 0.1 1.0) (sp-flt spt-x (meters 11.588)) (sp-flt spt-y (meters 6.887)) @@ -1510,8 +1488,7 @@ ;; failed to figure out what this is: (defpart 499 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.35555556)) (sp-flt spt-y (meters -1.3333334)) @@ -1536,8 +1513,7 @@ (defpartgroup group-village1-sagehut-drips :id 139 :bounds (static-bspherem 7 4 -4.5 12) - :parts - ((sp-item 500 :fade-after (meters 40) :period 673 :length 5) + :parts ((sp-item 500 :fade-after (meters 40) :period 673 :length 5) (sp-item 500 :fade-after (meters 50) :period 1036 :length 5) (sp-item 500 :fade-after (meters 60) :period 1572 :length 5) (sp-item 500 :fade-after (meters 40) :period 2158 :length 5) @@ -1556,8 +1532,7 @@ ;; failed to figure out what this is: (defpart 502 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-rnd-flt spt-num 2.0 6.0 1.0) (sp-sound (static-sound-spec "drip-on-wood" :volume 50.0)) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) @@ -1577,8 +1552,7 @@ ;; failed to figure out what this is: (defpart 503 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.02)) (sp-flt spt-scale-x (meters 1)) @@ -1597,8 +1571,7 @@ ;; failed to figure out what this is: (defpart 500 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.9)) (sp-flt spt-y (meters 8.825)) @@ -1624,14 +1597,12 @@ ;; failed to figure out what this is: (defpart 504 - :init-specs - ((sp-flt spt-scalevel-y (meters 0.00033333333)) (sp-flt spt-accel-x 0.13653333) (sp-flt spt-accel-y -2.048)) + :init-specs ((sp-flt spt-scalevel-y (meters 0.00033333333)) (sp-flt spt-accel-x 0.13653333) (sp-flt spt-accel-y -2.048)) ) ;; failed to figure out what this is: (defpart 501 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -3.25)) (sp-flt spt-y (meters 5.55)) @@ -1655,8 +1626,7 @@ ;; failed to figure out what this is: (defpart 505 - :init-specs - ((sp-flt spt-accel-y -3.1402667)) + :init-specs ((sp-flt spt-accel-y -3.1402667)) ) ;; definition for function check-drop-level-sagehut @@ -1664,13 +1634,9 @@ (when (< (-> arg2 y) (-> arg1 user-float)) (let ((gp-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) - ) - ) + (if (< (rand-float-gen) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) (sp-launch-particles-var *sp-particle-system-2d* @@ -1697,8 +1663,7 @@ (defpartgroup group-village1-sagehut-warpgate :id 140 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1970 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1970 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1971 :fade-after (meters 60) :falloff-to (meters 100) :binding 1968) (sp-item 1968 :flags (bit1 start-dead launch-asap)) (sp-item 1968 :flags (bit1 start-dead launch-asap)) @@ -1875,8 +1840,7 @@ ;; failed to figure out what this is: (defpart 1973 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-x (meters 0)) (sp-flt spt-scale-x (meters 5)) @@ -1894,8 +1858,7 @@ ;; failed to figure out what this is: (defpart 1972 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-x (meters -2)) (sp-flt spt-scale-x (meters 0.25)) @@ -1911,8 +1874,7 @@ ;; failed to figure out what this is: (defpart 1969 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2.4444444)) (sp-flt spt-y (meters 4)) @@ -1936,8 +1898,7 @@ ;; failed to figure out what this is: (defpart 1970 - :init-specs - ((sp-rnd-flt spt-num 3.0 3.0 1.0) + :init-specs ((sp-rnd-flt spt-num 3.0 3.0 1.0) (sp-flt spt-x (meters -0.5)) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) @@ -1955,8 +1916,7 @@ ;; failed to figure out what this is: (defpart 1971 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.25)) (sp-copy-from-other spt-scale-y -4) @@ -1971,8 +1931,7 @@ ;; failed to figure out what this is: (defpart 1968 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2.4444444)) (sp-flt spt-y (meters 4)) @@ -2000,14 +1959,12 @@ :id 141 :flags (always-draw) :bounds (static-bspherem 0 10 0 260) - :parts - ((sp-item 511)) + :parts ((sp-item 511)) ) ;; failed to figure out what this is: (defpart 511 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.04) (sp-flt spt-y (meters 45)) (sp-rnd-flt spt-scale-x (meters 300) (meters 100) 1.0) @@ -2031,14 +1988,12 @@ ;; failed to figure out what this is: (defpart 512 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 450 149 1) (sp-launcher-by-id spt-next-launcher 513)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 450 149 1) (sp-launcher-by-id spt-next-launcher 513)) ) ;; failed to figure out what this is: (defpart 513 - :init-specs - ((sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-a -0.10666667)) ) ;; failed to figure out what this is: @@ -2046,8 +2001,7 @@ :id 684 :flags (always-draw) :bounds (static-bspherem 0 10 0 12) - :parts - ((sp-item 2844 :period 4500 :length 1200) + :parts ((sp-item 2844 :period 4500 :length 1200) (sp-item 2845 :period 4500 :length 1200 :offset 4050) (sp-item 2846 :period 4500 :length 1200 :offset 1500) (sp-item 2847 :period 4500 :length 1200 :offset 1050) @@ -2058,8 +2012,7 @@ ;; failed to figure out what this is: (defpart 2848 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.06) (sp-flt spt-x (meters 60)) (sp-flt spt-y (meters -8)) @@ -2086,8 +2039,7 @@ ;; failed to figure out what this is: (defpart 2849 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-x (meters 60)) (sp-rnd-flt spt-y (meters 95) (meters 20) 1.0) @@ -2118,8 +2070,7 @@ ;; failed to figure out what this is: (defpart 2846 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.06) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters -8)) @@ -2146,8 +2097,7 @@ ;; failed to figure out what this is: (defpart 2847 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-x (meters 0)) (sp-rnd-flt spt-y (meters 95) (meters 20) 1.0) @@ -2178,8 +2128,7 @@ ;; failed to figure out what this is: (defpart 2844 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.06) (sp-flt spt-x (meters -100)) (sp-flt spt-y (meters -8)) @@ -2206,14 +2155,12 @@ ;; failed to figure out what this is: (defpart 2850 - :init-specs - ((sp-flt spt-scalevel-x (meters 0.06666667)) (sp-flt spt-fade-a -1.0666667)) + :init-specs ((sp-flt spt-scalevel-x (meters 0.06666667)) (sp-flt spt-fade-a -1.0666667)) ) ;; failed to figure out what this is: (defpart 2845 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-x (meters -100)) (sp-rnd-flt spt-y (meters 95) (meters 20) 1.0) @@ -2244,16 +2191,14 @@ ;; failed to figure out what this is: (defpart 2851 - :init-specs - ((sp-flt spt-fade-a -0.03678161)) + :init-specs ((sp-flt spt-fade-a -0.03678161)) ) ;; failed to figure out what this is: (defpartgroup group-village1-trans-pad :id 142 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 514 :fade-after (meters 160)) + :parts ((sp-item 514 :fade-after (meters 160)) (sp-item 515 :fade-after (meters 160)) (sp-item 516 :fade-after (meters 60) :falloff-to (meters 60) :flags (is-3d)) ) @@ -2261,8 +2206,7 @@ ;; failed to figure out what this is: (defpart 514 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 5)) (sp-rnd-flt spt-scale-x (meters 10) (meters 1) 1.0) @@ -2278,8 +2222,7 @@ ;; failed to figure out what this is: (defpart 515 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.5) (sp-flt spt-y (meters 3)) (sp-rnd-flt spt-scale-x (meters 5) (meters 1) 1.0) @@ -2296,8 +2239,7 @@ ;; failed to figure out what this is: (defpart 516 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0.75) (meters 0.1) 1.0) (sp-flt spt-scale-x (meters 0)) diff --git a/test/decompiler/reference/levels/village1/village1-part_REF.gc b/test/decompiler/reference/levels/village1/village1-part_REF.gc index 74ec2b2446..c32dcf745f 100644 --- a/test/decompiler/reference/levels/village1/village1-part_REF.gc +++ b/test/decompiler/reference/levels/village1/village1-part_REF.gc @@ -22,8 +22,7 @@ (defpartgroup group-village1-butterflies :id 127 :bounds (static-bspherem 0 0 0 30) - :parts - ((sp-item 380 :fade-after (meters 120) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 381) + :parts ((sp-item 380 :fade-after (meters 120) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 381) (sp-item 380 :fade-after (meters 120) :period 6637 :length 5 :hour-mask #b111111100000000000111111 :binding 381) (sp-item 380 :fade-after (meters 120) :period 9846 :length 5 :hour-mask #b111111100000000000111111 :binding 381) (sp-item 381 :flags (start-dead launch-asap) :binding 382) @@ -41,8 +40,7 @@ ;; failed to figure out what this is: (defpart 380 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 7.5) 1.0) (sp-rnd-flt spt-y (meters 14) (meters 3) 1.0) @@ -62,8 +60,7 @@ ;; failed to figure out what this is: (defpart 383 - :init-specs - ((sp-flt spt-accel-y 0.0) + :init-specs ((sp-flt spt-accel-y 0.0) (sp-int-plain-rnd spt-next-time 2700 1499 1) (sp-launcher-by-id spt-next-launcher 384) ) @@ -71,14 +68,12 @@ ;; failed to figure out what this is: (defpart 384 - :init-specs - ((sp-flt spt-accel-y 1.3653333)) + :init-specs ((sp-flt spt-accel-y 1.3653333)) ) ;; failed to figure out what this is: (defpart 381 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -102,8 +97,7 @@ ;; failed to figure out what this is: (defpart 385 - :init-specs - ((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) + :init-specs ((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) (sp-int-plain-rnd spt-next-time 150 449 1) @@ -113,8 +107,7 @@ ;; failed to figure out what this is: (defpart 382 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 0.9)) @@ -134,8 +127,7 @@ (defpartgroup group-village1-moth :id 128 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 386 :fade-after (meters 120) :flags (bit1) :period 18030 :length 5 :hour-mask #b1111111110000000 :binding 387) + :parts ((sp-item 386 :fade-after (meters 120) :flags (bit1) :period 18030 :length 5 :hour-mask #b1111111110000000 :binding 387) (sp-item 387 :flags (start-dead launch-asap) :binding 388) (sp-item 388 :flags (is-3d start-dead)) ) @@ -143,8 +135,7 @@ ;; failed to figure out what this is: (defpart 386 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.1)) (sp-copy-from-other spt-scale-y -4) @@ -158,8 +149,7 @@ ;; failed to figure out what this is: (defpart 387 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 1.5)) @@ -183,8 +173,7 @@ ;; failed to figure out what this is: (defpart 389 - :init-specs - ((sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) + :init-specs ((sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) (sp-rnd-flt spt-vel-y (meters -0.0148148155) (meters 0.029629631) 1.0) (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) (sp-int-plain-rnd spt-next-time 150 449 1) @@ -194,8 +183,7 @@ ;; failed to figure out what this is: (defpart 388 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 0.4)) @@ -214,8 +202,7 @@ (defpartgroup group-village1-hummingbird :id 129 :bounds (static-bspherem 0 3 0 4) - :parts - ((sp-item 390 :fade-after (meters 20) :flags (is-3d bit1) :period 6000 :length 5 :hour-mask #b111111100000000000111111) + :parts ((sp-item 390 :fade-after (meters 20) :flags (is-3d bit1) :period 6000 :length 5 :hour-mask #b111111100000000000111111) (sp-item 391 :fade-after (meters 20) :flags (is-3d bit1) :period 6000 :length 5) (sp-item 392 :fade-after (meters 20) :flags (is-3d bit1) :period 6000 :length 5) (sp-item 393 :fade-after (meters 20) :flags (is-3d bit1) :period 6000 :length 5) @@ -226,8 +213,7 @@ ;; failed to figure out what this is: (defpart 390 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -248,8 +234,7 @@ ;; failed to figure out what this is: (defpart 396 - :init-specs - ((sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + :init-specs ((sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) (sp-rnd-int spt-a 1119879168 1 16.0) (sp-int spt-next-time 5) (sp-launcher-by-id spt-next-launcher 396) @@ -258,8 +243,7 @@ ;; failed to figure out what this is: (defpart 391 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -280,8 +264,7 @@ ;; failed to figure out what this is: (defpart 397 - :init-specs - ((sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + :init-specs ((sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) (sp-rnd-int spt-a 1119879168 1 16.0) (sp-flt spt-accel-x 2.7306666) (sp-flt spt-accel-y 1.3653333) @@ -292,8 +275,7 @@ ;; failed to figure out what this is: (defpart 398 - :init-specs - ((sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + :init-specs ((sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) (sp-rnd-int spt-a 1119879168 1 16.0) (sp-int spt-next-time 5) (sp-launcher-by-id spt-next-launcher 398) @@ -302,8 +284,7 @@ ;; failed to figure out what this is: (defpart 392 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -326,8 +307,7 @@ ;; failed to figure out what this is: (defpart 399 - :init-specs - ((sp-flt spt-rot-x 24576.0) + :init-specs ((sp-flt spt-rot-x 24576.0) (sp-flt spt-rot-y (degrees 90.0)) (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) (sp-rnd-int spt-a 1107296256 1 32.0) @@ -338,8 +318,7 @@ ;; failed to figure out what this is: (defpart 393 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -362,8 +341,7 @@ ;; failed to figure out what this is: (defpart 400 - :init-specs - ((sp-flt spt-rot-x 24576.0) + :init-specs ((sp-flt spt-rot-x 24576.0) (sp-flt spt-rot-y (degrees 90.0)) (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) (sp-rnd-int spt-a 1107296256 1 32.0) @@ -376,8 +354,7 @@ ;; failed to figure out what this is: (defpart 401 - :init-specs - ((sp-flt spt-rot-x 24576.0) + :init-specs ((sp-flt spt-rot-x 24576.0) (sp-flt spt-rot-y (degrees 90.0)) (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) (sp-rnd-int spt-a 1107296256 1 32.0) @@ -388,8 +365,7 @@ ;; failed to figure out what this is: (defpart 394 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 8192.0) @@ -411,8 +387,7 @@ ;; failed to figure out what this is: (defpart 402 - :init-specs - ((sp-flt spt-rot-x 8192.0) + :init-specs ((sp-flt spt-rot-x 8192.0) (sp-flt spt-rot-y (degrees -90.0)) (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) (sp-rnd-int spt-a 1107296256 1 32.0) @@ -423,8 +398,7 @@ ;; failed to figure out what this is: (defpart 395 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 8192.0) @@ -447,8 +421,7 @@ ;; failed to figure out what this is: (defpart 403 - :init-specs - ((sp-flt spt-rot-x 8192.0) + :init-specs ((sp-flt spt-rot-x 8192.0) (sp-flt spt-rot-y (degrees -90.0)) (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) (sp-rnd-int spt-a 1107296256 1 32.0) @@ -461,8 +434,7 @@ ;; failed to figure out what this is: (defpart 404 - :init-specs - ((sp-flt spt-rot-x 8192.0) + :init-specs ((sp-flt spt-rot-x 8192.0) (sp-flt spt-rot-y (degrees -90.0)) (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) (sp-rnd-int spt-a 1107296256 1 32.0) @@ -473,8 +445,7 @@ ;; failed to figure out what this is: (defpart 405 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.03) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 2.3)) @@ -502,8 +473,7 @@ ;; failed to figure out what this is: (defpart 406 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) @@ -526,8 +496,7 @@ ;; failed to figure out what this is: (defpart 407 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-flt spt-y (meters 1.2)) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) @@ -557,8 +526,7 @@ ;; failed to figure out what this is: (defpart 408 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.16) (sp-rnd-flt spt-x (meters -0.22) (meters 0.44) 1.0) (sp-flt spt-y (meters 0)) @@ -587,8 +555,7 @@ (defpartgroup group-village1-pot :id 130 :bounds (static-bspherem 0 2.5 0 2.5) - :parts - ((sp-item 405 :fade-after (meters 50) :falloff-to (meters 60)) + :parts ((sp-item 405 :fade-after (meters 50) :falloff-to (meters 60)) (sp-item 406 :fade-after (meters 50) :falloff-to (meters 60)) (sp-item 407 :fade-after (meters 60) :falloff-to (meters 80)) (sp-item 409 :fade-after (meters 60) :falloff-to (meters 80)) @@ -599,8 +566,7 @@ (defpartgroup group-village1-mayor-fire :id 131 :bounds (static-bspherem 0 2.5 0 2.5) - :parts - ((sp-item 410 :fade-after (meters 50) :falloff-to (meters 80)) + :parts ((sp-item 410 :fade-after (meters 50) :falloff-to (meters 80)) (sp-item 411 :fade-after (meters 40) :falloff-to (meters 40) :binding 2292) (sp-item 2292 :flags (bit1 start-dead launch-asap)) (sp-item 2292 :flags (bit1 start-dead launch-asap)) @@ -673,8 +639,7 @@ ;; failed to figure out what this is: (defpart 411 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-sound (static-sound-spec "fire-pop" :volume 100.0)) (sp-rnd-flt spt-x (meters -0.6) (meters 1.3) 1.0) @@ -698,8 +663,7 @@ ;; failed to figure out what this is: (defpart 2292 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -727,14 +691,12 @@ ;; failed to figure out what this is: (defpart 2293 - :init-specs - ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g 1.0666667) (sp-flt spt-fade-b 1.0666667)) + :init-specs ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g 1.0666667) (sp-flt spt-fade-b 1.0666667)) ) ;; failed to figure out what this is: (defpart 410 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 4.0 10.0 1.0) (sp-rnd-flt spt-x (meters -1.2) (meters 2) 1.0) (sp-flt spt-y (meters 0)) @@ -759,8 +721,7 @@ ;; failed to figure out what this is: (defpart 412 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-flt spt-y (meters 0)) @@ -789,8 +750,7 @@ ;; failed to figure out what this is: (defpart 413 - :init-specs - ((sp-flt spt-num 0.4) + :init-specs ((sp-flt spt-num 0.4) (sp-flt spt-x (meters 0.2)) (sp-int spt-rot-x 8) (sp-flt spt-r 3276.8) @@ -809,16 +769,14 @@ ;; failed to figure out what this is: (defpart 414 - :init-specs - ((sp-flt spt-fade-b -1.3653333)) + :init-specs ((sp-flt spt-fade-b -1.3653333)) ) ;; failed to figure out what this is: (defpartgroup group-village1-sagehut-seagulls :id 132 :bounds (static-bspherem 0 8 0 45) - :parts - ((sp-item 415 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 416) + :parts ((sp-item 415 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 416) (sp-item 415 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 416) (sp-item 415 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 416) (sp-item 415 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 416) @@ -884,8 +842,7 @@ ;; failed to figure out what this is: (defpart 415 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-func spt-birth-func 'birth-func-random-next-time) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0) @@ -912,8 +869,7 @@ ;; failed to figure out what this is: (defpart 416 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-func spt-birth-func 'birth-func-copy-omega-to-z) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) @@ -939,8 +895,7 @@ ;; failed to figure out what this is: (defpart 418 - :init-specs - ((sp-flt spt-scale-x (meters 8)) + :init-specs ((sp-flt spt-scale-x (meters 8)) (sp-flt spt-scalevel-x (meters -0.08)) (sp-int spt-timer 600) (sp-int spt-next-time 100) @@ -950,8 +905,7 @@ ;; failed to figure out what this is: (defpart 419 - :init-specs - ((sp-flt spt-scale-x (meters 0)) + :init-specs ((sp-flt spt-scale-x (meters 0)) (sp-flt spt-scalevel-x (meters -0.04)) (sp-int spt-timer 600) (sp-int spt-next-time 199) @@ -961,8 +915,7 @@ ;; failed to figure out what this is: (defpart 417 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-func spt-birth-func 'birth-func-copy2-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 4)) @@ -977,16 +930,14 @@ (defpartgroup group-village1-butterfly-sitting :id 133 :bounds (static-bspherem 0 0.2 0 0.5) - :parts - ((sp-item 420 :fade-after (meters 60) :flags (is-3d bit1) :period 600 :length 5) + :parts ((sp-item 420 :fade-after (meters 60) :flags (is-3d bit1) :period 600 :length 5) (sp-item 421 :fade-after (meters 60) :flags (is-3d bit1) :period 600 :length 5) ) ) ;; failed to figure out what this is: (defpart 420 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.05)) (sp-flt spt-scale-x (meters 0.9)) @@ -1007,14 +958,12 @@ ;; failed to figure out what this is: (defpart 422 - :init-specs - ((sp-flt spt-rotvel-x (degrees -0.31666666))) + :init-specs ((sp-flt spt-rotvel-x (degrees -0.31666666))) ) ;; failed to figure out what this is: (defpart 421 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.05)) (sp-flt spt-scale-x (meters 0.9)) @@ -1035,16 +984,14 @@ ;; failed to figure out what this is: (defpart 423 - :init-specs - ((sp-flt spt-rotvel-x (degrees 0.31666666))) + :init-specs ((sp-flt spt-rotvel-x (degrees 0.31666666))) ) ;; failed to figure out what this is: (defpartgroup group-village1-fountain :id 134 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 424 :fade-after (meters 150) :falloff-to (meters 150)) + :parts ((sp-item 424 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 425 :fade-after (meters 150) :falloff-to (meters 150)) (sp-item 425 :fade-after (meters 150) :falloff-to (meters 150) :period 463 :length 139) (sp-item 426 :fade-after (meters 90) :falloff-to (meters 90) :period 526 :length 186) @@ -1058,8 +1005,7 @@ ;; failed to figure out what this is: (defpart 431 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 1.0 4.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1080,8 +1026,7 @@ ;; failed to figure out what this is: (defpart 430 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.9) (sp-rnd-flt spt-y (meters 0) (meters 0.4) 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) @@ -1107,14 +1052,12 @@ ;; failed to figure out what this is: (defpart 432 - :init-specs - ((sp-flt spt-fade-a -0.07111111)) + :init-specs ((sp-flt spt-fade-a -0.07111111)) ) ;; failed to figure out what this is: (defpart 426 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 2.0 4.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters 0.4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) @@ -1142,8 +1085,7 @@ ;; failed to figure out what this is: (defpart 428 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 2.0 4.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters 0.4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) @@ -1171,8 +1113,7 @@ ;; failed to figure out what this is: (defpart 427 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 2.0 4.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters 0.4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) @@ -1200,8 +1141,7 @@ ;; failed to figure out what this is: (defpart 425 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 3.0 4.0 1.0) (sp-rnd-flt spt-y (meters 0) (meters 0.4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) @@ -1229,8 +1169,7 @@ ;; failed to figure out what this is: (defpart 429 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-y (meters 0) (meters 0.4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) @@ -1258,8 +1197,7 @@ ;; failed to figure out what this is: (defpart 424 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 1.0 7.0 1.0) (sp-rnd-flt spt-y (meters -0.4) (meters 0.4) 1.0) (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.15) 1.0) @@ -1281,14 +1219,12 @@ ;; failed to figure out what this is: (defpart 433 - :init-specs - ((sp-flt spt-scalevel-y (meters 0.0023076923))) + :init-specs ((sp-flt spt-scalevel-y (meters 0.0023076923))) ) ;; failed to figure out what this is: (defpart 434 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1308,8 +1244,7 @@ ;; failed to figure out what this is: (defpart 435 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 0.02)) (sp-flt spt-scale-x (meters 1)) @@ -1372,8 +1307,7 @@ (defpartgroup group-village1-bird-lady-birds :id 135 :bounds (static-bspherem 0 0 6 18) - :parts - ((sp-item 436 :fade-after (meters 40) :period 900 :length 5 :binding 437) + :parts ((sp-item 436 :fade-after (meters 40) :period 900 :length 5 :binding 437) (sp-item 437 :flags (bit1 start-dead launch-asap) :binding 438) (sp-item 438 :flags (is-3d bit1 start-dead) :binding 439) (sp-item 439 :flags (is-3d bit1 start-dead) :binding 440) @@ -1444,8 +1378,7 @@ ;; failed to figure out what this is: (defpart 472 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0.8)) (sp-flt spt-y (meters 0.8)) @@ -1461,8 +1394,7 @@ ;; failed to figure out what this is: (defpart 473 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2)) (sp-flt spt-y (meters 1.0666667)) @@ -1482,8 +1414,7 @@ ;; failed to figure out what this is: (defpart 474 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -1500,8 +1431,7 @@ ;; failed to figure out what this is: (defpart 475 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1519,8 +1449,7 @@ ;; failed to figure out what this is: (defpart 476 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1538,8 +1467,7 @@ ;; failed to figure out what this is: (defpart 464 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 5.9)) (sp-flt spt-y (meters 2.4)) @@ -1559,8 +1487,7 @@ ;; failed to figure out what this is: (defpart 465 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -1576,8 +1503,7 @@ ;; failed to figure out what this is: (defpart 466 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1595,8 +1521,7 @@ ;; failed to figure out what this is: (defpart 467 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1614,8 +1539,7 @@ ;; failed to figure out what this is: (defpart 468 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -8)) (sp-flt spt-y (meters 3.7)) @@ -1635,8 +1559,7 @@ ;; failed to figure out what this is: (defpart 469 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -1652,8 +1575,7 @@ ;; failed to figure out what this is: (defpart 470 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1671,8 +1593,7 @@ ;; failed to figure out what this is: (defpart 471 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1690,8 +1611,7 @@ ;; failed to figure out what this is: (defpart 460 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 1)) (sp-flt spt-y (meters 0.4)) @@ -1711,14 +1631,12 @@ ;; failed to figure out what this is: (defpart 477 - :init-specs - ((sp-flt spt-accel-y 0.53248)) + :init-specs ((sp-flt spt-accel-y 0.53248)) ) ;; failed to figure out what this is: (defpart 461 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -1734,8 +1652,7 @@ ;; failed to figure out what this is: (defpart 462 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1753,8 +1670,7 @@ ;; failed to figure out what this is: (defpart 463 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -1772,8 +1688,7 @@ ;; failed to figure out what this is: (defpart 457 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -6)) (sp-flt spt-y (meters 1.9)) @@ -1794,8 +1709,7 @@ ;; failed to figure out what this is: (defpart 458 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -6)) (sp-flt spt-y (meters 1.9)) @@ -1819,8 +1733,7 @@ ;; failed to figure out what this is: (defpart 459 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -6)) (sp-flt spt-y (meters 1.9)) @@ -1844,8 +1757,7 @@ ;; failed to figure out what this is: (defpart 454 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -5.5)) (sp-flt spt-y (meters 4.5)) @@ -1866,8 +1778,7 @@ ;; failed to figure out what this is: (defpart 455 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -5.5)) (sp-flt spt-y (meters 4.5)) @@ -1891,8 +1802,7 @@ ;; failed to figure out what this is: (defpart 456 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -5.5)) (sp-flt spt-y (meters 4.5)) @@ -1916,8 +1826,7 @@ ;; failed to figure out what this is: (defpart 451 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2)) (sp-flt spt-y (meters 5)) @@ -1938,8 +1847,7 @@ ;; failed to figure out what this is: (defpart 452 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2)) (sp-flt spt-y (meters 5)) @@ -1963,14 +1871,12 @@ ;; failed to figure out what this is: (defpart 478 - :init-specs - ((sp-flt spt-rotvel-x (degrees -0.31666666))) + :init-specs ((sp-flt spt-rotvel-x (degrees -0.31666666))) ) ;; failed to figure out what this is: (defpart 453 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 2)) (sp-flt spt-y (meters 5)) @@ -1994,14 +1900,12 @@ ;; failed to figure out what this is: (defpart 479 - :init-specs - ((sp-flt spt-rotvel-x (degrees 0.31666666))) + :init-specs ((sp-flt spt-rotvel-x (degrees 0.31666666))) ) ;; failed to figure out what this is: (defpart 446 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -6.4)) (sp-flt spt-y (meters 4.8)) @@ -2017,8 +1921,7 @@ ;; failed to figure out what this is: (defpart 447 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.7111111)) (sp-flt spt-y (meters 4)) @@ -2038,8 +1941,7 @@ ;; failed to figure out what this is: (defpart 448 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -2056,8 +1958,7 @@ ;; failed to figure out what this is: (defpart 449 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -2075,8 +1976,7 @@ ;; failed to figure out what this is: (defpart 450 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -2094,8 +1994,7 @@ ;; failed to figure out what this is: (defpart 441 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.1)) (sp-flt spt-y (meters 3.7)) @@ -2111,8 +2010,7 @@ ;; failed to figure out what this is: (defpart 442 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters -1.8666667)) @@ -2132,8 +2030,7 @@ ;; failed to figure out what this is: (defpart 443 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -2150,8 +2047,7 @@ ;; failed to figure out what this is: (defpart 444 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -2169,8 +2065,7 @@ ;; failed to figure out what this is: (defpart 445 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -2188,8 +2083,7 @@ ;; failed to figure out what this is: (defpart 436 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -2.3)) (sp-flt spt-y (meters 4.6)) @@ -2205,8 +2099,7 @@ ;; failed to figure out what this is: (defpart 437 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 1.4222223)) @@ -2226,8 +2119,7 @@ ;; failed to figure out what this is: (defpart 438 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.5)) (sp-flt spt-rot-x 16384.0) @@ -2243,8 +2135,7 @@ ;; failed to figure out what this is: (defpart 439 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) @@ -2262,8 +2153,7 @@ ;; failed to figure out what this is: (defpart 440 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-flt spt-rot-x 24576.0) diff --git a/test/decompiler/reference/levels/village1/yakow_REF.gc b/test/decompiler/reference/levels/village1/yakow_REF.gc index 90a4ca7e5b..02af99fbdf 100644 --- a/test/decompiler/reference/levels/village1/yakow_REF.gc +++ b/test/decompiler/reference/levels/village1/yakow_REF.gc @@ -15,17 +15,9 @@ (defun yakow-cam () (with-pp (let ((gp-0 (entity-actor-lookup (-> pp entity) 'alt-actor 0))) - (when gp-0 - (let ((s5-0 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-0 - (let ((t9-2 (method-of-type pov-camera activate))) - (t9-2 (the-as pov-camera s5-0) pp 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 pov-camera-init-by-other (-> gp-0 extra trans) *village1cam-sg* "anim" 0 #f '()) - (-> s5-0 ppointer) - ) + (if gp-0 + (process-spawn pov-camera (-> gp-0 extra trans) *village1cam-sg* "anim" 0 #f '() :to pp) ) - ) ) (none) ) @@ -520,16 +512,13 @@ yakow-default-event-handler ;; failed to figure out what this is: (defstate yakow-idle (yakow) - :event - yakow-default-event-handler - :enter - (behavior () + :event yakow-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self travel-speed) 0.0) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> *YAKOW-bank* default-patrol-time)) (and *target* (>= (-> self fact-override idle-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) @@ -541,8 +530,7 @@ yakow-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (ja-channel-push! 1 (seconds 0.15)) (loop (cond @@ -572,35 +560,28 @@ yakow-default-event-handler ) (none) ) - :post - (the-as (function none :behavior yakow) ja-post) + :post (the-as (function none :behavior yakow) ja-post) ) ;; failed to figure out what this is: (defstate yakow-notice (yakow) - :event - yakow-default-event-handler - :enter - (behavior () + :event yakow-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self travel-speed) 0.0) (none) ) - :code - (behavior () + :code (behavior () (go yakow-run-away) (none) ) - :post - yakow-simple-post + :post yakow-simple-post ) ;; failed to figure out what this is: (defstate yakow-walk-to (yakow) - :event - yakow-default-event-handler - :enter - (behavior ((arg0 vector)) + :event yakow-default-event-handler + :enter (behavior ((arg0 vector)) (set! (-> self state-time) (-> *display* base-frame-counter)) (logior! (-> self nav flags) (nav-control-flags navcf10)) (set! (-> self nav destination-pos quad) (-> arg0 quad)) @@ -608,8 +589,7 @@ yakow-default-event-handler (set! (-> self turn-time) (-> *YAKOW-bank* walk-turn-time)) (none) ) - :trans - (behavior () + :trans (behavior () (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> *YAKOW-bank* default-patrol-time)) (not (-> self in-pen)) (and *target* @@ -638,10 +618,8 @@ yakow-default-event-handler ) (none) ) - :code - (the-as (function vector none :behavior yakow) yakow-blend-walk-run) - :post - (behavior () + :code (the-as (function vector none :behavior yakow) yakow-blend-walk-run) + :post (behavior () (dummy-19 (-> self nav) (-> self nav target-pos) @@ -659,10 +637,8 @@ yakow-default-event-handler ;; failed to figure out what this is: (defstate yakow-graze (yakow) - :event - yakow-default-event-handler - :enter - (behavior () + :event yakow-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self travel-speed) 0.0) (set! (-> self grazing) #t) @@ -676,8 +652,7 @@ yakow-default-event-handler ) (none) ) - :code - (behavior () + :code (behavior () (while (< 546.13336 (fabs (deg-diff (-> self dest-rot) (y-angle (-> self root-override))))) (if (not (ja-group? yakow-walk-ja)) (ja-channel-push! 1 (seconds 0.075)) @@ -705,16 +680,13 @@ yakow-default-event-handler ) (none) ) - :post - yakow-simple-post + :post yakow-simple-post ) ;; failed to figure out what this is: (defstate yakow-graze-kicked (yakow) - :event - (the-as (function process int symbol event-message-block object :behavior yakow) #f) - :code - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior yakow) #f) + :code (behavior () (ja-no-eval :group! yakow-kicked-in-place-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) @@ -723,24 +695,20 @@ yakow-default-event-handler (go yakow-graze) (none) ) - :post - yakow-simple-post + :post yakow-simple-post ) ;; failed to figure out what this is: (defstate yakow-run-away (yakow) - :event - yakow-default-event-handler - :enter - (behavior () + :event yakow-default-event-handler + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logior! (-> self nav flags) (nav-control-flags navcf10)) (set! (-> self rotate-speed) (-> *YAKOW-bank* run-rotate-speed)) (set! (-> self turn-time) (-> *YAKOW-bank* run-turn-time)) (none) ) - :trans - (behavior () + :trans (behavior () (when (or (not *target*) (< (-> *YAKOW-bank* safe-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -774,18 +742,14 @@ yakow-default-event-handler ) (none) ) - :code - yakow-blend-walk-run - :post - yakow-run-post + :code yakow-blend-walk-run + :post yakow-run-post ) ;; failed to figure out what this is: (defstate yakow-kicked (yakow) - :event - (the-as (function process int symbol event-message-block object :behavior yakow) #f) - :enter - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior yakow) #f) + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (if (-> self grazing) (go yakow-graze-kicked) @@ -798,13 +762,11 @@ yakow-default-event-handler ) (none) ) - :exit - (behavior () + :exit (behavior () '() (none) ) - :trans - (behavior () + :trans (behavior () (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.2)) (seek! (-> self travel-speed) @@ -815,8 +777,7 @@ yakow-default-event-handler 0 (none) ) - :code - (behavior () + :code (behavior () (set! (-> self enable-turn-around) #t) 1.0 (suspend) @@ -855,16 +816,13 @@ yakow-default-event-handler (go yakow-run-away) (none) ) - :post - yakow-run-post + :post yakow-run-post ) ;; failed to figure out what this is: (defstate yakow-die (yakow) - :event - (the-as (function process int symbol event-message-block object :behavior yakow) #f) - :code - (behavior () + :event (the-as (function process int symbol event-message-block object :behavior yakow) #f) + :code (behavior () (let ((v1-1 (-> self root-override root-prim))) (set! (-> v1-1 collide-with) (collide-kind)) (set! (-> v1-1 prim-core collide-as) (collide-kind)) diff --git a/test/decompiler/reference/levels/village2/assistant-village2_REF.gc b/test/decompiler/reference/levels/village2/assistant-village2_REF.gc index ad9295f569..ca5d3ae2df 100644 --- a/test/decompiler/reference/levels/village2/assistant-village2_REF.gc +++ b/test/decompiler/reference/levels/village2/assistant-village2_REF.gc @@ -115,326 +115,296 @@ ;; definition for method 32 of type assistant-bluehut (defmethod play-anim! assistant-bluehut ((obj assistant-bluehut) (arg0 symbol)) - (with-pp - (set! (-> obj talk-message) (game-text-id press-to-talk-to-assistant)) - (case (current-status (-> obj tasks)) - (((task-status unknown) (task-status need-hint) (task-status need-introduction)) - (if (not arg0) - (set! (-> obj will-talk) #t) + (set! (-> obj talk-message) (game-text-id press-to-talk-to-assistant)) + (case (current-status (-> obj tasks)) + (((task-status unknown) (task-status need-hint) (task-status need-introduction)) + (if (not arg0) + (set! (-> obj will-talk) #t) + ) + (case (current-task (-> obj tasks)) + (((game-task village2-levitator)) + (when arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + (send-event (-> obj sage extra process) 'clone (process->handle obj)) + (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'clone (process->handle obj)) + ) + (new 'static 'spool-anim + :name "assistant-village2-introduction" + :index 15 + :parts 16 + :command-list '((0 send-event target draw #f) + (0 kill "villageb-part-33") + (95 send-event target draw #t) + (95 joint "cameraB") + (131 send-event target draw #f) + (131 joint "camera") + (190 setting-reset ocean-off #t) + (190 kill "pontoonten-20") + (190 kill "pontoonten-19") + (190 kill "pontoonten-18") + (190 kill "pontoonten-17") + (190 kill "pontoonten-16") + (190 kill "pontoonten-15") + (190 kill "pontoonten-14") + (190 kill "pontoonten-13") + (190 kill "pontoonten-12") + (190 kill "pontoonten-11") + (190 kill "pontoonten-10") + (190 kill "pontoonten-9") + (190 kill "pontoonten-8") + (190 kill "pontoonten-7") + (190 kill "pontoonten-6") + (190 kill "pontoonfive-3") + (190 kill "pontoonfive-4") + (190 kill "pontoonfive-5") + (190 kill "pontoonfive-6") + (190 kill "pontoonfive-7") + (190 kill "pontoonfive-8") + (190 kill "pontoonfive-12") + (190 kill "pontoonfive-13") + (190 kill "pontoonfive-14") + (190 kill "pontoonfive-15") + (190 kill "pontoonfive-16") + (190 kill "pontoonfive-17") + (190 kill "pontoonfive-18") + (190 kill "pontoonfive-19") + (190 kill "pontoonfive-20") + (190 kill "allpontoons-1") + (190 kill "med-res-level-12") + (190 kill "med-res-level-13") + (190 kill "med-res-level-15") + (190 kill "swamp-blimp-3") + (190 kill "barrel-85") + (190 kill "barrel-86") + (190 kill "money-2844") + (190 kill "money-2845") + (190 kill "money-2846") + (190 kill "money-2847") + (190 kill "money-2848") + (190 kill "money-2849") + (190 kill "money-4923") + (190 kill "money-4924") + (190 kill "money-4925") + (190 kill "money-4926") + (190 kill "money-4927") + (190 kill "eco-27") + (190 kill "sharkey-25") + (190 kill "barrel-117") + (190 kill "barrel-118") + (190 kill "barrel-119") + (190 kill "barrel-120") + (190 kill "barrel-121") + (190 kill "barrel-122") + (190 kill "crate-3129") + (190 kill "crate-3132") + (190 kill "crate-3133") + (190 kill "villageb-part-32") + (190 kill "villageb-part-30") + (190 kill "exit-chamber-dummy-1") + (190 kill "villageb-part-34") + (191 send-event target draw #t) + (191 joint "cameraB") + (241 joint "camera") + (241 send-event target draw #f) + (241 setting-unset ocean-off) + (241 dead "pontoonten-20") + (241 dead "pontoonten-19") + (241 dead "pontoonten-18") + (241 dead "pontoonten-17") + (241 dead "pontoonten-16") + (241 dead "pontoonten-15") + (241 dead "pontoonten-14") + (241 dead "pontoonten-13") + (241 dead "pontoonten-12") + (241 dead "pontoonten-11") + (241 dead "pontoonten-10") + (241 dead "pontoonten-9") + (241 dead "pontoonten-8") + (241 dead "pontoonten-7") + (241 dead "pontoonten-6") + (241 dead "pontoonfive-3") + (241 dead "pontoonfive-4") + (241 dead "pontoonfive-5") + (241 dead "pontoonfive-6") + (241 dead "pontoonfive-7") + (241 dead "pontoonfive-8") + (241 dead "pontoonfive-12") + (241 dead "pontoonfive-13") + (241 dead "pontoonfive-14") + (241 dead "pontoonfive-15") + (241 dead "pontoonfive-16") + (241 dead "pontoonfive-17") + (241 dead "pontoonfive-18") + (241 dead "pontoonfive-19") + (241 dead "pontoonfive-20") + (241 dead "allpontoons-1") + (241 dead "med-res-level-12") + (241 dead "med-res-level-13") + (241 dead "med-res-level-15") + (241 dead "swamp-blimp-3") + (241 dead "barrel-85") + (241 dead "barrel-86") + (241 dead "money-2844") + (241 dead "money-2845") + (241 dead "money-2846") + (241 dead "money-2847") + (241 dead "money-2848") + (241 dead "money-2849") + (241 dead "money-4923") + (241 dead "money-4924") + (241 dead "money-4925") + (241 dead "money-4926") + (241 dead "money-4927") + (241 dead "eco-27") + (241 dead "sharkey-25") + (241 dead "barrel-117") + (241 dead "barrel-118") + (241 dead "barrel-119") + (241 dead "barrel-120") + (241 dead "barrel-121") + (241 dead "barrel-122") + (241 dead "crate-3129") + (241 dead "crate-3132") + (241 dead "crate-3133") + (241 dead "villageb-part-32") + (241 dead "villageb-part-30") + (321 joint "cameraB") + (352 joint "camera") + (383 joint "cameraB") + (411 joint "camera") + (501 joint "cameraB") + (501 send-event target draw #t) + (567 joint "camera") + (634 alive "fireboulder-6") + (635 joint "cameraB") + (701 joint "camera") + (741 joint "cameraB") + (784 joint "camera") + (936 joint "cameraB") + (1065 joint "camera") + (1145 joint "cameraB") + (1241 joint "camera") + ) + ) + ) + (((game-task sunken-room)) + (when arg0 + (let* ((s5-2 (-> obj tasks)) + (s4-0 (method-of-object s5-2 save-reminder)) + ) + (s4-0 s5-2 (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 1) + ) + (close-status! (-> obj tasks) (task-status need-introduction)) + (set! (-> obj jaws) + (ppointer->handle (manipy-spawn (-> obj root-override trans) (-> obj entity) *jaws-sg* #f :to obj)) + ) + (let ((v1-42 (handle->process (-> obj jaws)))) + (if v1-42 + (set! (-> (the-as manipy v1-42) draw light-index) (the-as uint 1)) + ) + ) + (send-event (handle->process (-> obj jaws)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj jaws)) 'center-joint 3) + (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'clone (process->handle obj)) + ) + (new 'static 'spool-anim + :name "assistant-village2-introduction-room" + :index 21 + :parts 10 + :command-list '((197 joint "cameraB") + (351 joint "camera") + (431 joint "cameraB") + (553 joint "camera") + (631 joint "cameraB") + (842 joint "camera") + (900 joint "cameraB") + (1069 joint "camera") + ) + ) + ) + (((game-task rolling-robbers)) + (when arg0 + (let* ((s5-5 (-> obj tasks)) + (s4-1 (method-of-object s5-5 save-reminder)) + ) + (s4-1 s5-5 (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 1) + ) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "assistant-village2-introduction-robbers" + :index 17 + :parts 6 + :command-list '((55 joint "cameraB") (145 joint "camera") (207 joint "cameraB") (363 joint "camera")) + ) + ) + (else + (when arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'clone (process->handle obj)) ) - (case (current-task (-> obj tasks)) - (((game-task village2-levitator)) - (when arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - (send-event (-> obj sage extra process) 'clone (process->handle obj)) - (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'clone (process->handle obj)) - ) - (new 'static 'spool-anim - :name "assistant-village2-introduction" - :index 15 - :parts 16 - :command-list - '((0 send-event target draw #f) - (0 kill "villageb-part-33") - (95 send-event target draw #t) - (95 joint "cameraB") - (131 send-event target draw #f) - (131 joint "camera") - (190 setting-reset ocean-off #t) - (190 kill "pontoonten-20") - (190 kill "pontoonten-19") - (190 kill "pontoonten-18") - (190 kill "pontoonten-17") - (190 kill "pontoonten-16") - (190 kill "pontoonten-15") - (190 kill "pontoonten-14") - (190 kill "pontoonten-13") - (190 kill "pontoonten-12") - (190 kill "pontoonten-11") - (190 kill "pontoonten-10") - (190 kill "pontoonten-9") - (190 kill "pontoonten-8") - (190 kill "pontoonten-7") - (190 kill "pontoonten-6") - (190 kill "pontoonfive-3") - (190 kill "pontoonfive-4") - (190 kill "pontoonfive-5") - (190 kill "pontoonfive-6") - (190 kill "pontoonfive-7") - (190 kill "pontoonfive-8") - (190 kill "pontoonfive-12") - (190 kill "pontoonfive-13") - (190 kill "pontoonfive-14") - (190 kill "pontoonfive-15") - (190 kill "pontoonfive-16") - (190 kill "pontoonfive-17") - (190 kill "pontoonfive-18") - (190 kill "pontoonfive-19") - (190 kill "pontoonfive-20") - (190 kill "allpontoons-1") - (190 kill "med-res-level-12") - (190 kill "med-res-level-13") - (190 kill "med-res-level-15") - (190 kill "swamp-blimp-3") - (190 kill "barrel-85") - (190 kill "barrel-86") - (190 kill "money-2844") - (190 kill "money-2845") - (190 kill "money-2846") - (190 kill "money-2847") - (190 kill "money-2848") - (190 kill "money-2849") - (190 kill "money-4923") - (190 kill "money-4924") - (190 kill "money-4925") - (190 kill "money-4926") - (190 kill "money-4927") - (190 kill "eco-27") - (190 kill "sharkey-25") - (190 kill "barrel-117") - (190 kill "barrel-118") - (190 kill "barrel-119") - (190 kill "barrel-120") - (190 kill "barrel-121") - (190 kill "barrel-122") - (190 kill "crate-3129") - (190 kill "crate-3132") - (190 kill "crate-3133") - (190 kill "villageb-part-32") - (190 kill "villageb-part-30") - (190 kill "exit-chamber-dummy-1") - (190 kill "villageb-part-34") - (191 send-event target draw #t) - (191 joint "cameraB") - (241 joint "camera") - (241 send-event target draw #f) - (241 setting-unset ocean-off) - (241 dead "pontoonten-20") - (241 dead "pontoonten-19") - (241 dead "pontoonten-18") - (241 dead "pontoonten-17") - (241 dead "pontoonten-16") - (241 dead "pontoonten-15") - (241 dead "pontoonten-14") - (241 dead "pontoonten-13") - (241 dead "pontoonten-12") - (241 dead "pontoonten-11") - (241 dead "pontoonten-10") - (241 dead "pontoonten-9") - (241 dead "pontoonten-8") - (241 dead "pontoonten-7") - (241 dead "pontoonten-6") - (241 dead "pontoonfive-3") - (241 dead "pontoonfive-4") - (241 dead "pontoonfive-5") - (241 dead "pontoonfive-6") - (241 dead "pontoonfive-7") - (241 dead "pontoonfive-8") - (241 dead "pontoonfive-12") - (241 dead "pontoonfive-13") - (241 dead "pontoonfive-14") - (241 dead "pontoonfive-15") - (241 dead "pontoonfive-16") - (241 dead "pontoonfive-17") - (241 dead "pontoonfive-18") - (241 dead "pontoonfive-19") - (241 dead "pontoonfive-20") - (241 dead "allpontoons-1") - (241 dead "med-res-level-12") - (241 dead "med-res-level-13") - (241 dead "med-res-level-15") - (241 dead "swamp-blimp-3") - (241 dead "barrel-85") - (241 dead "barrel-86") - (241 dead "money-2844") - (241 dead "money-2845") - (241 dead "money-2846") - (241 dead "money-2847") - (241 dead "money-2848") - (241 dead "money-2849") - (241 dead "money-4923") - (241 dead "money-4924") - (241 dead "money-4925") - (241 dead "money-4926") - (241 dead "money-4927") - (241 dead "eco-27") - (241 dead "sharkey-25") - (241 dead "barrel-117") - (241 dead "barrel-118") - (241 dead "barrel-119") - (241 dead "barrel-120") - (241 dead "barrel-121") - (241 dead "barrel-122") - (241 dead "crate-3129") - (241 dead "crate-3132") - (241 dead "crate-3133") - (241 dead "villageb-part-32") - (241 dead "villageb-part-30") - (321 joint "cameraB") - (352 joint "camera") - (383 joint "cameraB") - (411 joint "camera") - (501 joint "cameraB") - (501 send-event target draw #t) - (567 joint "camera") - (634 alive "fireboulder-6") - (635 joint "cameraB") - (701 joint "camera") - (741 joint "cameraB") - (784 joint "camera") - (936 joint "cameraB") - (1065 joint "camera") - (1145 joint "cameraB") - (1241 joint "camera") - ) - ) - ) - (((game-task sunken-room)) - (when arg0 - (let* ((s5-2 (-> obj tasks)) - (s4-0 (method-of-object s5-2 save-reminder)) - (a1-7 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-7 from) pp) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'query) - (set! (-> a1-7 param 0) (the-as uint 'pickup)) - (set! (-> a1-7 param 1) (the-as uint 6)) - (s4-0 s5-2 (the int (the-as float (send-event-function *target* a1-7))) 1) - ) - (close-status! (-> obj tasks) (task-status need-introduction)) - (let ((s5-3 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj jaws) - (ppointer->handle - (when s5-3 - (let ((t9-10 (method-of-type manipy activate))) - (t9-10 (the-as manipy s5-3) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-3 manipy-init (-> obj root-override trans) (-> obj entity) *jaws-sg* #f) - (-> s5-3 ppointer) - ) - ) - ) - ) - (let ((v1-42 (handle->process (-> obj jaws)))) - (if v1-42 - (set! (-> (the-as manipy v1-42) draw light-index) (the-as uint 1)) - ) - ) - (send-event (handle->process (-> obj jaws)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj jaws)) 'center-joint 3) - (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'clone (process->handle obj)) - ) - (new 'static 'spool-anim - :name "assistant-village2-introduction-room" - :index 21 - :parts 10 - :command-list - '((197 joint "cameraB") - (351 joint "camera") - (431 joint "cameraB") - (553 joint "camera") - (631 joint "cameraB") - (842 joint "camera") - (900 joint "cameraB") - (1069 joint "camera") - ) - ) - ) - (((game-task rolling-robbers)) - (when arg0 - (let* ((s5-5 (-> obj tasks)) - (s4-1 (method-of-object s5-5 save-reminder)) - (a1-17 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-17 from) pp) - (set! (-> a1-17 num-params) 2) - (set! (-> a1-17 message) 'query) - (set! (-> a1-17 param 0) (the-as uint 'pickup)) - (set! (-> a1-17 param 1) (the-as uint 6)) - (s4-1 s5-5 (the int (the-as float (send-event-function *target* a1-17))) 1) - ) - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name - "assistant-village2-introduction-robbers" - :index 17 - :parts 6 - :command-list - '((55 joint "cameraB") (145 joint "camera") (207 joint "cameraB") (363 joint "camera")) - ) - ) - (else - (when arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'clone (process->handle obj)) - ) - (new 'static 'spool-anim - :name - "assistant-village2-introduction-flutflut" - :index 19 - :parts 8 - :command-list - '((71 joint "cameraB") (308 joint "camera") (426 joint "cameraB") (550 joint "camera") (644 joint "cameraB")) - ) + (new 'static 'spool-anim + :name "assistant-village2-introduction-flutflut" + :index 19 + :parts 8 + :command-list '((71 joint "cameraB") (308 joint "camera") (426 joint "cameraB") (550 joint "camera") (644 joint "cameraB")) ) ) ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (let ((s4-2 (+ (get-reminder (-> obj tasks) 0) 1))) - (if (< (the-as uint 2) (the-as uint s4-2)) - (set! s4-2 0) - ) - (countdown (s3-0 3) - (let ((v1-92 s4-2)) - (cond - ((zero? v1-92) - (if (!= (get-task-status (game-task sunken-room)) (task-status need-reminder)) - (set! s4-2 1) - ) - ) - ((= v1-92 1) - (if (!= (get-task-status (game-task rolling-robbers)) (task-status need-reminder)) - (set! s4-2 2) - ) - ) - (else - (if (!= (get-task-status (game-task swamp-flutflut)) (task-status need-reminder)) - (set! s4-2 0) - ) - ) + ) + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (let ((s4-2 (+ (get-reminder (-> obj tasks) 0) 1))) + (if (< (the-as uint 2) (the-as uint s4-2)) + (set! s4-2 0) + ) + (countdown (s3-0 3) + (let ((v1-92 s4-2)) + (cond + ((zero? v1-92) + (if (!= (get-task-status (game-task sunken-room)) (task-status need-reminder)) + (set! s4-2 1) + ) + ) + ((= v1-92 1) + (if (!= (get-task-status (game-task rolling-robbers)) (task-status need-reminder)) + (set! s4-2 2) + ) + ) + (else + (if (!= (get-task-status (game-task swamp-flutflut)) (task-status need-reminder)) + (set! s4-2 0) + ) ) ) ) - (if arg0 - (save-reminder (-> obj tasks) s4-2 2) - ) - (cond - ((zero? s4-2) - (new 'static 'spool-anim :name "assistant-village2-reminder-1-room" :index 22 :parts 3 :command-list '()) - ) - ((= s4-2 1) - (new 'static 'spool-anim :name "assistant-village2-reminder-1-robbers" :index 18 :parts 3 :command-list '()) - ) - (else - (new 'static 'spool-anim :name "assistant-village2-reminder-1-flutflut" :index 20 :parts 3 :command-list '()) - ) + ) + (if arg0 + (save-reminder (-> obj tasks) s4-2 2) + ) + (cond + ((zero? s4-2) + (new 'static 'spool-anim :name "assistant-village2-reminder-1-room" :index 22 :parts 3 :command-list '()) + ) + ((= s4-2 1) + (new 'static 'spool-anim :name "assistant-village2-reminder-1-robbers" :index 18 :parts 3 :command-list '()) + ) + (else + (new 'static 'spool-anim :name "assistant-village2-reminder-1-flutflut" :index 20 :parts 3 :command-list '()) ) ) ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) ) - (-> obj draw art-group data 5) - ) + ) + (-> obj draw art-group data 5) ) ) ) @@ -514,10 +484,7 @@ ;; definition for method 43 of type assistant-bluehut (defmethod TODO-RENAME-43 assistant-bluehut ((obj assistant-bluehut)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f30-0 (+ -1.0 (the-as float v1-4))) - ) + (let ((f30-0 (rand-float-gen))) (cond ((= (get-task-status (game-task village2-levitator)) (task-status invalid)) #f @@ -536,8 +503,7 @@ ;; failed to figure out what this is: (defstate idle (assistant-bluehut) :virtual #t - :trans - (behavior () + :trans (behavior () (case (get-task-status (game-task village2-levitator)) (((task-status need-hint) (task-status need-introduction)) (send-event self 'play-anim) @@ -546,8 +512,7 @@ ((-> (method-of-type process-taskable idle) trans)) (none) ) - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) ) @@ -557,10 +522,7 @@ (suspend) (ja :num! (seek!)) ) - (let* ((v1-24 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-25 (the-as number (logior #x3f800000 v1-24))) - (f0-9 (+ -1.0 (the-as float v1-25))) - ) + (let ((f0-9 (rand-float-gen))) (cond ((< f0-9 0.33333334) (TODO-RENAME-43 self) @@ -570,14 +532,12 @@ (ja :num! (seek!)) ) (let ((gp-1 (-> *display* base-frame-counter))) - (while (let* ((s5-1 (-> *display* base-frame-counter)) - (f30-0 300.0) - (f28-0 0.16) - (f26-0 0.17000002) - (v1-55 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-56 (the-as number (logior #x3f800000 v1-55))) - ) - (< (- s5-1 (the-as time-frame (the int (* f30-0 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-56)))))))) gp-1) + (while (let ((s5-1 (-> *display* base-frame-counter)) + (f30-0 300.0) + (f28-0 0.16) + (f26-0 0.17000002) + ) + (< (- s5-1 (the-as time-frame (the int (* f30-0 (+ f28-0 (* f26-0 (rand-float-gen))))))) gp-1) ) (suspend) ) @@ -646,8 +606,7 @@ ;; failed to figure out what this is: (defstate play-anim (assistant-bluehut) :virtual #t - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self jaws)))) (if a0-1 (deactivate a0-1) @@ -659,8 +618,7 @@ (close-specific-task! (game-task village2-levitator) (task-status need-reminder-a)) (none) ) - :trans - (behavior () + :trans (behavior () '() (none) ) @@ -686,16 +644,14 @@ (defpartgroup group-assistant-bluehut-torch :id 288 :bounds (static-bspherem 0 0 0 15) - :parts - ((sp-item 1322 :fade-after (meters 30) :falloff-to (meters 30)) + :parts ((sp-item 1322 :fade-after (meters 30) :falloff-to (meters 30)) (sp-item 1323 :fade-after (meters 60) :falloff-to (meters 80)) ) ) ;; failed to figure out what this is: (defpart 1322 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -712,8 +668,7 @@ ;; failed to figure out what this is: (defpart 1323 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -739,8 +694,7 @@ ;; failed to figure out what this is: (defpart 1324 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 3.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.075) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -762,13 +716,9 @@ (when (< (-> arg2 y) (-> arg1 user-float)) (let ((gp-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) - ) - ) + (if (< (rand-float-gen) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) (sp-launch-particles-var *sp-particle-system-2d* @@ -802,8 +752,7 @@ :id 658 :flags (use-local-clock) :bounds (static-bspherem -20 8 0 80) - :parts - ((sp-item 2673 :fade-after (meters 120) :falloff-to (meters 140) :binding 2670) + :parts ((sp-item 2673 :fade-after (meters 120) :falloff-to (meters 140) :binding 2670) (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2671) (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2672) (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2671) @@ -835,8 +784,7 @@ ;; failed to figure out what this is: (defpart 2694 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-rnd-flt spt-num 0.2 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -856,8 +804,7 @@ ;; failed to figure out what this is: (defpart 2693 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -877,8 +824,7 @@ ;; failed to figure out what this is: (defpart 2673 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.025 0.025 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -899,8 +845,7 @@ ;; failed to figure out what this is: (defpart 2670 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -923,8 +868,7 @@ ;; failed to figure out what this is: (defpart 2671 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -944,8 +888,7 @@ ;; failed to figure out what this is: (defpart 2672 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -965,8 +908,7 @@ ;; failed to figure out what this is: (defpart 2674 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.8) 1.0) @@ -987,8 +929,7 @@ ;; failed to figure out what this is: (defpart 2676 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1009,8 +950,7 @@ ;; failed to figure out what this is: (defpart 2675 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1030,14 +970,12 @@ :id 659 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 34) - :parts - ((sp-item 2695) (sp-item 2696 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 2677)) + :parts ((sp-item 2695) (sp-item 2696 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 2677)) ) ;; failed to figure out what this is: (defpart 2696 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 2.0 6.0 1.0) (sp-rnd-flt spt-y (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1) 1.0) @@ -1064,8 +1002,7 @@ ;; failed to figure out what this is: (defpart 2695 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees 180.0) (degrees 360.0) 1.0) @@ -1085,8 +1022,7 @@ ;; failed to figure out what this is: (defpart 2677 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 6) (meters 6) 1.0) (sp-rnd-flt spt-rot-z (degrees 180.0) (degrees 360.0) 1.0) @@ -1110,8 +1046,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2751 :fade-after (meters 100) :falloff-to (meters 100) :binding 2750) + :parts ((sp-item 2751 :fade-after (meters 100) :falloff-to (meters 100) :binding 2750) (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2798) (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) @@ -1154,8 +1089,7 @@ ;; failed to figure out what this is: (defpart 2678 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) @@ -1177,8 +1111,7 @@ ;; failed to figure out what this is: (defpart 2751 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1194,8 +1127,7 @@ ;; failed to figure out what this is: (defpart 2750 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -1218,8 +1150,7 @@ ;; failed to figure out what this is: (defpart 2797 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 0.2 0.4 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -1239,8 +1170,7 @@ ;; failed to figure out what this is: (defpart 2798 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-rnd-flt spt-num 0.2 0.4 1.0) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -1264,14 +1194,12 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2679)) + :parts ((sp-item 2679)) ) ;; failed to figure out what this is: (defpart 2679 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) @@ -1324,31 +1252,20 @@ (vector-! s4-0 gp-0 s5-0) (let ((t2-0 (new 'stack-no-clear 'collide-tri-result))) 0.0 - (when (>= (fill-and-probe-using-line-sphere - *collide-cache* - s5-0 - s4-0 - 6144.0 - (collide-kind target) - (the-as process #f) - t2-0 - 1 - ) - 0.0 + (if (>= (fill-and-probe-using-line-sphere + *collide-cache* + s5-0 + s4-0 + 6144.0 + (collide-kind target) + (the-as process #f) + t2-0 + 1 ) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'shove) - (set! (-> a1-7 param 0) (the-as uint #f)) - (let ((v1-13 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-13 shove-up) 8192.0) - (set! (-> v1-13 shove-back) 12288.0) - (set! (-> a1-7 param 1) (the-as uint v1-13)) - ) - (send-event-function *target* a1-7) + 0.0 + ) + (send-event *target* 'shove #f (static-attack-info ((shove-up (meters 2)) (shove-back (meters 3))))) ) - ) ) (vector-normalize! s4-0 (+ -20480.0 (vector-length s4-0))) (vector+! gp-0 s5-0 s4-0) @@ -1397,8 +1314,7 @@ :name "assistant-village2-resolution" :index 16 :parts 7 - :command-list - '((196 joint "cameraB") + :command-list '((196 joint "cameraB") (241 joint "camera") (286 joint "cameraB") (436 joint "camera") @@ -1435,8 +1351,7 @@ ;; failed to figure out what this is: (defstate play-anim (assistant-levitator) :virtual #t - :exit - (behavior () + :exit (behavior () (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) self) (set! (-> a1-0 num-params) 0) @@ -1455,8 +1370,7 @@ ((-> (method-of-type process-taskable play-anim) exit)) (none) ) - :trans - (behavior () + :trans (behavior () (assistant-levitator-blue-glow) (if (< 200.0 (ja-aframe-num 0)) (assistant-levitator-blue-beam) @@ -1469,8 +1383,7 @@ ;; failed to figure out what this is: (defstate hidden (assistant-levitator) :virtual #t - :trans - (behavior () + :trans (behavior () ((-> (method-of-type process-taskable hidden) trans)) (when (and (cond ((and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) @@ -1539,21 +1452,18 @@ ;; failed to figure out what this is: (defstate idle (assistant-levitator) :virtual #t - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) ((-> (method-of-type process-taskable idle) exit)) (none) ) - :trans - (behavior () + :trans (behavior () (assistant-levitator-blue-glow) (update! (-> self sound)) ((-> (method-of-type process-taskable idle) trans)) (none) ) - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) ) @@ -1620,8 +1530,7 @@ ;; failed to figure out what this is: (defstate just-particles (assistant-levitator) - :code - (behavior () + :code (behavior () (ja-channel-set! 0) (loop (assistant-levitator-blue-glow) diff --git a/test/decompiler/reference/levels/village2/flutflut-bluehut_REF.gc b/test/decompiler/reference/levels/village2/flutflut-bluehut_REF.gc index 8449bb6846..5d90893691 100644 --- a/test/decompiler/reference/levels/village2/flutflut-bluehut_REF.gc +++ b/test/decompiler/reference/levels/village2/flutflut-bluehut_REF.gc @@ -56,14 +56,12 @@ ;; failed to figure out what this is: (defstate idle (flutflut-bluehut) :virtual #t - :trans - (behavior () + :trans (behavior () (set! (-> self will-talk) #f) ((-> (method-of-type process-taskable idle) trans)) (none) ) - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) ) diff --git a/test/decompiler/reference/levels/village2/gambler_REF.gc b/test/decompiler/reference/levels/village2/gambler_REF.gc index 6f639ac4d0..e4824116f7 100644 --- a/test/decompiler/reference/levels/village2/gambler_REF.gc +++ b/test/decompiler/reference/levels/village2/gambler_REF.gc @@ -40,8 +40,7 @@ :name "gambler-introduction-1" :index 11 :parts 9 - :command-list - '((0 want-levels village2 rolling) + :command-list '((0 want-levels village2 rolling) (0 display-level rolling #f) (29 joint "cameraB") (103 joint "camera") @@ -133,10 +132,7 @@ ;; definition for method 43 of type gambler (defmethod TODO-RENAME-43 gambler ((obj gambler)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 61440.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.9230769 f0-2) (play-ambient (-> obj ambient) "GAM-AM01" #f (-> obj root-override trans)) @@ -187,8 +183,7 @@ ;; failed to figure out what this is: (defstate idle (gambler) :virtual #t - :code - (behavior () + :code (behavior () (when (!= (ja-group) gambler-idle-fidget-ja) (ja-channel-push! 1 (seconds 0.2)) (ja :group! gambler-idle-fidget-ja) @@ -200,10 +195,7 @@ (ja :num! (seek!)) ) (TODO-RENAME-43 self) - (let* ((v1-38 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-39 (the-as number (logior #x3f800000 v1-38))) - (f0-9 (+ -1.0 (the-as float v1-39))) - ) + (let ((f0-9 (rand-float-gen))) (cond ((< f0-9 0.16666667) (ja :group! gambler-idle-tiptoe-ja) diff --git a/test/decompiler/reference/levels/village2/geologist_REF.gc b/test/decompiler/reference/levels/village2/geologist_REF.gc index 986fcc6031..914a44a867 100644 --- a/test/decompiler/reference/levels/village2/geologist_REF.gc +++ b/test/decompiler/reference/levels/village2/geologist_REF.gc @@ -40,8 +40,7 @@ :name "geologist-introduction" :index 6 :parts 13 - :command-list - '((0 want-levels village2 rolling) + :command-list '((0 want-levels village2 rolling) (199 joint "cameraB") (325 joint "camera") (520 alive "racer-2") @@ -125,10 +124,7 @@ ;; definition for method 43 of type geologist (defmethod TODO-RENAME-43 geologist ((obj geologist)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.8888889 f0-2) (play-ambient (-> obj ambient) "GEO-AM01" #f (-> obj root-override trans)) diff --git a/test/decompiler/reference/levels/village2/sage-bluehut_REF.gc b/test/decompiler/reference/levels/village2/sage-bluehut_REF.gc index 5cb2aeb490..ad970867aa 100644 --- a/test/decompiler/reference/levels/village2/sage-bluehut_REF.gc +++ b/test/decompiler/reference/levels/village2/sage-bluehut_REF.gc @@ -58,102 +58,90 @@ ;; definition for method 32 of type sage-bluehut (defmethod play-anim! sage-bluehut ((obj sage-bluehut) (arg0 symbol)) - (with-pp - (set! (-> obj talk-message) (game-text-id press-to-talk-to-sage)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) - (if (not arg0) - (set! (-> obj will-talk) #t) - ) - (case (current-task (-> obj tasks)) - (((game-task rolling-plants)) - (when arg0 - (let* ((s5-1 (-> obj tasks)) - (s4-0 (method-of-object s5-1 save-reminder)) - (a1-3 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (s4-0 s5-1 (the int (the-as float (send-event-function *target* a1-3))) 1) - ) - (close-status! (-> obj tasks) (task-status need-introduction)) - (let ((s5-2 (-> obj assistant extra process))) - (if (and s5-2 (should-display? (the-as assistant-bluehut s5-2))) - (send-event s5-2 'clone (process->handle obj)) - ) - ) - (set! (-> obj draw bounds w) 40960.0) - ) - (new 'static 'spool-anim - :name - "sage-bluehut-introduction-crop-dusting" - :index 8 - :parts 12 - :command-list - '((678 joint "cameraB") (1166 joint "camera") (1258 joint "cameraB")) - ) - ) - (else - (when arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - (close-specific-task! (game-task swamp-tether-1) (task-status need-introduction)) - (close-specific-task! (game-task swamp-tether-2) (task-status need-introduction)) - (close-specific-task! (game-task swamp-tether-3) (task-status need-introduction)) - (close-specific-task! (game-task swamp-tether-4) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "sage-bluehut-introduction-prec-arm" - :index 6 - :parts 8 - :command-list - '((141 joint "cameraB") - (214 joint "camera") - (308 joint "cameraB") - (686 joint "camera") - (786 joint "cameraB") - (843 joint "camera") - ) - ) - ) + (set! (-> obj talk-message) (game-text-id press-to-talk-to-sage)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) + (if (not arg0) + (set! (-> obj will-talk) #t) ) - ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (if arg0 - (set! (-> obj reminder-played) #t) - ) - (cond - ((zero? (get-reminder (-> obj tasks) 0)) - (new 'static 'spool-anim :name "sage-bluehut-reminder-1-crop-dusting" :index 9 :parts 3 :command-list '()) - ) - (else - (if arg0 - (set! (-> obj draw bounds w) 40960.0) - ) - (new 'static 'spool-anim - :name "sage-bluehut-reminder-1-prec-arm" - :index 7 - :parts 4 - :command-list - '((90 joint "cameraB") (259 joint "camera") (352 joint "cameraB")) - ) - ) - ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) + (case (current-task (-> obj tasks)) + (((game-task rolling-plants)) + (when arg0 + (let* ((s5-1 (-> obj tasks)) + (s4-0 (method-of-object s5-1 save-reminder)) + ) + (s4-0 s5-1 (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 1) ) - (get-art-elem obj) + (close-status! (-> obj tasks) (task-status need-introduction)) + (let ((s5-2 (-> obj assistant extra process))) + (if (and s5-2 (should-display? (the-as assistant-bluehut s5-2))) + (send-event s5-2 'clone (process->handle obj)) + ) + ) + (set! (-> obj draw bounds w) 40960.0) + ) + (new 'static 'spool-anim + :name "sage-bluehut-introduction-crop-dusting" + :index 8 + :parts 12 + :command-list '((678 joint "cameraB") (1166 joint "camera") (1258 joint "cameraB")) + ) ) + (else + (when arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + (close-specific-task! (game-task swamp-tether-1) (task-status need-introduction)) + (close-specific-task! (game-task swamp-tether-2) (task-status need-introduction)) + (close-specific-task! (game-task swamp-tether-3) (task-status need-introduction)) + (close-specific-task! (game-task swamp-tether-4) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "sage-bluehut-introduction-prec-arm" + :index 6 + :parts 8 + :command-list '((141 joint "cameraB") + (214 joint "camera") + (308 joint "cameraB") + (686 joint "camera") + (786 joint "cameraB") + (843 joint "camera") + ) + ) + ) + ) + ) + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (if arg0 + (set! (-> obj reminder-played) #t) + ) + (cond + ((zero? (get-reminder (-> obj tasks) 0)) + (new 'static 'spool-anim :name "sage-bluehut-reminder-1-crop-dusting" :index 9 :parts 3 :command-list '()) + ) + (else + (if arg0 + (set! (-> obj draw bounds w) 40960.0) + ) + (new 'static 'spool-anim + :name "sage-bluehut-reminder-1-prec-arm" + :index 7 + :parts 4 + :command-list '((90 joint "cameraB") (259 joint "camera") (352 joint "cameraB")) + ) + ) + ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (get-art-elem obj) ) ) ) @@ -232,8 +220,7 @@ ;; failed to figure out what this is: (defstate play-anim (sage-bluehut) :virtual #t - :exit - (behavior () + :exit (behavior () (send-event (-> self assistant extra process) 'end-mode) (set! (-> self draw bounds w) 10240.0) ((-> (method-of-type process-taskable play-anim) exit)) @@ -274,10 +261,7 @@ ;; definition for method 43 of type sage-bluehut (defmethod TODO-RENAME-43 sage-bluehut ((obj sage-bluehut)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.8 f0-2) (play-ambient (-> obj ambient) "SAGELP20" #f (-> obj root-override trans)) @@ -302,8 +286,7 @@ ;; failed to figure out what this is: (defstate idle (sage-bluehut) :virtual #t - :code - (behavior () + :code (behavior () (loop (let ((gp-0 (get-art-elem self))) (cond diff --git a/test/decompiler/reference/levels/village2/sunken-elevator_REF.gc b/test/decompiler/reference/levels/village2/sunken-elevator_REF.gc index eb2eb096a4..9767c560ed 100644 --- a/test/decompiler/reference/levels/village2/sunken-elevator_REF.gc +++ b/test/decompiler/reference/levels/village2/sunken-elevator_REF.gc @@ -54,8 +54,7 @@ ;; failed to figure out what this is: (defstate plat-button-pressed (sunken-elevator) :virtual #t - :enter - (behavior () + :enter (behavior () (let ((t9-0 (-> (method-of-type plat-button plat-button-pressed) enter))) (if t9-0 (t9-0) @@ -92,25 +91,19 @@ 0 ) ((1.0) - (let* ((gp-1 (get-process *default-dead-pool* village2cam #x4000)) - (v1-10 (when gp-1 - (let ((t9-6 (method-of-type village2cam activate))) - (t9-6 (the-as village2cam gp-1) self 'village2cam (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - pov-camera-init-by-other - (-> self spawn-pos) - *village2cam-sg* - "elevator-at-top-going-down" - 0 - #f - '() - ) - (-> gp-1 ppointer) - ) - ) - ) + (let ((v1-10 (process-spawn + village2cam + :init pov-camera-init-by-other + (-> self spawn-pos) + *village2cam-sg* + "elevator-at-top-going-down" + 0 + #f + '() + :to self + ) + ) + ) (set! (-> (the-as village2cam (-> v1-10 0)) seq) (the-as uint 1)) ) ) @@ -122,8 +115,7 @@ ;; failed to figure out what this is: (defstate plat-button-move-upward (sunken-elevator) :virtual #t - :enter - (behavior () + :enter (behavior () (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) enter))) (if t9-0 (t9-0) @@ -132,8 +124,7 @@ (set! (-> self play-at-top-going-up-camera?) #t) (none) ) - :trans - (behavior () + :trans (behavior () (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) trans))) (if t9-0 (t9-0) @@ -143,25 +134,19 @@ (set! *teleport* #t) (set! (-> self play-at-top-going-up-camera?) #f) (load-state-want-display-level 'sunken 'special) - (let* ((gp-0 (get-process *default-dead-pool* village2cam #x4000)) - (v1-8 (when gp-0 - (let ((t9-3 (method-of-type village2cam activate))) - (t9-3 (the-as village2cam gp-0) self 'village2cam (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - pov-camera-init-by-other - (-> self spawn-pos) - *village2cam-sg* - "elevator-at-top-going-down" - 0 - #f - '() - ) - (-> gp-0 ppointer) - ) - ) - ) + (let ((v1-8 (process-spawn + village2cam + :init pov-camera-init-by-other + (-> self spawn-pos) + *village2cam-sg* + "elevator-at-top-going-down" + 0 + #f + '() + :to self + ) + ) + ) (set! (-> (the-as village2cam (-> v1-8 0)) seq) (the-as uint 2)) ) ) @@ -172,8 +157,7 @@ ;; failed to figure out what this is: (defstate plat-button-move-downward (sunken-elevator) :virtual #t - :trans - (behavior () + :trans (behavior () (let ((s5-0 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) ) diff --git a/test/decompiler/reference/levels/village2/swamp-blimp_REF.gc b/test/decompiler/reference/levels/village2/swamp-blimp_REF.gc index bca3b3deaa..ea5cf030e3 100644 --- a/test/decompiler/reference/levels/village2/swamp-blimp_REF.gc +++ b/test/decompiler/reference/levels/village2/swamp-blimp_REF.gc @@ -45,8 +45,7 @@ :duration 150 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 2065 :period 600 :length 5) + :parts ((sp-item 2065 :period 600 :length 5) (sp-item 2066 :period 600 :length 40) (sp-item 2067 :period 600 :length 20) (sp-item 2068 :period 600 :length 20) @@ -55,8 +54,7 @@ ;; failed to figure out what this is: (defpart 2066 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 0.33) (meters 0.66) 1.0) @@ -82,14 +80,12 @@ ;; failed to figure out what this is: (defpart 2069 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.4222223)) ) ;; failed to figure out what this is: (defpart 2068 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-flt spt-scale-x (meters 0.4)) @@ -108,8 +104,7 @@ ;; failed to figure out what this is: (defpart 2065 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters 2)) (sp-flt spt-scale-x (meters 32)) @@ -126,8 +121,7 @@ ;; failed to figure out what this is: (defpart 2067 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0) @@ -156,14 +150,12 @@ ;; failed to figure out what this is: (defpart 2070 - :init-specs - ((sp-flt spt-fade-r -0.53333336) (sp-flt spt-fade-g -0.53333336) (sp-flt spt-fade-b -1.0583333)) + :init-specs ((sp-flt spt-fade-r -0.53333336) (sp-flt spt-fade-g -0.53333336) (sp-flt spt-fade-b -1.0583333)) ) ;; failed to figure out what this is: (defpart 2017 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.2) (sp-flt spt-y (meters 0.1)) (sp-flt spt-scale-x (meters 3)) @@ -187,14 +179,12 @@ :id 287 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1321 :period 15 :length 5)) + :parts ((sp-item 1321 :period 15 :length 5)) ) ;; failed to figure out what this is: (defpart 1321 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) (sp-rnd-flt spt-num 1.0 1.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -779,8 +769,7 @@ ;; failed to figure out what this is: (defstate swamp-tetherrock-die (swamp-tetherrock) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (deactivate self) (suspend) @@ -791,8 +780,7 @@ ;; failed to figure out what this is: (defstate swamp-tetherrock-hide (swamp-tetherrock) - :code - (behavior () + :code (behavior () (clear-collide-with-as (-> self root-override)) (logior! (-> self draw status) (draw-status hidden)) (loop @@ -809,15 +797,13 @@ ;; failed to figure out what this is: (defstate swamp-tetherrock-break (swamp-tetherrock) - :exit - (behavior () + :exit (behavior () (clear-pending-settings-from-process *setting-control* self 'movie) (clear-pending-settings-from-process *setting-control* self 'process-mask) (copy-settings-from-target! *setting-control*) (none) ) - :code - (behavior () + :code (behavior () (let ((gp-0 (tetherrock-get-info (-> self entity)))) (hide-hud-quick) (process-grab? *target*) @@ -879,43 +865,28 @@ ) ) ) - (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-1 - (let ((t9-21 (method-of-type part-tracker activate))) - (t9-21 (the-as part-tracker s4-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s4-1 - part-tracker-init - (-> *part-group-id-table* 285) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> s4-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 285) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* ) (logior! (-> self draw status) (draw-status skip-bones)) - (let* ((s4-2 (get-process *default-dead-pool* manipy #x4000)) - (s4-3 (ppointer->handle (when s4-2 - (let ((t9-24 (method-of-type manipy activate))) - (t9-24 (the-as manipy s4-2) *entity-pool* 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process - s4-2 - manipy-init - (-> self root-override trans) - (-> self entity) - *swamp-tetherrock-explode-sg* - #f - ) - (-> s4-2 ppointer) - ) - ) - ) - ) + (let ((s4-3 (ppointer->handle (manipy-spawn + (-> self root-override trans) + (-> self entity) + *swamp-tetherrock-explode-sg* + #f + :to *entity-pool* + ) + ) + ) + ) (send-event (handle->process (the-as handle s4-3)) 'anim-mode 'play1) (send-event (handle->process (the-as handle s4-3)) 'art-joint-anim "swamp-tetherrock-explode-explode" 0) (send-event (handle->process (the-as handle s4-3)) 'draw #t) @@ -957,64 +928,57 @@ ) ) (process-release? *target*) - (let ((gp-3 (get-process *default-dead-pool* process #x4000))) - (when gp-3 - (let ((t9-37 (method-of-type process activate))) - (t9-37 gp-3 self 'process (the-as pointer #x70004000)) + (process-spawn-function + process + (lambda ((arg0 int)) + (while (or (-> *setting-control* current ambient) + (-> *setting-control* current hint) + (-> *setting-control* current movie) + ) + (suspend) ) - (run-next-time-in-process - gp-3 - (lambda ((arg0 int)) - (while (or (-> *setting-control* current ambient) - (-> *setting-control* current hint) - (-> *setting-control* current movie) - ) - (suspend) - ) - (cond - ((= arg0 3) - (level-hint-spawn - (game-text-id swamp-tethers-three-to-go) - "sksp0157" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 2) - (level-hint-spawn - (game-text-id swamp-tethers-two-to-go) - "sksp0158" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((= arg0 1) - (level-hint-spawn - (game-text-id swamp-tethers-lefts-find-the-last) - "sksp0159" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ((zero? arg0) - (level-hint-spawn - (game-text-id swamp-tethers-completion-sage-precursor-arm) - "sagevb04" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ) - (none) - ) - s5-2 + (cond + ((= arg0 3) + (level-hint-spawn + (game-text-id swamp-tethers-three-to-go) + "sksp0157" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 2) + (level-hint-spawn + (game-text-id swamp-tethers-two-to-go) + "sksp0158" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((= arg0 1) + (level-hint-spawn + (game-text-id swamp-tethers-lefts-find-the-last) + "sksp0159" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ((zero? arg0) + (level-hint-spawn + (game-text-id swamp-tethers-completion-sage-precursor-arm) + "sagevb04" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) ) - (-> gp-3 ppointer) + (none) ) + s5-2 + :to self ) ) ) @@ -1022,14 +986,12 @@ (go swamp-tetherrock-hide) (none) ) - :post - (the-as (function none :behavior swamp-tetherrock) ja-post) + :post (the-as (function none :behavior swamp-tetherrock) ja-post) ) ;; failed to figure out what this is: (defstate swamp-tetherrock-idle (swamp-tetherrock) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('attack) (when (and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) @@ -1044,26 +1006,20 @@ s5-0 ) ) - (s5-1 (get-process *default-dead-pool* part-tracker #x4000)) ) - (when s5-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 287) - 150 - #f - #f - #f - (if gp-0 - (-> (the-as process-drawable gp-0) root trans) - (-> self root-override trans) - ) - ) - (-> s5-1 ppointer) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 287) + 150 + #f + #f + #f + (if gp-0 + (-> (the-as process-drawable gp-0) root trans) + (-> self root-override trans) + ) + :to *entity-pool* ) ) ) @@ -1072,8 +1028,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (let ((s4-0 (new 'static 'vector :y 1.0 :w 1.0)) (s3-0 (new 'stack-no-clear 'vector)) @@ -1103,8 +1058,7 @@ ) (none) ) - :post - (the-as (function none :behavior swamp-tetherrock) transform-post) + :post (the-as (function none :behavior swamp-tetherrock) transform-post) ) ;; definition for method 11 of type swamp-tetherrock @@ -1166,8 +1120,7 @@ ;; failed to figure out what this is: (defstate precursor-arm-die (precursor-arm) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (deactivate self) (loop @@ -1179,8 +1132,7 @@ ;; failed to figure out what this is: (defstate precursor-arm-sink (precursor-arm) - :code - (behavior () + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (the int (-> *SWAMP_BLIMP-bank* arm-sink-wait)) @@ -1205,8 +1157,7 @@ ) (none) ) - :post - (the-as (function none :behavior precursor-arm) transform-post) + :post (the-as (function none :behavior precursor-arm) transform-post) ) ;; definition for function precursor-arm-slip @@ -1230,16 +1181,14 @@ ;; failed to figure out what this is: (defstate precursor-arm-idle (precursor-arm) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('arm-sink-evt) (go precursor-arm-sink) ) ) ) - :trans - (behavior () + :trans (behavior () (when (>= (-> self rot-t) 1.0) (+! (-> self rot-base) (-> self rot-dist)) (set! (-> self rot-dist) (rand-vu-float-range -16384.0 16384.0)) @@ -1273,8 +1222,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (loop (set! (-> self tension) 1.5) (let* ((f26-0 (+ 225.0 (* 150.0 (sin (rand-vu-float-range 0.0 16384.0))))) @@ -1333,8 +1281,7 @@ ) (none) ) - :post - (the-as (function none :behavior precursor-arm) transform-post) + :post (the-as (function none :behavior precursor-arm) transform-post) ) ;; definition for method 11 of type precursor-arm @@ -1449,24 +1396,19 @@ ;; failed to figure out what this is: (defstate swamp-rope-break (swamp-rope) - :enter - (behavior () + :enter (behavior () (set! (-> self scale-base) (-> self root scale y)) (none) ) - :trans - (behavior () + :trans (behavior () (vector<-cspace! (-> self root trans) (-> self parent-override 0 node-list data (-> self parent-rp))) (none) ) - :code - (behavior () - (let* ((f30-0 18.204445) - (f28-0 9.102222) - (v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (set! (-> self rot-speed) (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-2))))) + :code (behavior () + (let ((f30-0 18.204445) + (f28-0 9.102222) + ) + (set! (-> self rot-speed) (+ f30-0 (* f28-0 (rand-float-gen)))) ) (let* ((f30-1 3000000.0) (v1-5 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) @@ -1492,8 +1434,7 @@ ) (none) ) - :post - (behavior () + :post (behavior () (set! (-> self other-pos quad) (-> self root trans quad)) (set! (-> self other-pos y) (+ -245760.0 (-> self other-pos y))) (swamp-rope-post) @@ -1546,10 +1487,8 @@ ;; failed to figure out what this is: (defstate swamp-rope-idle-rock (swamp-rope) - :trans - swamp-rope-trans - :code - (behavior () + :trans swamp-rope-trans + :code (behavior () (ja :group! swamp-blimp-idle-ja) (loop (let* ((f0-1 (* 2000.0 (- (-> self old-scale) (-> self root scale y)))) @@ -1574,16 +1513,13 @@ ) (none) ) - :post - swamp-rope-post + :post swamp-rope-post ) ;; failed to figure out what this is: (defstate swamp-rope-idle-arm (swamp-rope) - :trans - swamp-rope-trans - :code - (behavior () + :trans swamp-rope-trans + :code (behavior () (ja :group! swamp-blimp-idle-ja) (loop (let* ((a0-3 (-> self other-entity)) @@ -1602,8 +1538,7 @@ ) (none) ) - :post - swamp-rope-post + :post swamp-rope-post ) ;; definition for function swamp-rope-init-by-other @@ -1695,8 +1630,7 @@ ;; failed to figure out what this is: (defstate swamp-blimp-bye-bye (swamp-blimp) - :enter - (behavior () + :enter (behavior () (let ((gp-0 (entity-actor-lookup (-> self entity) 'alt-actor (-> *SWAMP_BLIMP-bank* arm-index)))) (when gp-0 (entity-birth-no-kill gp-0) @@ -1711,10 +1645,8 @@ 0 (none) ) - :trans - (the-as (function none :behavior swamp-blimp) blimp-trans) - :code - (behavior () + :trans (the-as (function none :behavior swamp-blimp) blimp-trans) + :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((gp-0 (new 'stack-no-clear 'quaternion))) (quaternion-copy! gp-0 (-> self rot-at-init)) @@ -1739,8 +1671,7 @@ ) (none) ) - :post - (the-as (function none :behavior swamp-blimp) transform-post) + :post (the-as (function none :behavior swamp-blimp) transform-post) ) ;; definition for function swamp-blimp-setup @@ -1830,8 +1761,7 @@ ;; failed to figure out what this is: (defstate swamp-blimp-idle (swamp-blimp) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'tetherrock-break-evt) (increment-success-for-hint (game-text-id swamp-tethers-advice-hint)) @@ -1840,10 +1770,8 @@ ) ) ) - :trans - (the-as (function none :behavior swamp-blimp) blimp-trans) - :code - (behavior () + :trans (the-as (function none :behavior swamp-blimp) blimp-trans) + :code (behavior () (ja :group! swamp-blimp-idle-ja) (loop (when (< 300 (-> self arm-timer)) @@ -1879,8 +1807,7 @@ ) (none) ) - :post - (the-as (function none :behavior swamp-blimp) transform-post) + :post (the-as (function none :behavior swamp-blimp) transform-post) ) ;; definition for method 11 of type swamp-blimp @@ -1931,20 +1858,11 @@ (let ((s5-2 (entity-actor-count (-> obj entity) 'alt-actor))) (dotimes (s4-1 s5-2) (let ((s3-1 (entity-actor-lookup (-> obj entity) 'alt-actor s4-1))) - (when s3-1 - (let ((s2-0 (get-process *default-dead-pool* swamp-rope #x4000))) + (if s3-1 (set! (-> obj the-ropes s4-1) - (ppointer->handle (when s2-0 - (let ((t9-19 (method-of-type swamp-rope activate))) - (t9-19 (the-as swamp-rope s2-0) obj 'swamp-rope (the-as pointer #x70004000)) - ) - (run-now-in-process s2-0 swamp-rope-init-by-other (-> obj trans-at-init) s3-1) - (-> s2-0 ppointer) - ) - ) + (ppointer->handle (process-spawn swamp-rope (-> obj trans-at-init) s3-1 :to obj)) ) ) - ) ) ) ) diff --git a/test/decompiler/reference/levels/village2/village2-obs_REF.gc b/test/decompiler/reference/levels/village2/village2-obs_REF.gc index f7e17bda53..3d68a258d1 100644 --- a/test/decompiler/reference/levels/village2/village2-obs_REF.gc +++ b/test/decompiler/reference/levels/village2/village2-obs_REF.gc @@ -47,8 +47,7 @@ ;; failed to figure out what this is: (defstate pov-camera-playing (village2cam) :virtual #t - :code - (behavior () + :code (behavior () (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) @@ -133,27 +132,23 @@ ;; failed to figure out what this is: (defstate pontoon-hidden (pontoon) - :enter - (behavior () + :enter (behavior () (logior! (-> self draw status) (draw-status hidden)) (clear-collide-with-as (-> self root-overlay)) (none) ) - :exit - (behavior () + :exit (behavior () (logclear! (-> self draw status) (draw-status hidden)) (restore-collide-with-as (-> self root-overlay)) (none) ) - :trans - (behavior () + :trans (behavior () (if (task-closed? (the-as game-task (-> self task)) (task-status need-resolution)) (go-virtual rigid-body-platform-idle) ) (none) ) - :code - (behavior () + :code (behavior () (loop (suspend) ) @@ -163,8 +158,7 @@ ;; failed to figure out what this is: (defstate pontoon-die (pontoon) - :code - (behavior () + :code (behavior () (cleanup-for-death self) (deactivate self) (none) @@ -174,8 +168,7 @@ ;; failed to figure out what this is: (defstate rigid-body-platform-float (pontoon) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (cond ((= v1-0 'die) @@ -194,8 +187,7 @@ ;; failed to figure out what this is: (defstate rigid-body-platform-idle (pontoon) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'die) (cleanup-for-death self) @@ -483,14 +475,12 @@ :id 563 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2841 :flags (is-3d) :period 900 :length 5) (sp-item 2842 :flags (is-3d) :period 900 :length 5)) + :parts ((sp-item 2841 :flags (is-3d) :period 900 :length 5) (sp-item 2842 :flags (is-3d) :period 900 :length 5)) ) ;; failed to figure out what this is: (defpart 2841 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters 0) (meters 9) 1.0) (sp-flt spt-y (meters 0.1)) @@ -516,14 +506,12 @@ ;; failed to figure out what this is: (defpart 2843 - :init-specs - ((sp-flt spt-fade-a -0.094814815)) + :init-specs ((sp-flt spt-fade-a -0.094814815)) ) ;; failed to figure out what this is: (defpart 2842 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters 8) (meters 8) 1.0) (sp-flt spt-y (meters 0.1)) @@ -578,8 +566,7 @@ ;; failed to figure out what this is: (defstate allpontoons-be-clone (allpontoons) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'end-mode) (cleanup-for-death self) @@ -588,19 +575,16 @@ ) ) ) - :enter - (behavior ((arg0 handle)) + :enter (behavior ((arg0 handle)) (logclear! (-> self draw status) (draw-status hidden)) (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (ja-aframe-num 0) 500.0) (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) @@ -611,8 +595,7 @@ ) (none) ) - :code - (behavior ((arg0 handle)) + :code (behavior ((arg0 handle)) (clone-anim arg0 3 #t "") (cleanup-for-death self) (deactivate self) @@ -622,21 +605,18 @@ ;; failed to figure out what this is: (defstate allpontoons-idle (allpontoons) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('clone) (go allpontoons-be-clone (the-as handle (-> arg3 param 0))) ) ) ) - :enter - (behavior () + :enter (behavior () (logior! (-> self draw status) (draw-status hidden)) (none) ) - :code - (behavior () + :code (behavior () (loop (when (and (nonzero? (-> self task)) (task-closed? (the-as game-task (-> self task)) (task-status need-resolution))) (cleanup-for-death self) @@ -760,8 +740,7 @@ ;; failed to figure out what this is: (defstate fireboulder-hover (fireboulder) - :enter - (behavior () + :enter (behavior () (fireboulder-disable-blocking-collision) (ja-channel-set! 1) (ja :group! (-> self draw art-group data 3)) @@ -778,19 +757,16 @@ (set! (-> self draw bounds w) 24576.0) (none) ) - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) (none) ) - :trans - (behavior () + :trans (behavior () (fireboulder-hover-stuff) (update! (-> self sound)) (none) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -805,35 +781,29 @@ ) (none) ) - :post - (the-as (function none :behavior fireboulder) transform-post) + :post (the-as (function none :behavior fireboulder) transform-post) ) ;; failed to figure out what this is: (defstate fireboulder-be-clone (fireboulder) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('stop-cloning) (go fireboulder-hover) ) ) ) - :enter - (behavior ((arg0 handle)) + :enter (behavior ((arg0 handle)) (logclear! (-> self mask) (process-mask actor-pause)) (none) ) - :exit - (behavior () + :exit (behavior () (logior! (-> self mask) (process-mask actor-pause)) (logclear! (-> self skel status) (janim-status spool)) (none) ) - :trans - (the-as (function none :behavior fireboulder) fireboulder-hover-stuff) - :code - (behavior ((arg0 handle)) + :trans (the-as (function none :behavior fireboulder) fireboulder-hover-stuff) + :code (behavior ((arg0 handle)) (clone-anim arg0 3 #t "") (format 0 "ERROR: fireboulder-be-clone ended~%") (cleanup-for-death self) @@ -844,16 +814,14 @@ ;; failed to figure out what this is: (defstate fireboulder-idle (fireboulder) - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('clone) (go fireboulder-be-clone (the-as handle (-> arg3 param 0))) ) ) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self tracker)))) (if a0-1 (deactivate a0-1) @@ -861,8 +829,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (transform-post) (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) @@ -876,28 +843,19 @@ ) ) (else - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self tracker) - (ppointer->handle - (when gp-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 271) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! (-> self tracker) (ppointer->handle (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 271) + -1 + #f + #f + #f + (-> self root-override trans) + :to *entity-pool* + ) + ) + ) ) ) (suspend) @@ -906,8 +864,7 @@ ) (none) ) - :post - (the-as (function none :behavior fireboulder) ja-post) + :post (the-as (function none :behavior fireboulder) ja-post) ) ;; definition for method 11 of type fireboulder @@ -1002,8 +959,7 @@ ;; failed to figure out what this is: (defstate ceilingflag-idle (ceilingflag) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -1013,8 +969,7 @@ ) (none) ) - :post - (the-as (function none :behavior ceilingflag) ja-post) + :post (the-as (function none :behavior ceilingflag) ja-post) ) ;; definition for method 11 of type ceilingflag @@ -1077,8 +1032,7 @@ ;; failed to figure out what this is: (defstate exit-chamber-dummy-wait-to-appear (exit-chamber-dummy) - :code - (behavior () + :code (behavior () (logior! (-> self draw status) (draw-status hidden)) (while (not (skip-reminder? self)) (suspend) @@ -1100,8 +1054,7 @@ ;; failed to figure out what this is: (defstate exit-chamber-dummy-idle (exit-chamber-dummy) - :code - (behavior () + :code (behavior () (logclear! (-> self draw status) (draw-status hidden)) (let ((gp-0 0)) (while (< gp-0 2) @@ -1134,8 +1087,7 @@ (go exit-chamber-dummy-wait-to-appear) (none) ) - :post - (the-as (function none :behavior exit-chamber-dummy) ja-post) + :post (the-as (function none :behavior exit-chamber-dummy) ja-post) ) ;; definition for method 11 of type exit-chamber-dummy @@ -1197,16 +1149,14 @@ :id 564 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 2319 :fade-after (meters 200) :falloff-to (meters 200)) + :parts ((sp-item 2319 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 2320 :fade-after (meters 200) :falloff-to (meters 200)) ) ) ;; failed to figure out what this is: (defpart 2320 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 2) 1.0) @@ -1234,8 +1184,7 @@ ;; failed to figure out what this is: (defpart 2319 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 2) 1.0) @@ -1266,14 +1215,12 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2287 :period 900 :length 40)) + :parts ((sp-item 2287 :period 900 :length 40)) ) ;; failed to figure out what this is: (defpart 2287 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 12.0) (sp-rnd-flt spt-y (meters 1) (meters 3) 1.0) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 1.0) @@ -1296,8 +1243,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 64) - :parts - ((sp-item 2288 :period 900 :length 20) + :parts ((sp-item 2288 :period 900 :length 20) (sp-item 2321 :flags (is-3d) :period 900 :length 10) (sp-item 2322 :flags (is-3d) :period 900 :length 10) ) @@ -1305,8 +1251,7 @@ ;; failed to figure out what this is: (defpart 2321 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters 0) (meters 9) 1.0) (sp-rnd-flt spt-scale-x (meters 16) (meters 8) 1.0) @@ -1331,14 +1276,12 @@ ;; failed to figure out what this is: (defpart 2323 - :init-specs - ((sp-flt spt-fade-a -0.094814815)) + :init-specs ((sp-flt spt-fade-a -0.094814815)) ) ;; failed to figure out what this is: (defpart 2322 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 8.0) (sp-rnd-flt spt-x (meters 8) (meters 8) 1.0) (sp-rnd-flt spt-scale-x (meters 4.5) (meters 3.5) 1.0) @@ -1363,8 +1306,7 @@ ;; failed to figure out what this is: (defpart 2288 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 16.0) (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0) (sp-rnd-flt spt-scale-x (meters 12) (meters 6) 1.0) @@ -1408,14 +1350,16 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) (sound-play-by-name (static-sound-name "boulder-splash") (new-sound-id) 1024 0 0 1 #t) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 552) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 552) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (send-event self 'trans-hook nothing) @@ -1434,14 +1378,16 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) (sound-play-by-name (static-sound-name "boulder-splash") (new-sound-id) 1024 0 0 1 #t) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 552) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 552) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (send-event self 'trans-hook nothing) @@ -1460,14 +1406,16 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) (sound-play-by-name (static-sound-name "v2ogre-boulder") (new-sound-id) 1024 0 0 1 #t) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 551) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 551) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (send-event self 'trans-hook boulder2-trans-2) @@ -1486,14 +1434,16 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) (sound-play-by-name (static-sound-name "boulder-splash") (new-sound-id) 1024 0 0 1 #t) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 552) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 552) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (send-event self 'trans-hook nothing) @@ -1512,14 +1462,16 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) (sound-play-by-name (static-sound-name "v2ogre-boulder") (new-sound-id) 1024 0 0 1 #t) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 551) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 551) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (send-event self 'trans-hook boulder3-trans-2) @@ -1538,14 +1490,16 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) (sound-play-by-name (static-sound-name "boulder-splash") (new-sound-id) 1024 0 0 1 #t) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 552) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 552) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (send-event self 'trans-hook nothing) @@ -1564,14 +1518,16 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) (sound-play-by-name (static-sound-name "v2ogre-boulder") (new-sound-id) 1024 0 0 1 #t) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 551) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 551) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (send-event self 'trans-hook boulder4-trans-3) @@ -1590,14 +1546,16 @@ (set! (-> gp-0 quad) (-> self draw origin quad)) (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) (sound-play-by-name (static-sound-name "v2ogre-boulder") (new-sound-id) 1024 0 0 1 #t) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 551) -1 #f #f #f gp-0) - (-> s5-1 ppointer) - ) + (process-spawn + part-tracker + :init part-tracker-init + (-> *part-group-id-table* 551) + -1 + #f + #f + #f + gp-0 + :to *entity-pool* ) ) (send-event self 'trans-hook boulder4-trans-2) @@ -1608,23 +1566,11 @@ ;; failed to figure out what this is: (defstate ogreboss-village2-throw (ogreboss-village2) - :trans - ogreboss-village2-trans - :code - (behavior () - (let ((gp-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self boulder) - (ppointer->handle - (when gp-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 (the-as manipy gp-0) self 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 manipy-init (-> self entity extra trans) (-> self entity) *fireboulder-sg* #f) - (-> gp-0 ppointer) - ) - ) - ) - ) + :trans ogreboss-village2-trans + :code (behavior () + (set! (-> self boulder) + (ppointer->handle (manipy-spawn (-> self entity extra trans) (-> self entity) *fireboulder-sg* #f :to self)) + ) (send-event (handle->process (-> self boulder)) 'anim-mode 'play1) (send-event (handle->process (-> self boulder)) 'art-joint-anim "fireboulder-pre-throw" 0) (send-event (handle->process (-> self boulder)) 'draw #t) @@ -1647,10 +1593,7 @@ (suspend) (ja :num! (seek!)) ) - (let* ((v1-72 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-73 (the-as number (logior #x3f800000 v1-72))) - (f0-9 (+ -1.0 (the-as float v1-73))) - ) + (let ((f0-9 (rand-float-gen))) (cond ((< 0.75 f0-9) (send-event (handle->process (-> self boulder)) 'art-joint-anim "fireboulder-boulder1" 0) @@ -1679,16 +1622,13 @@ (go ogreboss-village2-idle) (none) ) - :post - (the-as (function none :behavior ogreboss-village2) ja-post) + :post (the-as (function none :behavior ogreboss-village2) ja-post) ) ;; failed to figure out what this is: (defstate ogreboss-village2-idle (ogreboss-village2) - :trans - ogreboss-village2-trans - :code - (behavior () + :trans ogreboss-village2-trans + :code (behavior () (loop (ja-channel-push! 1 (seconds 0.1)) (let ((v1-0 (rand-vu-int-range 0 2))) @@ -1741,10 +1681,7 @@ ) ) ) - (let* ((v1-104 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-105 (the-as number (logior #x3f800000 v1-104))) - (f0-33 (+ -1.0 (the-as float v1-105))) - ) + (let ((f0-33 (rand-float-gen))) (cond ((< 0.6666667 f0-33) (ja-channel-push! 1 (seconds 0.2)) @@ -1762,8 +1699,7 @@ ) (none) ) - :post - (the-as (function none :behavior ogreboss-village2) ja-post) + :post (the-as (function none :behavior ogreboss-village2) ja-post) ) ;; definition for method 11 of type ogreboss-village2 @@ -1839,8 +1775,7 @@ :count 3 :converted #f :normal-scale 6.0 - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 7.0 :xdiv 1 :speed 6.0) (new 'static 'ripple-wave :scale 7.0 :xdiv -1 :zdiv 1 :speed 6.0) (new 'static 'ripple-wave :scale 3.0 :xdiv 5 :zdiv 3 :speed 3.0) diff --git a/test/decompiler/reference/levels/village2/village2-part2_REF.gc b/test/decompiler/reference/levels/village2/village2-part2_REF.gc index d50fb2c6e1..599a12aede 100644 --- a/test/decompiler/reference/levels/village2/village2-part2_REF.gc +++ b/test/decompiler/reference/levels/village2/village2-part2_REF.gc @@ -3,20 +3,17 @@ ;; failed to figure out what this is: (defpart 1208 - :init-specs - ((sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-a -0.10666667)) ) ;; failed to figure out what this is: (defpart 1209 - :init-specs - ((sp-flt spt-fade-a -0.16)) + :init-specs ((sp-flt spt-fade-a -0.16)) ) ;; failed to figure out what this is: (defpart 1210 - :init-specs - ((sp-flt spt-fade-a -2.6666667)) + :init-specs ((sp-flt spt-fade-a -2.6666667)) ) ;; failed to figure out what this is: @@ -24,8 +21,7 @@ :id 277 :flags (always-draw) :bounds (static-bspherem 0 22 0 35) - :parts - ((sp-item 1211) + :parts ((sp-item 1211) (sp-item 1211 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1211 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 1212 :fade-after (meters 100) :falloff-to (meters 100)) @@ -86,8 +82,7 @@ ;; failed to figure out what this is: (defpart 1211 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-flt spt-x (meters -7)) (sp-rnd-flt spt-y (meters 41.5) (meters 1.5) 1.0) @@ -115,8 +110,7 @@ ;; failed to figure out what this is: (defpart 1214 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-flt spt-x (meters -12)) (sp-rnd-flt spt-y (meters 42.5) (meters 1.5) 1.0) @@ -144,8 +138,7 @@ ;; failed to figure out what this is: (defpart 1217 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.5 0.8 1.0) (sp-rnd-flt spt-x (meters -2) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 24) (meters 1.5) 1.0) @@ -173,8 +166,7 @@ ;; failed to figure out what this is: (defpart 1220 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.5 0.8 1.0) (sp-rnd-flt spt-x (meters -4) (meters 8) 1.0) (sp-rnd-flt spt-y (meters 27.5) (meters 1.5) 1.0) @@ -200,8 +192,7 @@ ;; failed to figure out what this is: (defpart 1223 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-rnd-flt spt-x (meters -1) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 28.5) (meters 1.5) 1.0) @@ -227,8 +218,7 @@ ;; failed to figure out what this is: (defpart 1224 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 26) (meters 1.5) 1.0) @@ -256,8 +246,7 @@ ;; failed to figure out what this is: (defpart 1212 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -7)) (sp-rnd-flt spt-y (meters 41.5) (meters 1.5) 1.0) @@ -285,8 +274,7 @@ ;; failed to figure out what this is: (defpart 1215 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -12)) (sp-rnd-flt spt-y (meters 42.5) (meters 1.5) 1.0) @@ -314,8 +302,7 @@ ;; failed to figure out what this is: (defpart 1218 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -2) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 23.5) (meters 1.5) 1.0) @@ -343,8 +330,7 @@ ;; failed to figure out what this is: (defpart 1221 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters -4) (meters 10) 1.0) (sp-rnd-flt spt-y (meters 27.5) (meters 1.5) 1.0) @@ -371,8 +357,7 @@ ;; failed to figure out what this is: (defpart 1225 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 26) (meters 1.5) 1.0) @@ -400,8 +385,7 @@ ;; failed to figure out what this is: (defpart 1213 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.2 1.0) (sp-flt spt-x (meters -7)) (sp-rnd-flt spt-y (meters 41.5) (meters 1.5) 1.0) @@ -430,8 +414,7 @@ ;; failed to figure out what this is: (defpart 1216 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.2 1.0) (sp-flt spt-x (meters -12)) (sp-rnd-flt spt-y (meters 42.5) (meters 1.5) 1.0) @@ -460,8 +443,7 @@ ;; failed to figure out what this is: (defpart 1219 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.2 1.0) (sp-rnd-flt spt-x (meters -2) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 23.5) (meters 1.5) 1.0) @@ -490,8 +472,7 @@ ;; failed to figure out what this is: (defpart 1222 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-rnd-flt spt-x (meters -4) (meters 8) 1.0) (sp-rnd-flt spt-y (meters 27.5) (meters 1.5) 1.0) @@ -519,8 +500,7 @@ ;; failed to figure out what this is: (defpart 1227 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-rnd-flt spt-x (meters -1) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 28.5) (meters 1.5) 1.0) @@ -548,8 +528,7 @@ ;; failed to figure out what this is: (defpart 1226 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.2 1.0) (sp-rnd-flt spt-x (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 26) (meters 1.5) 1.0) @@ -578,8 +557,7 @@ ;; failed to figure out what this is: (defpart 1228 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-rnd-flt spt-num 0.05 0.05 1.0) (sp-rnd-flt spt-x (meters 2) (meters 7) 1.0) (sp-flt spt-y (meters 12.5)) @@ -608,8 +586,7 @@ ;; failed to figure out what this is: (defpart 1229 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-x (meters 3) (meters 5) 1.0) (sp-flt spt-y (meters 7)) @@ -633,8 +610,7 @@ ;; failed to figure out what this is: (defpart 1230 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-rnd-flt spt-num 0.035 0.03 1.0) (sp-rnd-flt spt-x (meters 3.5) (meters 5) 1.0) (sp-flt spt-y (meters 12.5)) @@ -663,8 +639,7 @@ ;; failed to figure out what this is: (defpart 1231 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.025) (sp-rnd-flt spt-x (meters 3) (meters 2) 1.0) (sp-flt spt-y (meters 8)) @@ -688,8 +663,7 @@ ;; failed to figure out what this is: (defpart 1232 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-rnd-flt spt-num 0.035 0.03 1.0) (sp-rnd-flt spt-x (meters -7.5) (meters 5) 1.0) (sp-flt spt-y (meters 12.5)) @@ -718,8 +692,7 @@ ;; failed to figure out what this is: (defpart 1233 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.025) (sp-rnd-flt spt-x (meters -6.5) (meters 3) 1.0) (sp-flt spt-y (meters 8)) @@ -743,8 +716,7 @@ ;; failed to figure out what this is: (defpart 1234 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-flt spt-x (meters -6)) (sp-rnd-flt spt-y (meters 43) (meters 0.5) 1.0) @@ -772,8 +744,7 @@ ;; failed to figure out what this is: (defpart 1235 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.03 1.0 1.0) (sp-flt spt-x (meters -6)) (sp-rnd-flt spt-y (meters 43) (meters 0.5) 1.0) @@ -801,8 +772,7 @@ ;; failed to figure out what this is: (defpart 1236 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.3) (sp-flt spt-x (meters -6)) (sp-rnd-flt spt-y (meters 43) (meters 0.5) 1.0) @@ -830,8 +800,7 @@ ;; failed to figure out what this is: (defpart 1237 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.7) (sp-flt spt-x (meters -6)) (sp-rnd-flt spt-y (meters 43) (meters 0.5) 1.0) @@ -859,8 +828,7 @@ ;; failed to figure out what this is: (defpart 1238 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.1 1.0) (sp-flt spt-x (meters -6)) (sp-rnd-flt spt-y (meters 42.5) (meters 0.5) 1.0) @@ -890,8 +858,7 @@ ;; failed to figure out what this is: (defpart 1239 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.06 1.0) (sp-flt spt-x (meters -6)) (sp-rnd-flt spt-y (meters 42.5) (meters 0.5) 1.0) @@ -920,8 +887,7 @@ ;; failed to figure out what this is: (defpart 1240 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-flt spt-x (meters 0)) (sp-rnd-flt spt-y (meters 28) (meters 1.5) 1.0) @@ -951,8 +917,7 @@ ;; failed to figure out what this is: (defpart 1241 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-rnd-flt spt-y (meters 28) (meters 1.5) 1.0) @@ -981,8 +946,7 @@ ;; failed to figure out what this is: (defpart 1242 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.3 1.0) (sp-flt spt-x (meters 0)) (sp-rnd-flt spt-y (meters 28) (meters 1.5) 1.0) @@ -1016,8 +980,7 @@ :id 278 :flags (always-draw) :bounds (static-bspherem 0 22 0 35) - :parts - ((sp-item 1243) + :parts ((sp-item 1243) (sp-item 1243 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 1243 :fade-after (meters 240) :falloff-to (meters 240)) (sp-item 1244 :fade-after (meters 80) :falloff-to (meters 80)) @@ -1031,8 +994,7 @@ ;; failed to figure out what this is: (defpart 1243 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-rnd-flt spt-x (meters -8) (meters 4) 1.0) (sp-flt spt-y (meters 49.5)) @@ -1061,8 +1023,7 @@ ;; failed to figure out what this is: (defpart 1244 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -8) (meters 4) 1.0) (sp-flt spt-y (meters 49.5)) @@ -1090,8 +1051,7 @@ ;; failed to figure out what this is: (defpart 1245 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-rnd-flt spt-x (meters -7) (meters 3.5) 1.0) (sp-flt spt-y (meters 49.5)) @@ -1121,8 +1081,7 @@ ;; failed to figure out what this is: (defpart 1246 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters 3) (meters 6) 1.0) (sp-flt spt-y (meters 6)) @@ -1151,8 +1110,7 @@ ;; failed to figure out what this is: (defpart 1247 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-x (meters 5) (meters 10) 1.0) (sp-flt spt-y (meters 2.5)) @@ -1179,8 +1137,7 @@ :id 279 :flags (always-draw) :bounds (static-bspherem 0 22 0 35) - :parts - ((sp-item 2324)) + :parts ((sp-item 2324)) ) ;; failed to figure out what this is: @@ -1188,8 +1145,7 @@ :id 280 :flags (always-draw) :bounds (static-bspherem 0 22 0 35) - :parts - ((sp-item 1253) + :parts ((sp-item 1253) (sp-item 1253 :fade-after (meters 160) :falloff-to (meters 160)) (sp-item 1253 :fade-after (meters 240) :falloff-to (meters 240)) (sp-item 1254 :fade-after (meters 80) :falloff-to (meters 80)) @@ -1213,8 +1169,7 @@ ;; failed to figure out what this is: (defpart 1253 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.266 0.333 1.0) (sp-rnd-flt spt-x (meters -12) (meters 1) 1.0) (sp-flt spt-y (meters 50.5)) @@ -1242,8 +1197,7 @@ ;; failed to figure out what this is: (defpart 1264 - :init-specs - ((sp-rnd-flt spt-scale-y (meters 1) (meters 1) 1.0) + :init-specs ((sp-rnd-flt spt-scale-y (meters 1) (meters 1) 1.0) (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.013333334) 1.0) (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.013333334) 1.0) (sp-rnd-flt spt-vel-z (meters 0.04) (meters 0.013333334) 1.0) @@ -1256,8 +1210,7 @@ ;; failed to figure out what this is: (defpart 1254 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -12) (meters 1) 1.0) (sp-flt spt-y (meters 50.5)) @@ -1287,8 +1240,7 @@ ;; failed to figure out what this is: (defpart 1265 - :init-specs - ((sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + :init-specs ((sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.013333334) 1.0) (sp-rnd-flt spt-vel-y (meters 0) (meters 0.013333334) 1.0) @@ -1299,8 +1251,7 @@ ;; failed to figure out what this is: (defpart 1255 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.2 1.0) (sp-rnd-flt spt-x (meters -12) (meters 1) 1.0) (sp-flt spt-y (meters 50.5)) @@ -1329,8 +1280,7 @@ ;; failed to figure out what this is: (defpart 1266 - :init-specs - ((sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.013333334) 1.0) + :init-specs ((sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.013333334) 1.0) (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.013333334) 1.0) (sp-rnd-flt spt-vel-z (meters 0.04) (meters 0.006666667) 1.0) (sp-flt spt-scalevel-x (meters 0.009765625)) @@ -1344,8 +1294,7 @@ ;; failed to figure out what this is: (defpart 1256 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -3) (meters 12) 1.0) (sp-flt spt-y (meters 6)) @@ -1374,8 +1323,7 @@ ;; failed to figure out what this is: (defpart 1257 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-x (meters -3) (meters 12) 1.0) (sp-flt spt-y (meters 2.5)) @@ -1399,8 +1347,7 @@ ;; failed to figure out what this is: (defpart 1258 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.033 1.2 1.0) (sp-rnd-flt spt-x (meters -12) (meters 1) 1.0) (sp-flt spt-y (meters 50.5)) @@ -1428,8 +1375,7 @@ ;; failed to figure out what this is: (defpart 1259 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -12) (meters 1) 1.0) (sp-flt spt-y (meters 50.5)) @@ -1457,8 +1403,7 @@ ;; failed to figure out what this is: (defpart 1260 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.2 1.0) (sp-rnd-flt spt-x (meters -12) (meters 1) 1.0) (sp-flt spt-y (meters 50.5)) @@ -1487,8 +1432,7 @@ ;; failed to figure out what this is: (defpart 1261 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.33 1.2 1.0) (sp-rnd-flt spt-x (meters -2) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 23.5) (meters 6) 1.0) @@ -1516,8 +1460,7 @@ ;; failed to figure out what this is: (defpart 1262 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -2) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 25.5) (meters 4) 1.0) @@ -1545,8 +1488,7 @@ ;; failed to figure out what this is: (defpart 1263 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.5 1.0) (sp-rnd-flt spt-x (meters -2) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 22.5) (meters 7) 1.0) @@ -1578,8 +1520,7 @@ :id 281 :flags (always-draw) :bounds (static-bspherem 0 22 0 35) - :parts - ((sp-item 1267) + :parts ((sp-item 1267) (sp-item 1267 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1267 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 1268) @@ -1603,8 +1544,7 @@ ;; failed to figure out what this is: (defpart 1267 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.4 1.0 1.0) (sp-flt spt-x (meters -7.5)) (sp-rnd-flt spt-y (meters 48) (meters 0.5) 1.0) @@ -1632,8 +1572,7 @@ ;; failed to figure out what this is: (defpart 1268 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.03 1.0 1.0) (sp-flt spt-x (meters -7.5)) (sp-rnd-flt spt-y (meters 48) (meters 0.5) 1.0) @@ -1661,8 +1600,7 @@ ;; failed to figure out what this is: (defpart 1269 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.3) (sp-flt spt-x (meters -7.5)) (sp-rnd-flt spt-y (meters 48) (meters 0.5) 1.0) @@ -1690,8 +1628,7 @@ ;; failed to figure out what this is: (defpart 1270 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.7) (sp-flt spt-x (meters -7.5)) (sp-rnd-flt spt-y (meters 48) (meters 0.5) 1.0) @@ -1719,8 +1656,7 @@ ;; failed to figure out what this is: (defpart 1271 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.1 1.0) (sp-flt spt-x (meters -7)) (sp-rnd-flt spt-y (meters 47.5) (meters 0.5) 1.0) @@ -1750,8 +1686,7 @@ ;; failed to figure out what this is: (defpart 1272 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 0.06 1.0) (sp-flt spt-x (meters -7)) (sp-rnd-flt spt-y (meters 47.5) (meters 0.5) 1.0) @@ -1780,8 +1715,7 @@ ;; failed to figure out what this is: (defpart 1273 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-flt spt-x (meters -1.5)) (sp-rnd-flt spt-y (meters 33) (meters 1.5) 1.0) @@ -1811,8 +1745,7 @@ ;; failed to figure out what this is: (defpart 1274 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -1.5)) (sp-rnd-flt spt-y (meters 33) (meters 1.5) 1.0) @@ -1841,8 +1774,7 @@ ;; failed to figure out what this is: (defpart 1275 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-flt spt-x (meters -1.5)) (sp-rnd-flt spt-y (meters 33) (meters 1.5) 1.0) @@ -1873,8 +1805,7 @@ ;; failed to figure out what this is: (defpart 1276 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters 2.5) (meters 12) 1.0) (sp-flt spt-y (meters 7)) @@ -1903,8 +1834,7 @@ ;; failed to figure out what this is: (defpart 1277 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.05) (sp-rnd-flt spt-x (meters 3.5) (meters 10) 1.0) (sp-flt spt-y (meters 2.5)) @@ -1931,8 +1861,7 @@ :id 282 :flags (always-draw) :bounds (static-bspherem -15 17 -10 40) - :parts - ((sp-item 1278) + :parts ((sp-item 1278) (sp-item 1278 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1278 :fade-after (meters 200) :falloff-to (meters 200)) (sp-item 1279 :fade-after (meters 80) :falloff-to (meters 80)) @@ -1995,8 +1924,7 @@ ;; failed to figure out what this is: (defpart 1278 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-rnd-flt spt-x (meters -15) (meters 4) 1.0) (sp-flt spt-y (meters 43.5)) @@ -2025,8 +1953,7 @@ ;; failed to figure out what this is: (defpart 1281 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.15 0.075 1.0) (sp-rnd-flt spt-x (meters -18) (meters 4) 1.0) (sp-flt spt-y (meters 42.5)) @@ -2055,8 +1982,7 @@ ;; failed to figure out what this is: (defpart 1284 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.15 0.075 1.0) (sp-rnd-flt spt-x (meters -20) (meters 4) 1.0) (sp-flt spt-y (meters 43.5)) @@ -2085,8 +2011,7 @@ ;; failed to figure out what this is: (defpart 1279 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters -15) (meters 4) 1.0) (sp-flt spt-y (meters 43.5)) @@ -2114,8 +2039,7 @@ ;; failed to figure out what this is: (defpart 1282 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.375) (sp-rnd-flt spt-x (meters -18) (meters 4) 1.0) (sp-flt spt-y (meters 43.5)) @@ -2143,8 +2067,7 @@ ;; failed to figure out what this is: (defpart 1285 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.375) (sp-rnd-flt spt-x (meters -20) (meters 4) 1.0) (sp-flt spt-y (meters 43.5)) @@ -2172,8 +2095,7 @@ ;; failed to figure out what this is: (defpart 1280 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.375 0.3 1.0) (sp-rnd-flt spt-x (meters -15) (meters 4) 1.0) (sp-flt spt-y (meters 43.5)) @@ -2203,8 +2125,7 @@ ;; failed to figure out what this is: (defpart 1283 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.225 0.15 1.0) (sp-rnd-flt spt-x (meters -18) (meters 4) 1.0) (sp-flt spt-y (meters 43.5)) @@ -2234,8 +2155,7 @@ ;; failed to figure out what this is: (defpart 1286 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.225 0.15 1.0) (sp-rnd-flt spt-x (meters -20) (meters 4) 1.0) (sp-flt spt-y (meters 43.5)) @@ -2265,8 +2185,7 @@ ;; failed to figure out what this is: (defpart 1287 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.3 0.6 1.0) (sp-rnd-flt spt-x (meters 26) (meters 4) 1.0) (sp-flt spt-y (meters 4.5)) @@ -2295,8 +2214,7 @@ ;; failed to figure out what this is: (defpart 1290 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.15 0.3 1.0) (sp-rnd-flt spt-x (meters 33) (meters 4) 1.0) (sp-flt spt-y (meters -1)) @@ -2325,8 +2243,7 @@ ;; failed to figure out what this is: (defpart 1288 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters 26) (meters 4) 1.0) (sp-flt spt-y (meters 4.5)) @@ -2354,8 +2271,7 @@ ;; failed to figure out what this is: (defpart 1291 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters 33) (meters 4) 1.0) (sp-flt spt-y (meters -1)) @@ -2383,8 +2299,7 @@ ;; failed to figure out what this is: (defpart 1289 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.375 0.3 1.0) (sp-rnd-flt spt-x (meters 26) (meters 4) 1.0) (sp-flt spt-y (meters 4.5)) @@ -2414,8 +2329,7 @@ ;; failed to figure out what this is: (defpart 1292 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.375 0.3 1.0) (sp-rnd-flt spt-x (meters 33) (meters 4) 1.0) (sp-flt spt-y (meters -1)) @@ -2445,8 +2359,7 @@ ;; failed to figure out what this is: (defpart 1293 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.3 0.6 1.0) (sp-rnd-flt spt-x (meters 24) (meters 4) 1.0) (sp-flt spt-y (meters 4.5)) @@ -2475,8 +2388,7 @@ ;; failed to figure out what this is: (defpart 1294 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters 24) (meters 4) 1.0) (sp-flt spt-y (meters 4.5)) @@ -2504,8 +2416,7 @@ ;; failed to figure out what this is: (defpart 1295 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.375 0.3 1.0) (sp-rnd-flt spt-x (meters 24) (meters 4) 1.0) (sp-flt spt-y (meters 4.5)) @@ -2535,8 +2446,7 @@ ;; failed to figure out what this is: (defpart 1296 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.45 0.75 1.0) (sp-rnd-flt spt-x (meters 38) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 1.5) 1.0) @@ -2565,8 +2475,7 @@ ;; failed to figure out what this is: (defpart 1297 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.75) (sp-rnd-flt spt-x (meters 38) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 1.5) 1.0) @@ -2594,8 +2503,7 @@ ;; failed to figure out what this is: (defpart 1300 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 0.325) (sp-rnd-flt spt-x (meters 45) (meters 4) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0) @@ -2623,8 +2531,7 @@ ;; failed to figure out what this is: (defpart 1298 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.375 0.3 1.0) (sp-rnd-flt spt-x (meters 38) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 1.5) 1.0) @@ -2654,8 +2561,7 @@ ;; failed to figure out what this is: (defpart 1301 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.15 0.225 1.0) (sp-rnd-flt spt-x (meters 45) (meters 4) 1.0) (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0) @@ -2683,8 +2589,7 @@ ;; failed to figure out what this is: (defpart 1302 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.15 0.45 1.0) (sp-flt spt-x (meters -30)) (sp-rnd-flt spt-y (meters 3.5) (meters 2) 1.0) @@ -2713,8 +2618,7 @@ ;; failed to figure out what this is: (defpart 1303 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.15 0.4 1.0) (sp-flt spt-x (meters -24)) (sp-rnd-flt spt-y (meters 3.5) (meters 2) 1.0) @@ -2743,8 +2647,7 @@ ;; failed to figure out what this is: (defpart 1304 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) (sp-rnd-flt spt-num 0.15 0.4 1.0) (sp-flt spt-x (meters -26)) (sp-rnd-flt spt-y (meters 3.5) (meters 2) 1.0) @@ -2773,8 +2676,7 @@ ;; failed to figure out what this is: (defpart 1305 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-rnd-flt spt-num 0.0375 0.0375 1.0) (sp-rnd-flt spt-x (meters -9) (meters 4) 1.0) (sp-flt spt-y (meters -2)) @@ -2803,8 +2705,7 @@ ;; failed to figure out what this is: (defpart 1307 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-rnd-flt spt-num 0.075 0.015 1.0) (sp-rnd-flt spt-x (meters -45) (meters 12) 1.0) (sp-flt spt-y (meters -2)) @@ -2833,8 +2734,7 @@ ;; failed to figure out what this is: (defpart 1309 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) (sp-rnd-flt spt-num 0.075 0.015 1.0) (sp-rnd-flt spt-x (meters -49) (meters 6) 1.0) (sp-flt spt-y (meters -2)) @@ -2863,8 +2763,7 @@ ;; failed to figure out what this is: (defpart 1306 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.00625) (sp-rnd-flt spt-x (meters -9) (meters 4) 1.0) (sp-flt spt-y (meters -6)) @@ -2888,8 +2787,7 @@ ;; failed to figure out what this is: (defpart 1308 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.0375) (sp-rnd-flt spt-x (meters -44) (meters 10) 1.0) (sp-flt spt-y (meters -6)) @@ -2913,8 +2811,7 @@ ;; failed to figure out what this is: (defpart 1310 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) (sp-flt spt-num 0.00625) (sp-rnd-flt spt-x (meters -45) (meters 4) 1.0) (sp-flt spt-y (meters -6)) @@ -2940,8 +2837,7 @@ (defpartgroup group-village2-sagehut-warpgate :id 283 :bounds (static-bspherem 7 4 -4.5 12) - :parts - ((sp-item 1313 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1313 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1314 :fade-after (meters 60) :falloff-to (meters 100) :binding 1311) (sp-item 1311 :flags (bit1 start-dead launch-asap)) (sp-item 1311 :flags (bit1 start-dead launch-asap)) @@ -3121,8 +3017,7 @@ ;; failed to figure out what this is: (defpart 1315 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-x (meters -2)) (sp-flt spt-scale-x (meters 0.25)) @@ -3138,8 +3033,7 @@ ;; failed to figure out what this is: (defpart 1312 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 1.0 0.2 1.0) (sp-flt spt-x (meters 4.4444447)) (sp-flt spt-y (meters 4)) @@ -3163,8 +3057,7 @@ ;; failed to figure out what this is: (defpart 1313 - :init-specs - ((sp-rnd-flt spt-num 3.0 3.0 1.0) + :init-specs ((sp-rnd-flt spt-num 3.0 3.0 1.0) (sp-flt spt-x (meters -0.5)) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) @@ -3182,8 +3075,7 @@ ;; failed to figure out what this is: (defpart 1314 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.2 1.0 1.0) (sp-flt spt-scale-x (meters 0.25)) (sp-copy-from-other spt-scale-y -4) @@ -3197,8 +3089,7 @@ ;; failed to figure out what this is: (defpart 1311 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.4 1.0) (sp-flt spt-x (meters 4.4444447)) (sp-flt spt-y (meters 4)) @@ -3225,8 +3116,7 @@ (defpartgroup group-village2-tree-fire :id 284 :bounds (static-bspherem 0 10 0 12) - :parts - ((sp-item 1316 :fade-after (meters 120) :falloff-to (meters 120)) + :parts ((sp-item 1316 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1317 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1318 :fade-after (meters 120) :falloff-to (meters 120)) (sp-item 1319 :fade-after (meters 120) :falloff-to (meters 120)) @@ -3235,8 +3125,7 @@ ;; failed to figure out what this is: (defpart 1316 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-x (meters 2.2) (meters 0.5) 1.0) (sp-flt spt-y (meters -0.9)) @@ -3267,14 +3156,12 @@ ;; failed to figure out what this is: (defpart 1320 - :init-specs - ((sp-flt spt-fade-a -0.53333336)) + :init-specs ((sp-flt spt-fade-a -0.53333336)) ) ;; failed to figure out what this is: (defpart 1317 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.1 1.0 1.0) (sp-rnd-flt spt-x (meters -0.6) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.2) (meters 0.5) 1.0) @@ -3304,8 +3191,7 @@ ;; failed to figure out what this is: (defpart 1318 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.2 1.0) (sp-rnd-flt spt-x (meters -0.6) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.2) (meters 0.5) 1.0) @@ -3337,8 +3223,7 @@ ;; failed to figure out what this is: (defpart 1319 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.2 1.0) (sp-rnd-flt spt-x (meters -0.6) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters -0.2) (meters 0.5) 1.0) diff --git a/test/decompiler/reference/levels/village2/village2-part_REF.gc b/test/decompiler/reference/levels/village2/village2-part_REF.gc index c913480376..1de4c20c68 100644 --- a/test/decompiler/reference/levels/village2/village2-part_REF.gc +++ b/test/decompiler/reference/levels/village2/village2-part_REF.gc @@ -22,8 +22,7 @@ (defpartgroup group-village2-moth :id 264 :bounds (static-bspherem 0 0 0 3) - :parts - ((sp-item 1129 :fade-after (meters 120) :flags (bit1) :period 18030 :length 5 :binding 1127) + :parts ((sp-item 1129 :fade-after (meters 120) :flags (bit1) :period 18030 :length 5 :binding 1127) (sp-item 1127 :flags (start-dead launch-asap) :binding 1128) (sp-item 1128 :flags (is-3d start-dead)) ) @@ -31,8 +30,7 @@ ;; failed to figure out what this is: (defpart 1129 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 0.1)) (sp-copy-from-other spt-scale-y -4) @@ -46,8 +44,7 @@ ;; failed to figure out what this is: (defpart 1127 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-flt spt-z (meters 1.5)) @@ -71,8 +68,7 @@ ;; failed to figure out what this is: (defpart 1130 - :init-specs - ((sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) + :init-specs ((sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) (sp-rnd-flt spt-vel-y (meters -0.0148148155) (meters 0.029629631) 1.0) (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) (sp-int-plain-rnd spt-next-time 150 449 1) @@ -82,8 +78,7 @@ ;; failed to figure out what this is: (defpart 1128 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 2.0) (sp-flt spt-scale-x (meters 0.4)) @@ -102,8 +97,7 @@ (defpartgroup group-village2-tableflys :id 265 :bounds (static-bspherem 0 3 0 10) - :parts - ((sp-item 1133 :flags (launch-asap) :binding 1131) + :parts ((sp-item 1133 :flags (launch-asap) :binding 1131) (sp-item 1134 :flags (launch-asap) :binding 1131) (sp-item 1135 :flags (launch-asap) :binding 1131) (sp-item 1131 :flags (start-dead launch-asap) :binding 1132) @@ -117,8 +111,7 @@ ;; failed to figure out what this is: (defpart 1133 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 0)) (sp-flt spt-y (meters 2)) @@ -135,14 +128,12 @@ ;; failed to figure out what this is: (defpart 1136 - :init-specs - ((sp-int spt-timer 300) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 1136)) + :init-specs ((sp-int spt-timer 300) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 1136)) ) ;; failed to figure out what this is: (defpart 1134 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters 4)) (sp-flt spt-y (meters 2)) @@ -159,8 +150,7 @@ ;; failed to figure out what this is: (defpart 1135 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -4)) (sp-flt spt-y (meters 2)) @@ -177,8 +167,7 @@ ;; failed to figure out what this is: (defpart 1131 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-int spt-num 1065353216 1 2.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-z (meters 1) (meters 1) 1.0) @@ -198,8 +187,7 @@ ;; failed to figure out what this is: (defpart 1132 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) (sp-func spt-birth-func 'birth-func-copy-rot-color) (sp-flt spt-num 3.0) (sp-flt spt-scale-x (meters 0.15)) @@ -218,8 +206,7 @@ (defpartgroup group-village2-flamepot :id 266 :bounds (static-bspherem 0 5 0 6) - :parts - ((sp-item 1137 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1137 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1138 :fade-after (meters 40) :falloff-to (meters 40) :period 492 :length 60) (sp-item 1139 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1140 :fade-after (meters 40) :falloff-to (meters 40) :period 369 :length 219) @@ -234,8 +221,7 @@ (defpartgroup group-village2-flamepot-half :id 267 :bounds (static-bspherem 0 5 0 6) - :parts - ((sp-item 1145 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1145 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1146 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1147 :fade-after (meters 50) :falloff-to (meters 60)) ) @@ -245,8 +231,7 @@ (defpartgroup group-village2-flamepot-alt1 :id 268 :bounds (static-bspherem 0 5 0 6) - :parts - ((sp-item 1137 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1137 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1138 :fade-after (meters 40) :falloff-to (meters 40) :period 378 :length 60) (sp-item 1139 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1140 :fade-after (meters 40) :falloff-to (meters 40) :period 435 :length 219) @@ -261,8 +246,7 @@ (defpartgroup group-village2-flamepot-alt2 :id 269 :bounds (static-bspherem 0 5 0 6) - :parts - ((sp-item 1137 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1137 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1138 :fade-after (meters 40) :falloff-to (meters 40) :period 609 :length 60) (sp-item 1139 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1140 :fade-after (meters 40) :falloff-to (meters 40) :period 288 :length 219) @@ -277,14 +261,12 @@ (defpartgroup group-village2-flamepot-off :id 270 :bounds (static-bspherem 0 5 0 6) - :parts - ((sp-item 1148 :fade-after (meters 100) :falloff-to (meters 100))) + :parts ((sp-item 1148 :fade-after (meters 100) :falloff-to (meters 100))) ) ;; failed to figure out what this is: (defpart 1144 - :init-specs - ((sp-flt spt-num 0.4) + :init-specs ((sp-flt spt-num 0.4) (sp-flt spt-x (meters 1)) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) @@ -302,14 +284,12 @@ ;; failed to figure out what this is: (defpart 1149 - :init-specs - ((sp-flt spt-fade-b -5.4613333)) + :init-specs ((sp-flt spt-fade-b -5.4613333)) ) ;; failed to figure out what this is: (defpart 1147 - :init-specs - ((sp-flt spt-num 0.15) + :init-specs ((sp-flt spt-num 0.15) (sp-flt spt-x (meters 0.4)) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) @@ -326,14 +306,12 @@ ;; failed to figure out what this is: (defpart 1150 - :init-specs - ((sp-flt spt-fade-b -3.4133334)) + :init-specs ((sp-flt spt-fade-b -3.4133334)) ) ;; failed to figure out what this is: (defpart 1137 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.5 0.4 1.0) (sp-rnd-flt spt-x (meters -0.25) (meters 0.75) 1.0) (sp-flt spt-y (meters -0.25)) @@ -361,8 +339,7 @@ ;; failed to figure out what this is: (defpart 1145 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.35 0.25 1.0) (sp-rnd-flt spt-x (meters -0.1) (meters 0.1) 1.0) (sp-flt spt-y (meters -0.25)) @@ -390,8 +367,7 @@ ;; failed to figure out what this is: (defpart 1138 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1060320051 1 1.0) (sp-rnd-flt spt-x (meters 0) (meters 0.5) 1.0) (sp-flt spt-y (meters -0.25)) @@ -419,8 +395,7 @@ ;; failed to figure out what this is: (defpart 1139 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.15 0.2 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters -0.25)) @@ -450,8 +425,7 @@ ;; failed to figure out what this is: (defpart 1146 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.06 0.06 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters -0.25)) @@ -481,8 +455,7 @@ ;; failed to figure out what this is: (defpart 1148 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.08 0.1 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-flt spt-y (meters -0.25)) @@ -512,8 +485,7 @@ ;; failed to figure out what this is: (defpart 1151 - :init-specs - ((sp-flt spt-fade-g 0.53333336) + :init-specs ((sp-flt spt-fade-g 0.53333336) (sp-flt spt-fade-b 1.0666667) (sp-int spt-next-time 120) (sp-launcher-by-id spt-next-launcher 1152) @@ -522,14 +494,12 @@ ;; failed to figure out what this is: (defpart 1152 - :init-specs - ((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: (defpart 1140 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.4 0.55 1.0) (sp-rnd-flt spt-x (meters -0.6) (meters 1.2) 1.0) (sp-flt spt-y (meters -0.25)) @@ -557,8 +527,7 @@ ;; failed to figure out what this is: (defpart 1141 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1031127695 1 0.9) (sp-rnd-flt spt-x (meters -0.6) (meters 0.5) 1.0) (sp-flt spt-y (meters 0.75)) @@ -586,8 +555,7 @@ ;; failed to figure out what this is: (defpart 1142 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.6 0.9 1.0) (sp-rnd-flt spt-x (meters -0.6) (meters 1.2) 1.0) (sp-flt spt-y (meters -0.25)) @@ -615,8 +583,7 @@ ;; failed to figure out what this is: (defpart 1143 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1060320051 1 1.5) (sp-rnd-flt spt-x (meters -0.25) (meters 0.75) 1.0) (sp-flt spt-y (meters 0.75)) @@ -646,8 +613,7 @@ (defpartgroup group-village2-fireboulder-off :id 634 :bounds (static-bspherem 0 4 0 10.5) - :parts - ((sp-item 1169 :fade-after (meters 80) :falloff-to (meters 100)) + :parts ((sp-item 1169 :fade-after (meters 80) :falloff-to (meters 100)) (sp-item 1170 :fade-after (meters 80) :falloff-to (meters 100)) ) ) @@ -657,8 +623,7 @@ :id 271 :duration 18000 :bounds (static-bspherem 0 4 0 10.5) - :parts - ((sp-item 1153 :fade-after (meters 200) :falloff-to (meters 240)) + :parts ((sp-item 1153 :fade-after (meters 200) :falloff-to (meters 240)) (sp-item 1154 :fade-after (meters 100) :falloff-to (meters 120) :period 300 :length 60) (sp-item 1155 :fade-after (meters 80) :falloff-to (meters 100)) (sp-item 1156 :fade-after (meters 50) :falloff-to (meters 50)) @@ -681,8 +646,7 @@ ;; failed to figure out what this is: (defpart 1156 - :init-specs - ((sp-flt spt-num 0.15) + :init-specs ((sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters 1.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 6) (meters 1) 1.0) (sp-rnd-flt spt-z (meters 0.5) (meters 2.5) 1.0) @@ -702,14 +666,12 @@ ;; failed to figure out what this is: (defpart 1171 - :init-specs - ((sp-flt spt-fade-b 13.653334)) + :init-specs ((sp-flt spt-fade-b 13.653334)) ) ;; failed to figure out what this is: (defpart 1160 - :init-specs - ((sp-flt spt-num 0.15) + :init-specs ((sp-flt spt-num 0.15) (sp-rnd-flt spt-x (meters -3.5) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters 5.5) (meters 1) 1.0) (sp-rnd-flt spt-z (meters -1) (meters 1) 1.0) @@ -729,8 +691,7 @@ ;; failed to figure out what this is: (defpart 1164 - :init-specs - ((sp-flt spt-num 0.15) + :init-specs ((sp-flt spt-num 0.15) (sp-flt spt-x (meters 2.7)) (sp-rnd-flt spt-y (meters 4) (meters 1) 1.0) (sp-rnd-flt spt-z (meters -3) (meters 2) 1.0) @@ -750,8 +711,7 @@ ;; failed to figure out what this is: (defpart 1153 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.7 1.2 1.0) (sp-rnd-flt spt-x (meters 1.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 5) (meters 1) 1.0) @@ -778,8 +738,7 @@ ;; failed to figure out what this is: (defpart 1154 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1058642330 1 1.7) (sp-rnd-flt spt-x (meters 1.5) (meters 0.7) 1.0) (sp-rnd-flt spt-y (meters 6) (meters 0.6) 1.0) @@ -806,8 +765,7 @@ ;; failed to figure out what this is: (defpart 1155 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.05 0.2 1.0) (sp-rnd-flt spt-x (meters 1.5) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 6) (meters 1) 1.0) @@ -837,8 +795,7 @@ ;; failed to figure out what this is: (defpart 1172 - :init-specs - ((sp-flt spt-fade-g 0.53333336) + :init-specs ((sp-flt spt-fade-g 0.53333336) (sp-flt spt-fade-b 1.0666667) (sp-int spt-next-time 120) (sp-launcher-by-id spt-next-launcher 1173) @@ -847,14 +804,12 @@ ;; failed to figure out what this is: (defpart 1173 - :init-specs - ((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: (defpart 1157 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.65 1.2 1.0) (sp-rnd-flt spt-x (meters -3.5) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters 4.5) (meters 1) 1.0) @@ -882,8 +837,7 @@ ;; failed to figure out what this is: (defpart 1158 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1056964608 1 1.2) (sp-rnd-flt spt-x (meters -3.5) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters 4.5) (meters 1) 1.0) @@ -911,8 +865,7 @@ ;; failed to figure out what this is: (defpart 1159 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.08 0.25 1.0) (sp-rnd-flt spt-x (meters -3.5) (meters 0.5) 1.0) (sp-rnd-flt spt-y (meters 5.5) (meters 1) 1.0) @@ -943,8 +896,7 @@ ;; failed to figure out what this is: (defpart 1161 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.7 1.5 1.0) (sp-flt spt-x (meters 2.7)) (sp-rnd-flt spt-y (meters 3) (meters 1) 1.0) @@ -972,8 +924,7 @@ ;; failed to figure out what this is: (defpart 1162 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1058642330 1 1.4) (sp-flt spt-x (meters 2.7)) (sp-rnd-flt spt-y (meters 3) (meters 1) 1.0) @@ -1001,8 +952,7 @@ ;; failed to figure out what this is: (defpart 1163 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.08 0.25 1.0) (sp-flt spt-x (meters 2.7)) (sp-rnd-flt spt-y (meters 4) (meters 1) 1.0) @@ -1033,8 +983,7 @@ ;; failed to figure out what this is: (defpart 1165 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.65 1.5 1.0) (sp-rnd-flt spt-x (meters -3) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 1) 1.0) @@ -1062,8 +1011,7 @@ ;; failed to figure out what this is: (defpart 1166 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-int spt-num 1059481190 1 1.5) (sp-rnd-flt spt-x (meters -3) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 1) 1.0) @@ -1091,8 +1039,7 @@ ;; failed to figure out what this is: (defpart 1167 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.08 0.25 1.0) (sp-rnd-flt spt-x (meters -3) (meters 1) 1.0) (sp-rnd-flt spt-y (meters 5) (meters 1) 1.0) @@ -1123,8 +1070,7 @@ ;; failed to figure out what this is: (defpart 1168 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.1 0.4 1.0) (sp-rnd-flt spt-x (meters 1.5) (meters 1) 1.0) (sp-flt spt-y (meters -0.5)) @@ -1153,8 +1099,7 @@ ;; failed to figure out what this is: (defpart 1169 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.15 0.15 1.0) (sp-flt spt-y (meters 4)) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.2) 1.0) @@ -1184,8 +1129,7 @@ ;; failed to figure out what this is: (defpart 1174 - :init-specs - ((sp-flt spt-vel-y (meters 0.013333334)) + :init-specs ((sp-flt spt-vel-y (meters 0.013333334)) (sp-flt spt-fade-a 0.0) (sp-flt spt-accel-y -0.00040000002) (sp-int spt-next-time 300) @@ -1195,14 +1139,12 @@ ;; failed to figure out what this is: (defpart 1175 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.10666667)) ) ;; failed to figure out what this is: (defpart 1170 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.15 0.3 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.2) 1.0) @@ -1231,14 +1173,12 @@ ;; failed to figure out what this is: (defpart 1176 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 600) (sp-launcher-by-id spt-next-launcher 1177)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 600) (sp-launcher-by-id spt-next-launcher 1177)) ) ;; failed to figure out what this is: (defpart 1177 - :init-specs - ((sp-flt spt-vel-x (meters 0)) + :init-specs ((sp-flt spt-vel-x (meters 0)) (sp-flt spt-vel-y (meters 0.011666667)) (sp-flt spt-vel-z (meters 0)) (sp-flt spt-scalevel-x (meters 0.0016666667)) @@ -1256,8 +1196,7 @@ (defpartgroup group-village2-window-flames-45 :id 272 :bounds (static-bspherem 8 -8 0 36) - :parts - ((sp-item 1178 :fade-after (meters 300)) + :parts ((sp-item 1178 :fade-after (meters 300)) (sp-item 1179 :fade-after (meters 300)) (sp-item 1179 :fade-after (meters 180)) (sp-item 1180 :fade-after (meters 200) :period 2160 :length 5) @@ -1272,8 +1211,7 @@ ;; failed to figure out what this is: (defpart 1178 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.015 0.035 1.0) (sp-rnd-flt spt-x (meters 4) (meters 12) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 8) 1.0) @@ -1300,8 +1238,7 @@ ;; failed to figure out what this is: (defpart 1183 - :init-specs - ((sp-flt spt-fade-a 0.0) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 300 299 1) (sp-launcher-by-id spt-next-launcher 1184) ) @@ -1309,14 +1246,12 @@ ;; failed to figure out what this is: (defpart 1184 - :init-specs - ((sp-flt spt-fade-a -0.08)) + :init-specs ((sp-flt spt-fade-a -0.08)) ) ;; failed to figure out what this is: (defpart 1179 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.4 1.0) (sp-rnd-flt spt-x (meters 10) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 6) 1.0) @@ -1343,14 +1278,12 @@ ;; failed to figure out what this is: (defpart 1185 - :init-specs - ((sp-flt spt-fade-a -0.85333335)) + :init-specs ((sp-flt spt-fade-a -0.85333335)) ) ;; failed to figure out what this is: (defpart 1180 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.8 0.4 1.0) (sp-rnd-flt spt-x (meters 10) (meters 4) 1.0) (sp-flt spt-y (meters 6)) @@ -1375,8 +1308,7 @@ ;; failed to figure out what this is: (defpart 1181 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.015 0.03 1.0) (sp-rnd-flt spt-x (meters -6) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 8) (meters 8) 1.0) @@ -1403,8 +1335,7 @@ ;; failed to figure out what this is: (defpart 1182 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-rnd-flt spt-x (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 6) 1.0) @@ -1433,8 +1364,7 @@ (defpartgroup group-village2-window-flames-41 :id 273 :bounds (static-bspherem 8 -8 0 36) - :parts - ((sp-item 1186 :fade-after (meters 300)) + :parts ((sp-item 1186 :fade-after (meters 300)) (sp-item 1187 :fade-after (meters 300)) (sp-item 1187 :fade-after (meters 180)) (sp-item 1188 :fade-after (meters 200) :period 2160 :length 5) @@ -1449,8 +1379,7 @@ ;; failed to figure out what this is: (defpart 1186 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.015 0.03 1.0) (sp-rnd-flt spt-x (meters 6) (meters 12) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 8) 1.0) @@ -1477,8 +1406,7 @@ ;; failed to figure out what this is: (defpart 1187 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.4 1.0) (sp-rnd-flt spt-x (meters 10) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 6) 1.0) @@ -1505,8 +1433,7 @@ ;; failed to figure out what this is: (defpart 1188 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.8 0.4 1.0) (sp-rnd-flt spt-x (meters 10) (meters 4) 1.0) (sp-flt spt-y (meters 6)) @@ -1531,8 +1458,7 @@ ;; failed to figure out what this is: (defpart 1189 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.015 0.03 1.0) (sp-rnd-flt spt-x (meters -2) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 8) (meters 8) 1.0) @@ -1559,8 +1485,7 @@ ;; failed to figure out what this is: (defpart 1190 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.3 0.3 1.0) (sp-rnd-flt spt-x (meters 6) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 4) (meters 6) 1.0) @@ -1589,8 +1514,7 @@ (defpartgroup group-village2-big-boulder :id 274 :bounds (static-bspherem 8 -8 0 36) - :parts - ((sp-item 1191 :fade-after (meters 300)) + :parts ((sp-item 1191 :fade-after (meters 300)) (sp-item 1192 :fade-after (meters 300)) (sp-item 1192 :fade-after (meters 180)) ) @@ -1598,8 +1522,7 @@ ;; failed to figure out what this is: (defpart 1191 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.015 0.03 1.0) (sp-rnd-flt spt-x (meters -2) (meters 4) 1.0) (sp-rnd-flt spt-y (meters 8) (meters 4) 1.0) @@ -1626,8 +1549,7 @@ ;; failed to figure out what this is: (defpart 1192 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.4 0.4 1.0) (sp-flt spt-x (meters 2)) (sp-flt spt-y (meters 4)) @@ -1658,8 +1580,7 @@ (defpartgroup group-village2-sages-controlpanel :id 275 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1193 :fade-after (meters 30) :period 736 :length 10) + :parts ((sp-item 1193 :fade-after (meters 30) :period 736 :length 10) (sp-item 1193 :fade-after (meters 30) :period 1696 :length 10) (sp-item 1193 :fade-after (meters 30) :period 5079 :length 10) (sp-item 1194 :fade-after (meters 30) :period 5079 :length 10) @@ -1670,8 +1591,7 @@ ;; failed to figure out what this is: (defpart 1195 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.4 1.0) (sp-flt spt-x (meters 0.9)) (sp-flt spt-y (meters 0.25)) @@ -1700,8 +1620,7 @@ ;; failed to figure out what this is: (defpart 1196 - :init-specs - ((sp-flt spt-fade-r -0.053333335) + :init-specs ((sp-flt spt-fade-r -0.053333335) (sp-flt spt-fade-g -0.053333335) (sp-flt spt-fade-b -0.053333335) (sp-flt spt-fade-a -0.10666667) @@ -1710,8 +1629,7 @@ ;; failed to figure out what this is: (defpart 1193 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 4.0 16.0 1.0) (sp-sound (static-sound-spec "spark" :num 0.1 :volume 100.0)) (sp-flt spt-x (meters 0.9)) @@ -1740,8 +1658,7 @@ ;; failed to figure out what this is: (defpart 1194 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 4.0 16.0 1.0) (sp-sound (static-sound-spec "spark" :num 0.1 :volume 100.0)) (sp-flt spt-x (meters -1.2)) @@ -1772,8 +1689,7 @@ (defpartgroup group-village2-sages-machine :id 276 :bounds (static-bspherem 0 0 0 8) - :parts - ((sp-item 1199 :fade-after (meters 40) :period 768 :length 10 :binding 1197) + :parts ((sp-item 1199 :fade-after (meters 40) :period 768 :length 10 :binding 1197) (sp-item 1199 :fade-after (meters 40) :period 1096 :length 10 :binding 1198) (sp-item 1199 :fade-after (meters 40) :period 2137 :length 10 :binding 1197) (sp-item 1197 :fade-after (meters 40) :flags (start-dead)) @@ -1792,8 +1708,7 @@ ;; failed to figure out what this is: (defpart 1201 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.5 1.0 1.0) (sp-flt spt-x (meters -0.75)) (sp-flt spt-y (meters -0.8)) @@ -1818,8 +1733,7 @@ ;; failed to figure out what this is: (defpart 1202 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-x (meters -0.75)) (sp-flt spt-y (meters -0.8)) @@ -1839,8 +1753,7 @@ ;; failed to figure out what this is: (defpart 1200 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) (sp-rnd-flt spt-num 1.0 0.5 1.0) (sp-flt spt-x (meters -0.7)) (sp-flt spt-y (meters -0.7)) @@ -1863,8 +1776,7 @@ ;; failed to figure out what this is: (defpart 1205 - :init-specs - ((sp-flt spt-r 64.0) + :init-specs ((sp-flt spt-r 64.0) (sp-flt spt-g 64.0) (sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g -1.0666667) @@ -1874,8 +1786,7 @@ ;; failed to figure out what this is: (defpart 1203 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.4 1.0) (sp-flt spt-x (meters -1.25)) (sp-flt spt-y (meters 0)) @@ -1904,8 +1815,7 @@ ;; failed to figure out what this is: (defpart 1206 - :init-specs - ((sp-flt spt-fade-r -0.053333335) + :init-specs ((sp-flt spt-fade-r -0.053333335) (sp-flt spt-fade-g -0.053333335) (sp-flt spt-fade-b -0.053333335) (sp-flt spt-fade-a -0.10666667) @@ -1915,8 +1825,7 @@ ;; failed to figure out what this is: (defpart 1204 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 0.2 0.8 1.0) (sp-flt spt-x (meters -0.7)) (sp-flt spt-y (meters -0.7)) @@ -1947,8 +1856,7 @@ ;; failed to figure out what this is: (defpart 1199 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-scale-x (meters 1)) (sp-copy-from-other spt-scale-y -4) @@ -1967,8 +1875,7 @@ ;; failed to figure out what this is: (defpart 1197 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 2.0 8.0 1.0) (sp-sound (static-sound-spec "spark" :num 0.1 :volume 100.0)) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -1994,8 +1901,7 @@ ;; failed to figure out what this is: (defpart 1198 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 2.0 6.0 1.0) (sp-sound (static-sound-spec "spark" :num 0.1 :volume 100.0)) (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) @@ -2022,8 +1928,7 @@ ;; failed to figure out what this is: (defpart 1207 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.0 3.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.075) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2045,13 +1950,9 @@ (when (< (-> arg2 y) (-> arg1 user-float)) (let ((gp-0 (new 'stack-no-clear 'vector))) (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) - ) - ) + (if (< (rand-float-gen) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) (sp-launch-particles-var *sp-particle-system-2d* @@ -2072,8 +1973,7 @@ :duration 900 :flags (use-local-clock) :bounds (static-bspherem 0 0 0 16) - :parts - ((sp-item 2792 :fade-after (meters 100) :falloff-to (meters 100) :binding 2791) + :parts ((sp-item 2792 :fade-after (meters 100) :falloff-to (meters 100) :binding 2791) (sp-item 2791 :flags (bit1 start-dead launch-asap)) (sp-item 2791 :flags (bit1 start-dead launch-asap)) (sp-item 2791 :flags (bit1 start-dead launch-asap)) @@ -2121,8 +2021,7 @@ ;; failed to figure out what this is: (defpart 2795 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) (sp-rnd-flt spt-num 0.2 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 12.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -2142,8 +2041,7 @@ ;; failed to figure out what this is: (defpart 2794 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) (sp-rnd-flt spt-num 0.2 2.0 1.0) (sp-rnd-flt spt-scale-x (meters 12.5) (meters 3.5) 1.0) (sp-int spt-rot-x 4) @@ -2163,8 +2061,7 @@ ;; failed to figure out what this is: (defpart 2793 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) @@ -2186,8 +2083,7 @@ ;; failed to figure out what this is: (defpart 2792 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2203,8 +2099,7 @@ ;; failed to figure out what this is: (defpart 2791 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) diff --git a/test/decompiler/reference/levels/village2/warrior_REF.gc b/test/decompiler/reference/levels/village2/warrior_REF.gc index 821f35b34a..8aa480c80d 100644 --- a/test/decompiler/reference/levels/village2/warrior_REF.gc +++ b/test/decompiler/reference/levels/village2/warrior_REF.gc @@ -82,8 +82,7 @@ :name "warrior-introduction" :index 6 :parts 29 - :command-list - '((125 joint "cameraB") + :command-list '((125 joint "cameraB") (260 joint "camera") (574 joint "cameraB") (918 joint "camera") @@ -136,8 +135,7 @@ :name "warrior-resolution" :index 8 :parts 6 - :command-list - '((508 blackout 10) (511 blackout 0)) + :command-list '((508 blackout 10) (511 blackout 0)) ) ) (else @@ -163,8 +161,7 @@ ;; failed to figure out what this is: (defstate play-anim (warrior) :virtual #t - :exit - (behavior () + :exit (behavior () (send-event (-> (entity-by-type allpontoons) extra process) 'end-mode) ((-> (method-of-type process-taskable play-anim) exit)) (none) @@ -174,10 +171,7 @@ ;; definition for method 43 of type warrior (defmethod TODO-RENAME-43 warrior ((obj warrior)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 2) 61440.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.66 f0-2) (play-ambient (-> obj ambient) "WAR-LO1A" #f (-> obj root-override trans)) diff --git a/test/decompiler/reference/levels/village3/assistant-village3_REF.gc b/test/decompiler/reference/levels/village3/assistant-village3_REF.gc index 7657696ea4..dbd70d86b1 100644 --- a/test/decompiler/reference/levels/village3/assistant-village3_REF.gc +++ b/test/decompiler/reference/levels/village3/assistant-village3_REF.gc @@ -109,10 +109,7 @@ ;; definition for method 43 of type assistant-villagec (defmethod TODO-RENAME-43 assistant-villagec ((obj assistant-villagec)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.85714287 f0-2) (play-ambient (-> obj ambient) "ASSTLP31" #f (-> obj root-override trans)) @@ -155,8 +152,7 @@ ;; failed to figure out what this is: (defstate idle (assistant-villagec) :virtual #t - :code - (behavior () + :code (behavior () (if (!= (ja-group) (get-art-elem self)) (ja-channel-push! 1 (seconds 0.05)) ) @@ -168,14 +164,12 @@ (ja :num! (seek!)) ) (let ((gp-0 (-> *display* base-frame-counter))) - (while (let* ((s5-0 (-> *display* base-frame-counter)) - (f30-0 300.0) - (f28-0 0.16) - (f26-0 0.17000002) - (v1-31 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-32 (the-as number (logior #x3f800000 v1-31))) - ) - (< (- s5-0 (the-as time-frame (the int (* f30-0 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-32)))))))) gp-0) + (while (let ((s5-0 (-> *display* base-frame-counter)) + (f30-0 300.0) + (f28-0 0.16) + (f26-0 0.17000002) + ) + (< (- s5-0 (the-as time-frame (the int (* f30-0 (+ f28-0 (* f26-0 (rand-float-gen))))))) gp-0) ) (suspend) ) @@ -186,14 +180,12 @@ (ja :num! (seek! (ja-aframe 0.0 0))) ) (let ((gp-3 (-> *display* base-frame-counter))) - (while (let* ((s5-1 (-> *display* base-frame-counter)) - (f30-1 300.0) - (f28-1 0.16) - (f26-1 0.17000002) - (v1-56 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-57 (the-as number (logior #x3f800000 v1-56))) - ) - (< (- s5-1 (the-as time-frame (the int (* f30-1 (+ f28-1 (* f26-1 (+ -1.0 (the-as float v1-57)))))))) gp-3) + (while (let ((s5-1 (-> *display* base-frame-counter)) + (f30-1 300.0) + (f28-1 0.16) + (f26-1 0.17000002) + ) + (< (- s5-1 (the-as time-frame (the int (* f30-1 (+ f28-1 (* f26-1 (rand-float-gen))))))) gp-3) ) (suspend) ) diff --git a/test/decompiler/reference/levels/village3/minecart_REF.gc b/test/decompiler/reference/levels/village3/minecart_REF.gc index 17460bc836..17e0ad74a5 100644 --- a/test/decompiler/reference/levels/village3/minecart_REF.gc +++ b/test/decompiler/reference/levels/village3/minecart_REF.gc @@ -42,14 +42,13 @@ ;; failed to figure out what this is: (defstate idle (minecartsteel) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (or (= v1-0 'touch) (= v1-0 'attack)) (when (= (-> arg0 type) target) (let ((a2-1 (new 'stack 'collide-overlap-result))) (if (not (on-platform (-> self root-override) (-> *target* control) a2-1)) - (send-event arg0 'no-look-around 450) + (send-event arg0 'no-look-around (seconds 1.5)) ) ) ) @@ -58,16 +57,13 @@ ) ) ) - :trans - (the-as (function none :behavior minecartsteel) rider-trans) - :code - (behavior () + :trans (the-as (function none :behavior minecartsteel) rider-trans) + :code (behavior () (ja-channel-set! 1) (ja :group! (-> self anim)) (loop (ja :num-func num-func-identity - :frame-num - (* (get-current-phase (-> self sync)) (the float (+ (-> (ja-group) data 0 length) -1))) + :frame-num (* (get-current-phase (-> self sync)) (the float (+ (-> (ja-group) data 0 length) -1))) ) (let ((a1-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)))) (update-trans! (-> self sound) a1-1) @@ -77,8 +73,7 @@ ) (none) ) - :post - (the-as (function none :behavior minecartsteel) rider-post) + :post (the-as (function none :behavior minecartsteel) rider-post) ) ;; definition for function minecartsteel-initialize-by-other @@ -153,14 +148,12 @@ ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! minecartsteel ((obj minecartsteel) (arg0 entity-actor)) (dotimes (s4-0 4) - (let ((s3-0 (get-process *default-dead-pool* minecartsteel #x4000))) - (when s3-0 - (let ((t9-1 (method-of-type minecartsteel activate))) - (t9-1 (the-as minecartsteel s3-0) obj 'minecartsteel (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 minecartsteel-initialize-by-other arg0 (* 0.2 (the float (+ s4-0 1)))) - (-> s3-0 ppointer) - ) + (process-spawn + minecartsteel + :init minecartsteel-initialize-by-other + arg0 + (* 0.2 (the float (+ s4-0 1))) + :to obj ) ) (minecartsteel-initialize-by-other arg0 0.0) diff --git a/test/decompiler/reference/levels/village3/miners_REF.gc b/test/decompiler/reference/levels/village3/miners_REF.gc index bb578312f0..4b86bd4c8f 100644 --- a/test/decompiler/reference/levels/village3/miners_REF.gc +++ b/test/decompiler/reference/levels/village3/miners_REF.gc @@ -115,14 +115,12 @@ ;; failed to figure out what this is: (defstate idle (minertall) :virtual #t - :trans - (behavior () + :trans (behavior () (set! (-> self will-talk) #f) ((-> (method-of-type process-taskable idle) trans)) (none) ) - :code - (the-as (function none :behavior minertall) miners-anim-loop) + :code (the-as (function none :behavior minertall) miners-anim-loop) ) ;; definition for method 11 of type minertall @@ -164,8 +162,7 @@ (defpartgroup group-minershort-candle :id 566 :bounds (static-bspherem 0 0 0 15) - :parts - ((sp-item 2364 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 2364 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 2365 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 2366 :fade-after (meters 60) :falloff-to (meters 60)) ) @@ -173,8 +170,7 @@ ;; failed to figure out what this is: (defpart 2366 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 2.0 1.0) (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.075) 1.0) @@ -203,8 +199,7 @@ ;; failed to figure out what this is: (defpart 2364 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 3.0) (sp-rnd-flt spt-y (meters -0.08) (meters 0.02) 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) @@ -226,8 +221,7 @@ ;; failed to figure out what this is: (defpart 2365 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -0.02)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.75) 1.0) @@ -303,212 +297,193 @@ ;; definition for method 32 of type minershort (defmethod play-anim! minershort ((obj minershort) (arg0 symbol)) - (with-pp - (set! (-> obj talk-message) (game-text-id press-to-talk)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) - (if (not arg0) - (set! (-> obj will-talk) #t) - ) - (case (current-task (-> obj tasks)) - (((game-task village3-miner-money1)) - (when arg0 - (let* ((s5-1 (-> obj tasks)) - (s4-0 (method-of-object s5-1 save-reminder)) - (a1-3 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (s4-0 s5-1 (the int (the-as float (send-event-function *target* a1-3))) 1) - ) - (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) - (close-specific-task! (game-task village3-miner-money1) (task-status need-introduction)) - (close-specific-task! (game-task village3-miner-money2) (task-status need-introduction)) - (close-specific-task! (game-task village3-miner-money3) (task-status need-introduction)) - (close-specific-task! (game-task village3-miner-money4) (task-status need-introduction)) + (set! (-> obj talk-message) (game-text-id press-to-talk)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) + (if (not arg0) + (set! (-> obj will-talk) #t) + ) + (case (current-task (-> obj tasks)) + (((game-task village3-miner-money1)) + (when arg0 + (let* ((s5-1 (-> obj tasks)) + (s4-0 (method-of-object s5-1 save-reminder)) + ) + (s4-0 s5-1 (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 1) ) - (new 'static 'spool-anim - :name "minershort-introduction-orbs" - :index 4 - :parts 16 - :command-list - '((171 joint "cameraB") - (206 joint "camera") - (423 joint "cameraB") - (591 joint "camera") - (692 joint "cameraB") - (918 joint "camera") - (1122 joint "cameraB") - (1122 shadow self #f) - (1241 joint "camera") - (1241 shadow self #t) - ) + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + (close-specific-task! (game-task village3-miner-money1) (task-status need-introduction)) + (close-specific-task! (game-task village3-miner-money2) (task-status need-introduction)) + (close-specific-task! (game-task village3-miner-money3) (task-status need-introduction)) + (close-specific-task! (game-task village3-miner-money4) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "minershort-introduction-orbs" + :index 4 + :parts 16 + :command-list '((171 joint "cameraB") + (206 joint "camera") + (423 joint "cameraB") + (591 joint "camera") + (692 joint "cameraB") + (918 joint "camera") + (1122 joint "cameraB") + (1122 shadow self #f) + (1241 joint "camera") + (1241 shadow self #t) ) ) - (((game-task cave-gnawers)) - (when arg0 - (let* ((s5-2 (-> obj tasks)) - (s4-1 (method-of-object s5-2 save-reminder)) - (a1-10 (new 'stack-no-clear 'event-message-block)) + ) + (((game-task cave-gnawers)) + (when arg0 + (let* ((s5-2 (-> obj tasks)) + (s4-1 (method-of-object s5-2 save-reminder)) + ) + (s4-1 s5-2 (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 1) + ) + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "minershort-introduction-gnawers" + :index 9 + :parts 8 + :command-list '((0 want-levels village3 maincave) + (149 joint "cameraB") + (158 display-level maincave movie) + (158 want-force-vis maincave #t) + (435 display-level maincave #f) + (435 joint "camera") + (680 joint "cameraB") + (719 joint "camera") + ) + ) + ) + (else + (when arg0 + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "minershort-introduction-switch" + :index 11 + :parts 7 + :command-list '((2 shadow "minertall-1" #f) (835 shadow "minertall-1" #t)) + ) + ) + ) + ) + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (let ((s4-2 (+ (get-reminder (-> obj tasks) 0) 1))) + (if (< (the-as uint 3) (the-as uint s4-2)) + (set! s4-2 0) + ) + (countdown (s3-0 4) + (let ((v1-59 s4-2)) + (cond + ((zero? v1-59) + (if (not (or (= (get-task-status (game-task village3-miner-money1)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money2)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money3)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money4)) (task-status need-reminder)) + ) + ) + (set! s4-2 1) + ) + ) + ((= v1-59 1) + (if (!= (get-task-status (game-task cave-gnawers)) (task-status need-reminder)) + (set! s4-2 2) + ) + ) + ((= v1-59 2) + (if (not (or (= (get-task-status (game-task village3-miner-money1)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money2)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money3)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money4)) (task-status need-reminder)) + ) + ) + (set! s4-2 3) + ) + ) + (else + (if (!= (get-task-status (game-task snow-eggtop)) (task-status need-reminder)) + (set! s4-2 0) ) - (set! (-> a1-10 from) pp) - (set! (-> a1-10 num-params) 2) - (set! (-> a1-10 message) 'query) - (set! (-> a1-10 param 0) (the-as uint 'pickup)) - (set! (-> a1-10 param 1) (the-as uint 6)) - (s4-1 s5-2 (the int (the-as float (send-event-function *target* a1-10))) 1) + ) + ) + ) + ) + (if arg0 + (save-reminder (-> obj tasks) s4-2 0) + ) + (cond + ((zero? s4-2) + (new 'static 'spool-anim :name "minershort-reminder-1-orbs" :index 5 :parts 3 :command-list '()) + ) + ((= s4-2 1) + (if arg0 + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) ) - (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "minershort-introduction-gnawers" - :index 9 - :parts 8 - :command-list - '((0 want-levels village3 maincave) - (149 joint "cameraB") - (158 display-level maincave movie) - (158 want-force-vis maincave #t) - (435 display-level maincave #f) - (435 joint "camera") - (680 joint "cameraB") - (719 joint "camera") + (new 'static 'spool-anim :name "minershort-reminder-1-gnawers" :index 10 :parts 3 :command-list '()) + ) + ((= s4-2 2) + (if arg0 + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) ) - ) + (new 'static 'spool-anim :name "minershort-reminder-2-orbs" :index 6 :parts 2 :command-list '()) ) (else - (when arg0 - (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) - (close-status! (-> obj tasks) (task-status need-introduction)) - ) + (if arg0 + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + ) (new 'static 'spool-anim - :name "minershort-introduction-switch" - :index 11 - :parts 7 - :command-list - '((2 shadow "minertall-1" #f) (835 shadow "minertall-1" #t)) + :name "minershort-reminder-1-switch" + :index 12 + :parts 5 + :command-list '((2 shadow "minertall-1" #f) (500 shadow "minertall-1" #t)) ) ) ) ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (let ((s4-2 (+ (get-reminder (-> obj tasks) 0) 1))) - (if (< (the-as uint 3) (the-as uint s4-2)) - (set! s4-2 0) - ) - (countdown (s3-0 4) - (let ((v1-59 s4-2)) - (cond - ((zero? v1-59) - (if (not (or (= (get-task-status (game-task village3-miner-money1)) (task-status need-reminder)) - (= (get-task-status (game-task village3-miner-money2)) (task-status need-reminder)) - (= (get-task-status (game-task village3-miner-money3)) (task-status need-reminder)) - (= (get-task-status (game-task village3-miner-money4)) (task-status need-reminder)) - ) - ) - (set! s4-2 1) - ) - ) - ((= v1-59 1) - (if (!= (get-task-status (game-task cave-gnawers)) (task-status need-reminder)) - (set! s4-2 2) - ) - ) - ((= v1-59 2) - (if (not (or (= (get-task-status (game-task village3-miner-money1)) (task-status need-reminder)) - (= (get-task-status (game-task village3-miner-money2)) (task-status need-reminder)) - (= (get-task-status (game-task village3-miner-money3)) (task-status need-reminder)) - (= (get-task-status (game-task village3-miner-money4)) (task-status need-reminder)) - ) - ) - (set! s4-2 3) - ) - ) - (else - (if (!= (get-task-status (game-task snow-eggtop)) (task-status need-reminder)) - (set! s4-2 0) - ) - ) - ) - ) + ) + (((task-status need-reward-speech)) + (let ((s4-3 (get-reminder (-> obj tasks) 2))) + (cond + (arg0 + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + (set! (-> obj cell-for-task) (current-task (-> obj tasks))) + (close-current! (-> obj tasks)) + (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc))) + (save-reminder (-> obj tasks) (+ s4-3 1) 2) ) - (if arg0 - (save-reminder (-> obj tasks) s4-2 0) - ) - (cond - ((zero? s4-2) - (new 'static 'spool-anim :name "minershort-reminder-1-orbs" :index 5 :parts 3 :command-list '()) - ) - ((= s4-2 1) - (if arg0 - (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) - ) - (new 'static 'spool-anim :name "minershort-reminder-1-gnawers" :index 10 :parts 3 :command-list '()) - ) - ((= s4-2 2) - (if arg0 - (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) - ) - (new 'static 'spool-anim :name "minershort-reminder-2-orbs" :index 6 :parts 2 :command-list '()) - ) - (else - (if arg0 - (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) - ) - (new 'static 'spool-anim - :name "minershort-reminder-1-switch" - :index 12 - :parts 5 - :command-list - '((2 shadow "minertall-1" #f) (500 shadow "minertall-1" #t)) - ) - ) + (else + (set! (-> obj will-talk) #t) + (set! (-> obj talk-message) (game-text-id press-to-trade-money)) ) ) - ) - (((task-status need-reward-speech)) - (let ((s4-3 (get-reminder (-> obj tasks) 2))) - (cond - (arg0 - (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) - (set! (-> obj cell-for-task) (current-task (-> obj tasks))) - (close-current! (-> obj tasks)) - (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc))) - (save-reminder (-> obj tasks) (+ s4-3 1) 2) - ) - (else - (set! (-> obj will-talk) #t) - (set! (-> obj talk-message) (game-text-id press-to-trade-money)) + (if (< (the-as uint s4-3) (the-as uint 3)) + (new 'static 'spool-anim :name "minershort-resolution-1-orbs" :index 7 :parts 2 :command-list '()) + (new 'static 'spool-anim + :name "minershort-resolution-2-orbs" + :index 8 + :parts 6 + :command-list '((154 joint "cameraB") (461 joint "camera")) ) ) - (if (< (the-as uint s4-3) (the-as uint 3)) - (new 'static 'spool-anim :name "minershort-resolution-1-orbs" :index 7 :parts 2 :command-list '()) - (new 'static 'spool-anim - :name "minershort-resolution-2-orbs" - :index 8 - :parts 6 - :command-list - '((154 joint "cameraB") (461 joint "camera")) - ) - ) - ) ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) ) - (-> obj draw art-group data 3) - ) + ) + (-> obj draw art-group data 3) ) ) ) @@ -516,8 +491,7 @@ ;; failed to figure out what this is: (defstate play-anim (minershort) :virtual #t - :exit - (behavior () + :exit (behavior () (send-event (-> self other-miner ppointer 3) 'end-mode) ((-> (method-of-type process-taskable play-anim) exit)) (none) @@ -532,10 +506,7 @@ ;; definition for method 43 of type minershort (defmethod TODO-RENAME-43 minershort ((obj minershort)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.9655172 f0-2) (play-ambient (-> obj ambient) "MIN-LO01" #f (-> obj root-override trans)) @@ -632,8 +603,7 @@ ;; failed to figure out what this is: (defstate idle (minershort) :virtual #t - :code - miners-anim-loop + :code miners-anim-loop ) ;; definition for method 11 of type minershort @@ -678,8 +648,7 @@ ;; failed to figure out what this is: (defstate idle (cavegem) :virtual #t - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -689,8 +658,7 @@ ) (none) ) - :post - (the-as (function none :behavior cavegem) ja-post) + :post (the-as (function none :behavior cavegem) ja-post) ) ;; definition for method 11 of type cavegem diff --git a/test/decompiler/reference/levels/village3/sage-village3_REF.gc b/test/decompiler/reference/levels/village3/sage-village3_REF.gc index 61a1d1330b..bddbaddac2 100644 --- a/test/decompiler/reference/levels/village3/sage-village3_REF.gc +++ b/test/decompiler/reference/levels/village3/sage-village3_REF.gc @@ -51,170 +51,143 @@ ;; definition for method 32 of type sage-villagec (defmethod play-anim! sage-villagec ((obj sage-villagec) (arg0 symbol)) - (with-pp - (set! (-> obj talk-message) (game-text-id press-to-talk-to-sage)) - (case (current-status (-> obj tasks)) - (((task-status unknown) (task-status need-hint) (task-status need-introduction)) - (if (not arg0) - (set! (-> obj will-talk) #t) - ) - (case (current-task (-> obj tasks)) - (((game-task village3-button)) - (when arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - (send-event (-> obj assistant extra process) 'clone (process->handle obj)) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj evilbro) - (ppointer->handle - (when s5-1 - (let ((t9-5 (method-of-type manipy activate))) - (t9-5 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *evilbro-village3-sg* #f) - (-> s5-1 ppointer) - ) - ) - ) - ) - (send-event (handle->process (-> obj evilbro)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj evilbro)) 'blend-shape #t) - (send-event (handle->process (-> obj evilbro)) 'center-joint 3) - (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj evilsis) - (ppointer->handle - (when s5-2 - (let ((t9-11 (method-of-type manipy activate))) - (t9-11 (the-as manipy s5-2) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s5-2 manipy-init (-> obj root-override trans) (-> obj entity) *evilsis-village3-sg* #f) - (-> s5-2 ppointer) - ) - ) - ) - ) - (send-event (handle->process (-> obj evilsis)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj evilsis)) 'blend-shape #t) - (send-event (handle->process (-> obj evilsis)) 'center-joint 3) - (set! (-> obj draw bounds w) 40960.0) - ) - (new 'static 'spool-anim - :name "sage-village3-introduction" - :index 8 - :parts 58 - :command-list - '((206 joint "cameraB") - (268 joint "camera") - (321 joint "cameraB") - (415 joint "camera") - (502 joint "cameraB") - (655 joint "camera") - (864 joint "cameraB") - (958 joint "camera") - (1178 joint "cameraB") - (1295 joint "camera") - (1377 joint "cameraB") - (1683 joint "camera") - (2066 joint "cameraB") - (2209 joint "camera") - (2389 joint "cameraB") - (2707 joint "camera") - (2769 joint "cameraB") - (2901 joint "camera") - (3021 joint "cameraB") - (3158 joint "camera") - (3301 joint "cameraB") - (3533 joint "camera") - (3632 joint "cameraB") - (3692 joint "camera") - (3780 joint "cameraB") - (3818 joint "camera") - (4188 joint "cameraB") - (4324 joint "camera") - (4462 joint "cameraB") - (4542 joint "camera") - ) - ) - ) - (((game-task cave-dark-crystals)) - (when arg0 - (let* ((s5-3 (-> obj tasks)) - (s4-0 (method-of-object s5-3 save-reminder)) - (a1-18 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-18 from) pp) - (set! (-> a1-18 num-params) 2) - (set! (-> a1-18 message) 'query) - (set! (-> a1-18 param 0) (the-as uint 'pickup)) - (set! (-> a1-18 param 1) (the-as uint 6)) - (s4-0 s5-3 (the int (the-as float (send-event-function *target* a1-18))) 1) - ) - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "sage-village3-introduction-dark-eco" - :index 4 - :parts 9 - :command-list - '((111 joint "cameraB") (189 joint "camera") (455 joint "cameraB") (638 joint "camera") (753 joint "cameraB")) - ) - ) - (else - (if arg0 - (close-specific-task! (game-task snow-ram) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "sage-village3-introduction-rams" - :index 6 - :parts 6 - :command-list - '((155 joint "cameraB") (370 joint "camera")) - ) - ) + (set! (-> obj talk-message) (game-text-id press-to-talk-to-sage)) + (case (current-status (-> obj tasks)) + (((task-status unknown) (task-status need-hint) (task-status need-introduction)) + (if (not arg0) + (set! (-> obj will-talk) #t) ) - ) - (((task-status need-reminder-a) (task-status need-reminder)) - (set! (-> obj skippable) #t) - (let ((s4-1 (+ (get-reminder (-> obj tasks) 0) 1))) - (if (< (the-as uint 1) (the-as uint s4-1)) - (set! s4-1 0) - ) - (countdown (s3-0 2) - (cond - ((zero? s4-1) - (if (!= (get-task-status (game-task cave-dark-crystals)) (task-status need-reminder)) - (set! s4-1 1) + (case (current-task (-> obj tasks)) + (((game-task village3-button)) + (when arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + (send-event (-> obj assistant extra process) 'clone (process->handle obj)) + (set! (-> obj evilbro) + (ppointer->handle + (manipy-spawn (-> obj root-override trans) (-> obj entity) *evilbro-village3-sg* #f :to obj) ) - ) - (else - (if (not (or (= (get-task-status (game-task snow-ram)) (task-status need-reminder)) - (= (get-task-status (game-task snow-ram)) (task-status need-reminder-a)) - ) - ) - (set! s4-1 0) - ) - ) - ) - ) + ) + (send-event (handle->process (-> obj evilbro)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj evilbro)) 'blend-shape #t) + (send-event (handle->process (-> obj evilbro)) 'center-joint 3) + (set! (-> obj evilsis) + (ppointer->handle + (manipy-spawn (-> obj root-override trans) (-> obj entity) *evilsis-village3-sg* #f :to obj) + ) + ) + (send-event (handle->process (-> obj evilsis)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj evilsis)) 'blend-shape #t) + (send-event (handle->process (-> obj evilsis)) 'center-joint 3) + (set! (-> obj draw bounds w) 40960.0) + ) + (new 'static 'spool-anim + :name "sage-village3-introduction" + :index 8 + :parts 58 + :command-list '((206 joint "cameraB") + (268 joint "camera") + (321 joint "cameraB") + (415 joint "camera") + (502 joint "cameraB") + (655 joint "camera") + (864 joint "cameraB") + (958 joint "camera") + (1178 joint "cameraB") + (1295 joint "camera") + (1377 joint "cameraB") + (1683 joint "camera") + (2066 joint "cameraB") + (2209 joint "camera") + (2389 joint "cameraB") + (2707 joint "camera") + (2769 joint "cameraB") + (2901 joint "camera") + (3021 joint "cameraB") + (3158 joint "camera") + (3301 joint "cameraB") + (3533 joint "camera") + (3632 joint "cameraB") + (3692 joint "camera") + (3780 joint "cameraB") + (3818 joint "camera") + (4188 joint "cameraB") + (4324 joint "camera") + (4462 joint "cameraB") + (4542 joint "camera") + ) + ) + ) + (((game-task cave-dark-crystals)) + (when arg0 + (let* ((s5-3 (-> obj tasks)) + (s4-0 (method-of-object s5-3 save-reminder)) + ) + (s4-0 s5-3 (the int (the-as float (send-event *target* 'query 'pickup (pickup-type fuel-cell)))) 1) + ) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "sage-village3-introduction-dark-eco" + :index 4 + :parts 9 + :command-list '((111 joint "cameraB") (189 joint "camera") (455 joint "cameraB") (638 joint "camera") (753 joint "cameraB")) + ) + ) + (else (if arg0 - (save-reminder (-> obj tasks) s4-1 0) - ) - (if (zero? s4-1) - (new 'static 'spool-anim :name "sage-village3-reminder-1-dark-eco" :index 5 :parts 2 :command-list '()) - (new 'static 'spool-anim :name "sage-village3-reminder-1-rams" :index 7 :parts 3 :command-list '()) + (close-specific-task! (game-task snow-ram) (task-status need-introduction)) ) + (new 'static 'spool-anim + :name "sage-village3-introduction-rams" + :index 6 + :parts 6 + :command-list '((155 joint "cameraB") (370 joint "camera")) + ) ) ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) + ) + (((task-status need-reminder-a) (task-status need-reminder)) + (set! (-> obj skippable) #t) + (let ((s4-1 (+ (get-reminder (-> obj tasks) 0) 1))) + (if (< (the-as uint 1) (the-as uint s4-1)) + (set! s4-1 0) + ) + (countdown (s3-0 2) + (cond + ((zero? s4-1) + (if (!= (get-task-status (game-task cave-dark-crystals)) (task-status need-reminder)) + (set! s4-1 1) + ) ) - (get-art-elem obj) - ) + (else + (if (not (or (= (get-task-status (game-task snow-ram)) (task-status need-reminder)) + (= (get-task-status (game-task snow-ram)) (task-status need-reminder-a)) + ) + ) + (set! s4-1 0) + ) + ) + ) + ) + (if arg0 + (save-reminder (-> obj tasks) s4-1 0) + ) + (if (zero? s4-1) + (new 'static 'spool-anim :name "sage-village3-reminder-1-dark-eco" :index 5 :parts 2 :command-list '()) + (new 'static 'spool-anim :name "sage-village3-reminder-1-rams" :index 7 :parts 3 :command-list '()) + ) + ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (get-art-elem obj) ) ) ) @@ -233,10 +206,7 @@ ;; definition for method 43 of type sage-villagec (defmethod TODO-RENAME-43 sage-villagec ((obj sage-villagec)) (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) (seconds 30) 122880.0 obj) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) + (let ((f0-2 (rand-float-gen))) (cond ((< 0.875 f0-2) (play-ambient (-> obj ambient) "SAGELP31" #f (-> obj root-override trans)) @@ -276,8 +246,7 @@ ;; failed to figure out what this is: (defstate idle (sage-villagec) :virtual #t - :trans - (behavior () + :trans (behavior () (case (get-task-status (game-task village3-button)) (((task-status need-introduction)) (send-event self 'play-anim) @@ -291,8 +260,7 @@ ;; failed to figure out what this is: (defstate play-anim (sage-villagec) :virtual #t - :exit - (behavior () + :exit (behavior () (set! (-> self draw bounds w) 10240.0) (send-event (-> self assistant extra process) 'end-mode) (let ((a0-2 (handle->process (-> self evilbro)))) diff --git a/test/decompiler/reference/levels/village3/village3-obs_REF.gc b/test/decompiler/reference/levels/village3/village3-obs_REF.gc index a21f9d3bba..9ab4a66398 100644 --- a/test/decompiler/reference/levels/village3/village3-obs_REF.gc +++ b/test/decompiler/reference/levels/village3/village3-obs_REF.gc @@ -58,8 +58,7 @@ (define ripple-for-villagec-lava (new 'static 'ripple-wave-set :count 2 :converted #f - :wave - (new 'static 'inline-array ripple-wave 4 + :wave (new 'static 'inline-array ripple-wave 4 (new 'static 'ripple-wave :scale 40.0 :xdiv 2 :speed 1.5) (new 'static 'ripple-wave :scale 40.0 :xdiv -2 :zdiv 2 :speed 0.9) (new 'static 'ripple-wave) @@ -122,8 +121,7 @@ ;; failed to figure out what this is: (defstate idle (gondola) :virtual #t - :code - (behavior ((arg0 symbol)) + :code (behavior ((arg0 symbol)) (set! (-> self state-time) (-> *display* base-frame-counter)) (ja-channel-set! 1) (cond @@ -132,8 +130,7 @@ :name "gondola-ride-down" :index 6 :parts 3 - :command-list - '((0 want-levels village3 snow) + :command-list '((0 want-levels village3 snow) (0 shadow target #f) (0 shadow sidekick #f) (1 display-level village3 display) @@ -152,8 +149,7 @@ :name "gondola-ride-up" :index 5 :parts 3 - :command-list - '((0 want-levels village3 snow) + :command-list '((0 want-levels village3 snow) (0 shadow target #f) (400 setting-reset music snow) (400 display-level snow display) @@ -284,56 +280,40 @@ ;; failed to figure out what this is: (defstate ride-up (gondola) :virtual #t - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status bit-3) #t) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'clone-anim) - (set! (-> a1-1 param 0) (the-as uint self)) - (when (send-event-function *target* a1-1) - (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) - (send-event *target* 'blend-shape #t) - (set-setting! *setting-control* self 'sound-flava #f 30.0 4) - (logclear! (-> self mask) (process-mask enemy)) - (let ((gp-0 (get-process *default-dead-pool* othercam #x4000))) - (when gp-0 - (let ((t9-6 (method-of-type othercam activate))) - (t9-6 (the-as othercam gp-0) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 othercam-init-by-other self 4 #f #t) - (-> gp-0 ppointer) - ) - ) - (ja-play-spooled-anim - (-> self anim) - (the-as art-joint-anim (-> self draw art-group data 3)) - (the-as art-joint-anim (-> self draw art-group data 4)) - (the-as (function process-drawable symbol) false-func) - ) - (clear-pending-settings-from-process *setting-control* self 'sound-flava) - (send-event *target* 'blend-shape #f) - (when *target* - (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) - (send-event *target* 'trans 'restore (-> self old-target-pos)) - (send-event *target* 'end-mode) - (update-transforms! (-> self root-override)) - (move-to-ground (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) - (logior! (-> *target* control status) (cshape-moving-flags onsurf onground tsurf)) - (suspend) - (send-event *camera* 'teleport-to-other-start-string) - ) - (load-state-want-vis 'sno) - (set-continue! *game-info* "snow-start") + (when (send-event *target* 'clone-anim self) + (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) + (send-event *target* 'blend-shape #t) + (set-setting! *setting-control* self 'sound-flava #f 30.0 4) + (logclear! (-> self mask) (process-mask enemy)) + (process-spawn othercam self 4 #f #t :to self) + (ja-play-spooled-anim + (-> self anim) + (the-as art-joint-anim (-> self draw art-group data 3)) + (the-as art-joint-anim (-> self draw art-group data 4)) + (the-as (function process-drawable symbol) false-func) ) + (clear-pending-settings-from-process *setting-control* self 'sound-flava) + (send-event *target* 'blend-shape #f) + (when *target* + (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) + (send-event *target* 'trans 'restore (-> self old-target-pos)) + (send-event *target* 'end-mode) + (update-transforms! (-> self root-override)) + (move-to-ground (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) + (logior! (-> *target* control status) (cshape-moving-flags onsurf onground tsurf)) + (suspend) + (send-event *camera* 'teleport-to-other-start-string) + ) + (load-state-want-vis 'sno) + (set-continue! *game-info* "snow-start") ) (process-entity-status! self (entity-perm-status bit-3) #f) (go-virtual idle #t) (none) ) - :post - (behavior () + :post (behavior () (ja-post) (update-direction-from-time-of-day (-> self draw shadow-ctrl)) (none) @@ -343,57 +323,41 @@ ;; failed to figure out what this is: (defstate ride-down (gondola) :virtual #t - :code - (behavior () + :code (behavior () (process-entity-status! self (entity-perm-status bit-3) #t) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'clone-anim) - (set! (-> a1-1 param 0) (the-as uint self)) - (when (send-event-function *target* a1-1) - (send-event *target* 'trans 'save (-> self old-target-pos)) - (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) - (send-event *target* 'blend-shape #t) - (set-setting! *setting-control* self 'sound-flava #f 30.0 4) - (logclear! (-> self mask) (process-mask enemy)) - (let ((gp-0 (get-process *default-dead-pool* othercam #x4000))) - (when gp-0 - (let ((t9-7 (method-of-type othercam activate))) - (t9-7 (the-as othercam gp-0) self 'othercam (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 othercam-init-by-other self 4 #f #t) - (-> gp-0 ppointer) - ) - ) - (ja-play-spooled-anim - (-> self anim) - (the-as art-joint-anim (-> self draw art-group data 4)) - (the-as art-joint-anim (-> self draw art-group data 3)) - (the-as (function process-drawable symbol) false-func) - ) - (clear-pending-settings-from-process *setting-control* self 'sound-flava) - (send-event *target* 'blend-shape #f) - (when *target* - (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) - (send-event *target* 'trans 'restore (-> self old-target-pos)) - (send-event *target* 'end-mode) - (update-transforms! (-> self root-override)) - (move-to-ground (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) - (logior! (-> *target* control status) (cshape-moving-flags onsurf onground tsurf)) - (suspend) - (send-event *camera* 'teleport-to-other-start-string) - ) - (load-state-want-vis 'vi3) - (set-continue! *game-info* "village3-farside") + (when (send-event *target* 'clone-anim self) + (send-event *target* 'trans 'save (-> self old-target-pos)) + (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) + (send-event *target* 'blend-shape #t) + (set-setting! *setting-control* self 'sound-flava #f 30.0 4) + (logclear! (-> self mask) (process-mask enemy)) + (process-spawn othercam self 4 #f #t :to self) + (ja-play-spooled-anim + (-> self anim) + (the-as art-joint-anim (-> self draw art-group data 4)) + (the-as art-joint-anim (-> self draw art-group data 3)) + (the-as (function process-drawable symbol) false-func) ) + (clear-pending-settings-from-process *setting-control* self 'sound-flava) + (send-event *target* 'blend-shape #f) + (when *target* + (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) + (send-event *target* 'trans 'restore (-> self old-target-pos)) + (send-event *target* 'end-mode) + (update-transforms! (-> self root-override)) + (move-to-ground (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) + (logior! (-> *target* control status) (cshape-moving-flags onsurf onground tsurf)) + (suspend) + (send-event *camera* 'teleport-to-other-start-string) + ) + (load-state-want-vis 'vi3) + (set-continue! *game-info* "village3-farside") ) (process-entity-status! self (entity-perm-status bit-3) #f) (go-virtual idle #f) (none) ) - :post - (-> (method-of-type gondola ride-up) post) + :post (-> (method-of-type gondola ride-up) post) ) ;; definition for method 11 of type gondola @@ -482,16 +446,14 @@ ;; failed to figure out what this is: (defstate idle (pistons) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('update) (go-virtual active (process->handle arg0) #f) ) ) ) - :code - (behavior () + :code (behavior () (ja-post) (logior! (-> self mask) (process-mask sleep)) (suspend) @@ -550,8 +512,7 @@ ;; failed to figure out what this is: (defstate idle (gondolacables) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) (the-as object (when (= v1-0 'update) (process-entity-status! self (entity-perm-status complete) #t) @@ -563,8 +524,7 @@ ) ) ) - :code - (behavior () + :code (behavior () (loop (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) @@ -574,8 +534,7 @@ ) (none) ) - :post - (the-as (function none :behavior gondolacables) ja-post) + :post (the-as (function none :behavior gondolacables) ja-post) ) ;; definition for method 11 of type gondolacables diff --git a/test/decompiler/reference/levels/village3/village3-part_REF.gc b/test/decompiler/reference/levels/village3/village3-part_REF.gc index 041b65c90d..2d9b6a4188 100644 --- a/test/decompiler/reference/levels/village3/village3-part_REF.gc +++ b/test/decompiler/reference/levels/village3/village3-part_REF.gc @@ -22,16 +22,14 @@ (defpartgroup group-village3-candle :id 476 :bounds (static-bspherem 0 10 0 12) - :parts - ((sp-item 1797 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1797 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1798 :fade-after (meters 60) :falloff-to (meters 60)) ) ) ;; failed to figure out what this is: (defpart 1797 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-y (meters -0.08) (meters 0.02) 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) @@ -53,8 +51,7 @@ ;; failed to figure out what this is: (defpart 1798 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -0.04)) (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) @@ -80,8 +77,7 @@ (defpartgroup group-village3-sulphur-05 :id 477 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1799 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1799 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -90,8 +86,7 @@ (defpartgroup group-village3-sulphur-06 :id 478 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1801 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1801 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -100,8 +95,7 @@ (defpartgroup group-village3-sulphur-07 :id 479 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1802 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1802 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -110,8 +104,7 @@ (defpartgroup group-village3-sulphur-08 :id 480 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1803 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1803 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -120,8 +113,7 @@ (defpartgroup group-village3-sulphur-09 :id 481 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1804 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1804 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -130,8 +122,7 @@ (defpartgroup group-village3-sulphur-10 :id 482 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1805 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1805 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -140,8 +131,7 @@ (defpartgroup group-village3-sulphur-11 :id 483 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1806 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1806 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -150,8 +140,7 @@ (defpartgroup group-village3-sulphur-12 :id 484 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1807 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1807 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -160,8 +149,7 @@ (defpartgroup group-village3-sulphur-13 :id 485 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1808 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1808 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -170,8 +158,7 @@ (defpartgroup group-village3-sulphur-14 :id 486 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1809 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1809 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) @@ -180,16 +167,14 @@ (defpartgroup group-village3-sulphur-15 :id 487 :bounds (static-bspherem 0 0 0 12) - :parts - ((sp-item 1810 :fade-after (meters 180) :falloff-to (meters 180)) + :parts ((sp-item 1810 :fade-after (meters 180) :falloff-to (meters 180)) (sp-item 1800 :fade-after (meters 180) :falloff-to (meters 180)) ) ) ;; failed to figure out what this is: (defpart 1810 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -215,8 +200,7 @@ ;; failed to figure out what this is: (defpart 1808 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -242,8 +226,7 @@ ;; failed to figure out what this is: (defpart 1809 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -269,8 +252,7 @@ ;; failed to figure out what this is: (defpart 1807 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -296,8 +278,7 @@ ;; failed to figure out what this is: (defpart 1812 - :init-specs - ((sp-flt spt-vel-y (meters 0.00033333333)) + :init-specs ((sp-flt spt-vel-y (meters 0.00033333333)) (sp-flt spt-fade-a -0.023703704) (sp-flt spt-accel-y -0.027306668) (sp-int spt-next-time 750) @@ -307,8 +288,7 @@ ;; failed to figure out what this is: (defpart 1806 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -334,8 +314,7 @@ ;; failed to figure out what this is: (defpart 1814 - :init-specs - ((sp-flt spt-vel-y (meters 0.00033333333)) + :init-specs ((sp-flt spt-vel-y (meters 0.00033333333)) (sp-flt spt-fade-a -0.023703704) (sp-flt spt-accel-y -0.027306668) (sp-int spt-next-time 225) @@ -345,8 +324,7 @@ ;; failed to figure out what this is: (defpart 1805 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -372,8 +350,7 @@ ;; failed to figure out what this is: (defpart 1804 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -399,8 +376,7 @@ ;; failed to figure out what this is: (defpart 1815 - :init-specs - ((sp-flt spt-vel-y (meters 0.00033333333)) + :init-specs ((sp-flt spt-vel-y (meters 0.00033333333)) (sp-flt spt-fade-a -0.023703704) (sp-flt spt-accel-y -0.027306668) (sp-int spt-next-time 150) @@ -410,8 +386,7 @@ ;; failed to figure out what this is: (defpart 1803 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -437,8 +412,7 @@ ;; failed to figure out what this is: (defpart 1816 - :init-specs - ((sp-flt spt-vel-y (meters 0.00033333333)) + :init-specs ((sp-flt spt-vel-y (meters 0.00033333333)) (sp-flt spt-fade-a -0.023703704) (sp-flt spt-accel-y -0.027306668) (sp-int spt-next-time 150) @@ -448,8 +422,7 @@ ;; failed to figure out what this is: (defpart 1802 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -475,8 +448,7 @@ ;; failed to figure out what this is: (defpart 1817 - :init-specs - ((sp-flt spt-vel-y (meters 0.00033333333)) + :init-specs ((sp-flt spt-vel-y (meters 0.00033333333)) (sp-flt spt-fade-a -0.023703704) (sp-flt spt-accel-y -0.027306668) (sp-int spt-next-time 750) @@ -486,14 +458,12 @@ ;; failed to figure out what this is: (defpart 1813 - :init-specs - ((sp-flt spt-fade-a -0.047407407) (sp-flt spt-accel-y 1.3653333)) + :init-specs ((sp-flt spt-fade-a -0.047407407) (sp-flt spt-accel-y 1.3653333)) ) ;; failed to figure out what this is: (defpart 1801 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -519,8 +489,7 @@ ;; failed to figure out what this is: (defpart 1799 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-rnd-flt spt-num 0.1 0.15 1.0) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-flt spt-y (meters 0.5)) @@ -546,14 +515,12 @@ ;; failed to figure out what this is: (defpart 1811 - :init-specs - ((sp-flt spt-vel-y (meters 0.00033333333)) (sp-flt spt-fade-a -0.017777778) (sp-flt spt-accel-y -0.027306668)) + :init-specs ((sp-flt spt-vel-y (meters 0.00033333333)) (sp-flt spt-fade-a -0.017777778) (sp-flt spt-accel-y -0.027306668)) ) ;; failed to figure out what this is: (defpart 1800 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) (sp-flt spt-num 0.1) (sp-rnd-flt spt-x (meters -1) (meters 2) 1.0) (sp-rnd-flt spt-z (meters -1) (meters 2) 1.0) @@ -580,8 +547,7 @@ (defpartgroup group-village3-minor-fire :id 488 :bounds (static-bspherem 0 2.5 0 2.5) - :parts - ((sp-item 2358 :fade-after (meters 50) :falloff-to (meters 80)) + :parts ((sp-item 2358 :fade-after (meters 50) :falloff-to (meters 80)) (sp-item 2359 :fade-after (meters 40) :falloff-to (meters 40) :binding 2357) (sp-item 2357 :flags (bit1 start-dead launch-asap)) (sp-item 2357 :flags (bit1 start-dead launch-asap)) @@ -654,8 +620,7 @@ ;; failed to figure out what this is: (defpart 2359 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-flt spt-num 1.0) (sp-sound (static-sound-spec "fire-pop" :volume 100.0)) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) @@ -679,8 +644,7 @@ ;; failed to figure out what this is: (defpart 2357 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) @@ -708,14 +672,12 @@ ;; failed to figure out what this is: (defpart 2362 - :init-specs - ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g 1.0666667) (sp-flt spt-fade-b 1.0666667)) + :init-specs ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g 1.0666667) (sp-flt spt-fade-b 1.0666667)) ) ;; failed to figure out what this is: (defpart 2358 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 3.0 7.0 1.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1.1) 1.0) (sp-flt spt-y (meters -0.75)) @@ -740,8 +702,7 @@ ;; failed to figure out what this is: (defpart 2360 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.5) (sp-rnd-flt spt-x (meters -0.5) (meters 1.1) 1.0) (sp-flt spt-y (meters -0.75)) @@ -770,8 +731,7 @@ ;; failed to figure out what this is: (defpart 2361 - :init-specs - ((sp-flt spt-num 0.4) + :init-specs ((sp-flt spt-num 0.4) (sp-flt spt-x (meters 0.2)) (sp-flt spt-y (meters -0.75)) (sp-int spt-rot-x 8) @@ -791,16 +751,14 @@ ;; failed to figure out what this is: (defpart 2363 - :init-specs - ((sp-flt spt-fade-b -1.3653333)) + :init-specs ((sp-flt spt-fade-b -1.3653333)) ) ;; failed to figure out what this is: (defpartgroup group-spewing-volcano-36 :id 489 :bounds (static-bspherem 0 3 0 14) - :parts - ((sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1200 :offset 300) + :parts ((sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1200 :offset 300) (sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1320 :offset 360) (sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1440 :offset 420) (sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1560 :offset 480) @@ -853,8 +811,7 @@ (defpartgroup group-spewing-volcano-37 :id 490 :bounds (static-bspherem 0 3 0 14) - :parts - ((sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1200 :offset 1500) + :parts ((sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1200 :offset 1500) (sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1320 :offset 1560) (sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1440 :offset 1620) (sp-item 1823 :falloff-to (meters 300) :period 2400 :length 1560 :offset 1680) @@ -905,8 +862,7 @@ ;; failed to figure out what this is: (defpart 1836 - :init-specs - ((sp-flt spt-num 0.2) + :init-specs ((sp-flt spt-num 0.2) (sp-int spt-rot-x 5) (sp-flt spt-r 8192.0) (sp-flt spt-g 6144.0) @@ -925,8 +881,7 @@ ;; failed to figure out what this is: (defpart 1837 - :init-specs - ((sp-flt spt-fade-r 40.96) + :init-specs ((sp-flt spt-fade-r 40.96) (sp-flt spt-fade-g 34.133335) (sp-flt spt-fade-b 30.72) (sp-flt spt-accel-x 0.0) @@ -940,14 +895,12 @@ ;; failed to figure out what this is: (defpart 1838 - :init-specs - ((sp-flt spt-fade-g 27.306667) (sp-int spt-timer 300)) + :init-specs ((sp-flt spt-fade-g 27.306667) (sp-int spt-timer 300)) ) ;; failed to figure out what this is: (defpart 1833 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.6) (sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -973,8 +926,7 @@ ;; failed to figure out what this is: (defpart 1839 - :init-specs - ((sp-rnd-flt spt-a 16.0 8.0 1.0) + :init-specs ((sp-rnd-flt spt-a 16.0 8.0 1.0) (sp-flt spt-scalevel-x (meters 0.013333334)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-r 0.42666668) @@ -992,14 +944,12 @@ ;; failed to figure out what this is: (defpart 1840 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) ) ;; failed to figure out what this is: (defpart 1834 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) (sp-rnd-flt spt-x (meters 3.5) (meters 0.75) 1.0) (sp-flt spt-y (meters -7)) @@ -1026,8 +976,7 @@ ;; failed to figure out what this is: (defpart 1835 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.8) (sp-rnd-flt spt-x (meters 3.5) (meters 0.75) 1.0) (sp-flt spt-y (meters -6.5)) @@ -1057,8 +1006,7 @@ ;; failed to figure out what this is: (defpart 1829 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters 7) (meters 3) 1.0) (sp-flt spt-y (meters -7)) @@ -1085,8 +1033,7 @@ ;; failed to figure out what this is: (defpart 1828 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.09) (sp-rnd-flt spt-x (meters 7) (meters 3) 1.0) (sp-flt spt-y (meters -6.5)) @@ -1116,8 +1063,7 @@ ;; failed to figure out what this is: (defpart 1827 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-x (meters 5) (meters 2) 1.0) (sp-flt spt-y (meters -7)) @@ -1143,8 +1089,7 @@ ;; failed to figure out what this is: (defpart 1826 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters 5) (meters 2) 1.0) (sp-flt spt-y (meters -6.5)) @@ -1173,8 +1118,7 @@ ;; failed to figure out what this is: (defpart 1824 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.09) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.25) (meters 0.5) 1.0) @@ -1204,8 +1148,7 @@ ;; failed to figure out what this is: (defpart 1823 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.3) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.25) (meters 0.5) 1.0) @@ -1233,8 +1176,7 @@ ;; failed to figure out what this is: (defpart 1825 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) (sp-flt spt-num 0.7) (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) (sp-rnd-flt spt-z (meters -0.25) (meters 0.5) 1.0) @@ -1266,8 +1208,7 @@ ;; failed to figure out what this is: (defpart 1832 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-int spt-rot-x 4) @@ -1296,8 +1237,7 @@ ;; failed to figure out what this is: (defpart 1831 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) (sp-flt spt-num 0.4) (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) @@ -1325,14 +1265,12 @@ ;; failed to figure out what this is: (defpart 1841 - :init-specs - ((sp-flt spt-fade-r -0.08888889) (sp-flt spt-fade-g 0.0)) + :init-specs ((sp-flt spt-fade-r -0.08888889) (sp-flt spt-fade-g 0.0)) ) ;; failed to figure out what this is: (defpart 1830 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) (sp-flt spt-num 6.0) (sp-rnd-flt spt-x (meters -0.5) (meters 1) 1.0) (sp-rnd-flt spt-z (meters -0.5) (meters 1) 1.0) @@ -1364,8 +1302,7 @@ (defpartgroup group-village3-steam-puff-31 :id 491 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1842 :fade-after (meters 100) :falloff-to (meters 100) :period 900 :length 126) + :parts ((sp-item 1842 :fade-after (meters 100) :falloff-to (meters 100) :period 900 :length 126) (sp-item 1843 :fade-after (meters 100) :falloff-to (meters 100) :period 1260 :length 167) (sp-item 1844 :fade-after (meters 100) :falloff-to (meters 100) :period 690 :length 150) (sp-item 1845 :fade-after (meters 100) :falloff-to (meters 100) :period 1920 :length 80) @@ -1377,8 +1314,7 @@ (defpartgroup group-village3-steam-puff-22 :id 492 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1842 :fade-after (meters 100) :falloff-to (meters 100) :period 1230 :length 156) + :parts ((sp-item 1842 :fade-after (meters 100) :falloff-to (meters 100) :period 1230 :length 156) (sp-item 1843 :fade-after (meters 100) :falloff-to (meters 100) :period 2310 :length 107) (sp-item 1844 :fade-after (meters 100) :falloff-to (meters 100) :period 960 :length 120) (sp-item 1845 :fade-after (meters 100) :falloff-to (meters 100) :period 1350 :length 170) @@ -1390,8 +1326,7 @@ (defpartgroup group-village3-steam-puff-23 :id 493 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1842 :fade-after (meters 100) :falloff-to (meters 100) :period 1200 :length 126) + :parts ((sp-item 1842 :fade-after (meters 100) :falloff-to (meters 100) :period 1200 :length 126) (sp-item 1843 :fade-after (meters 100) :falloff-to (meters 100) :period 1560 :length 107) (sp-item 1844 :fade-after (meters 100) :falloff-to (meters 100) :period 1830 :length 120) (sp-item 1845 :fade-after (meters 100) :falloff-to (meters 100) :period 690 :length 110) @@ -1401,8 +1336,7 @@ ;; failed to figure out what this is: (defpart 1842 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-sound (static-sound-spec "steam-short" :num 0.02)) (sp-flt spt-scale-x (meters 0.4)) @@ -1429,8 +1363,7 @@ ;; failed to figure out what this is: (defpart 1843 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-sound (static-sound-spec "steam-short" :num 0.02)) (sp-flt spt-scale-x (meters 0.4)) @@ -1457,8 +1390,7 @@ ;; failed to figure out what this is: (defpart 1844 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-sound (static-sound-spec "steam-short" :num 0.02)) (sp-flt spt-scale-x (meters 0.4)) @@ -1485,8 +1417,7 @@ ;; failed to figure out what this is: (defpart 1845 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-sound (static-sound-spec "steam-short" :num 0.02)) (sp-flt spt-scale-x (meters 0.4)) @@ -1513,8 +1444,7 @@ ;; failed to figure out what this is: (defpart 1846 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-sound (static-sound-spec "steam-short" :num 0.02)) (sp-flt spt-scale-x (meters 0.4)) @@ -1543,8 +1473,7 @@ (defpartgroup group-village3-bottom-puff-25 :id 494 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 900 :length 126) + :parts ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 900 :length 126) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1260 :length 167) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 669 :length 150) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1920 :length 80) @@ -1556,8 +1485,7 @@ (defpartgroup group-village3-bottom-puff-27 :id 495 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1200 :length 126) + :parts ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1200 :length 126) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1080 :length 167) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1569 :length 150) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 990 :length 80) @@ -1569,8 +1497,7 @@ (defpartgroup group-village3-bottom-puff-28 :id 496 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1500 :length 126) + :parts ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1500 :length 126) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1470 :length 167) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1029 :length 150) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 720 :length 80) @@ -1582,8 +1509,7 @@ (defpartgroup group-village3-bottom-puff-29 :id 497 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1500 :length 126) + :parts ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1500 :length 126) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 2010 :length 167) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 999 :length 150) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 720 :length 80) @@ -1595,8 +1521,7 @@ (defpartgroup group-village3-bottom-puff-30 :id 498 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1500 :length 126) + :parts ((sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1500 :length 126) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 960 :length 167) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1869 :length 150) (sp-item 1847 :fade-after (meters 100) :falloff-to (meters 100) :period 1050 :length 80) @@ -1606,8 +1531,7 @@ ;; failed to figure out what this is: (defpart 1847 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.5) (sp-sound (static-sound-spec "steam-short" :num 0.02)) (sp-flt spt-y (meters 0.7)) @@ -1637,8 +1561,7 @@ (defpartgroup group-village3-lava-lava-20x20 :id 499 :bounds (static-bspherem 0 0 0 14) - :parts - ((sp-item 1850 :fade-after (meters 40) :falloff-to (meters 40)) + :parts ((sp-item 1850 :fade-after (meters 40) :falloff-to (meters 40)) (sp-item 1851 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 1852 :fade-after (meters 80) :falloff-to (meters 80) :binding 1848) (sp-item 1848 :flags (start-dead)) @@ -1658,8 +1581,7 @@ ;; failed to figure out what this is: (defpart 1851 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 0.2) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0.5)) @@ -1686,8 +1608,7 @@ ;; failed to figure out what this is: (defpart 1853 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.5) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0)) @@ -1708,8 +1629,7 @@ ;; failed to figure out what this is: (defpart 1852 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 0.02 0.02 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0)) @@ -1732,8 +1652,7 @@ ;; failed to figure out what this is: (defpart 1850 - :init-specs - ((sp-flt spt-num 1.0) + :init-specs ((sp-flt spt-num 1.0) (sp-rnd-flt spt-x (meters -10) (meters 20) 1.0) (sp-flt spt-y (meters 0.5)) (sp-rnd-flt spt-z (meters -10) (meters 20) 1.0) @@ -1755,20 +1674,17 @@ ;; failed to figure out what this is: (defpart 1856 - :init-specs - ((sp-flt spt-fade-b 16.384)) + :init-specs ((sp-flt spt-fade-b 16.384)) ) ;; failed to figure out what this is: (defpart 1855 - :init-specs - ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 1857)) + :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 1857)) ) ;; failed to figure out what this is: (defpart 1857 - :init-specs - ((sp-flt spt-fade-r -0.85333335) + :init-specs ((sp-flt spt-fade-r -0.85333335) (sp-flt spt-fade-g -0.42666668) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 1858) @@ -1777,14 +1693,12 @@ ;; failed to figure out what this is: (defpart 1858 - :init-specs - ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a -0.10666667)) + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a -0.10666667)) ) ;; failed to figure out what this is: (defpart 1848 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.7) (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.25) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1802,8 +1716,7 @@ ;; failed to figure out what this is: (defpart 1849 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 1.0 6.0 1.0) (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -1825,8 +1738,7 @@ (defpartgroup group-village3-sagehut-warpgate :id 500 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1861 :fade-after (meters 60) :falloff-to (meters 60)) + :parts ((sp-item 1861 :fade-after (meters 60) :falloff-to (meters 60)) (sp-item 1862 :fade-after (meters 60) :falloff-to (meters 100) :binding 1859) (sp-item 1859 :flags (bit1 start-dead launch-asap)) (sp-item 1859 :flags (bit1 start-dead launch-asap)) @@ -2006,8 +1918,7 @@ ;; failed to figure out what this is: (defpart 1863 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 0.25) (sp-flt spt-x (meters -2)) (sp-flt spt-scale-x (meters 0.25)) @@ -2023,8 +1934,7 @@ ;; failed to figure out what this is: (defpart 1860 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) (sp-rnd-flt spt-num 1.0 0.2 1.0) (sp-flt spt-x (meters 3.1111112)) (sp-flt spt-y (meters 4)) @@ -2048,8 +1958,7 @@ ;; failed to figure out what this is: (defpart 1861 - :init-specs - ((sp-rnd-flt spt-num 5.0 5.0 1.0) + :init-specs ((sp-rnd-flt spt-num 5.0 5.0 1.0) (sp-flt spt-x (meters -0.5)) (sp-int spt-rot-x 5) (sp-flt spt-r 4096.0) @@ -2067,8 +1976,7 @@ ;; failed to figure out what this is: (defpart 1862 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-rnd-flt spt-num 0.4 1.0 1.0) (sp-flt spt-scale-x (meters 0.25)) (sp-copy-from-other spt-scale-y -4) @@ -2082,8 +1990,7 @@ ;; failed to figure out what this is: (defpart 1859 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.4 1.0) (sp-flt spt-x (meters 3.1111112)) (sp-flt spt-y (meters 4)) @@ -2110,14 +2017,12 @@ (defpartgroup group-village3-sagehut-boiling :id 501 :bounds (static-bspherem 0 0 0 6) - :parts - ((sp-item 1864 :fade-after (meters 60) :flags (is-3d)) (sp-item 1865 :fade-after (meters 60) :flags (is-3d))) + :parts ((sp-item 1864 :fade-after (meters 60) :flags (is-3d)) (sp-item 1865 :fade-after (meters 60) :flags (is-3d))) ) ;; failed to figure out what this is: (defpart 1864 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 1.0 0.5 1.0) (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) (sp-flt spt-y (meters -2)) @@ -2145,14 +2050,12 @@ ;; failed to figure out what this is: (defpart 1866 - :init-specs - ((sp-flt spt-fade-a -0.2)) + :init-specs ((sp-flt spt-fade-a -0.2)) ) ;; failed to figure out what this is: (defpart 1865 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) (sp-flt spt-num 1.0) (sp-flt spt-y (meters -0.5)) (sp-flt spt-z (meters -0.26)) @@ -2174,8 +2077,7 @@ (defpartgroup group-village3-sagehut-steam :id 502 :bounds (static-bspherem 0 0 0 4) - :parts - ((sp-item 1867 :fade-after (meters 60) :falloff-to (meters 60) :period 1200 :length 126) + :parts ((sp-item 1867 :fade-after (meters 60) :falloff-to (meters 60) :period 1200 :length 126) (sp-item 1867 :fade-after (meters 60) :falloff-to (meters 60) :period 1560 :length 107) (sp-item 1867 :fade-after (meters 60) :falloff-to (meters 60) :period 1830 :length 120) (sp-item 1867 :fade-after (meters 60) :falloff-to (meters 60) :period 690 :length 110) @@ -2185,8 +2087,7 @@ ;; failed to figure out what this is: (defpart 1867 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 1.0) (sp-sound (static-sound-spec "steam-short" :num 0.02)) (sp-flt spt-scale-x (meters 0.3)) @@ -2215,8 +2116,7 @@ (defpartgroup group-village3-sagehut-understeam :id 503 :bounds (static-bspherem 0 -3 0 8) - :parts - ((sp-item 1868 :fade-after (meters 200) :falloff-to (meters 200) :period 1200 :length 126) + :parts ((sp-item 1868 :fade-after (meters 200) :falloff-to (meters 200) :period 1200 :length 126) (sp-item 1868 :fade-after (meters 200) :falloff-to (meters 200) :period 1560 :length 107) (sp-item 1868 :fade-after (meters 200) :falloff-to (meters 200) :period 1830 :length 120) (sp-item 1868 :fade-after (meters 200) :falloff-to (meters 200) :period 690 :length 110) @@ -2226,8 +2126,7 @@ ;; failed to figure out what this is: (defpart 1868 - :init-specs - ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-rnd-flt spt-num 4.0 4.0 1.0) (sp-sound (static-sound-spec "steam-short" :num 0.02)) (sp-flt spt-x (meters 1.5)) diff --git a/test/decompiler/reference/levels/village_common/oracle_REF.gc b/test/decompiler/reference/levels/village_common/oracle_REF.gc index f217df6da8..4626b08f25 100644 --- a/test/decompiler/reference/levels/village_common/oracle_REF.gc +++ b/test/decompiler/reference/levels/village_common/oracle_REF.gc @@ -52,8 +52,7 @@ :name "oracle-intro-2" :index 11 :parts 4 - :command-list - '((0 kill "pontoonten-20") + :command-list '((0 kill "pontoonten-20") (0 kill "pontoonten-19") (0 kill "pontoonten-18") (0 kill "pontoonten-15") @@ -236,14 +235,12 @@ ;; failed to figure out what this is: (defstate idle (oracle) :virtual #t - :exit - (behavior () + :exit (behavior () (stop! (-> self sound)) ((-> (method-of-type process-taskable idle) exit)) (none) ) - :trans - (behavior () + :trans (behavior () (update! (-> self sound)) ((-> (method-of-type process-taskable idle) trans)) (none) @@ -286,19 +283,9 @@ (ja-post) (when (not (task-closed? (the-as game-task (-> obj first-task)) (task-status need-resolution))) (vector<-cspace! s4-0 (-> obj node-list data 5)) - (let ((s3-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj right-eye-cell) - (ppointer->handle - (when s3-0 - (let ((t9-8 (method-of-type manipy activate))) - (t9-8 (the-as manipy s3-0) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s3-0 manipy-init s4-0 (-> obj entity) *fuel-cell-sg* (new 'static 'vector :w 4915.2)) - (-> s3-0 ppointer) - ) - ) - ) - ) + (set! (-> obj right-eye-cell) + (ppointer->handle (manipy-spawn s4-0 (-> obj entity) *fuel-cell-sg* (new 'static 'vector :w 4915.2) :to obj)) + ) (send-event (handle->process (-> obj right-eye-cell)) 'eval @@ -312,19 +299,9 @@ ) (when (not (task-closed? (the-as game-task (-> obj second-task)) (task-status need-resolution))) (vector<-cspace! s4-0 (-> obj node-list data 6)) - (let ((s3-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj left-eye-cell) - (ppointer->handle - (when s3-1 - (let ((t9-15 (method-of-type manipy activate))) - (t9-15 (the-as manipy s3-1) obj 'manipy (the-as pointer #x70004000)) - ) - (run-now-in-process s3-1 manipy-init s4-0 (-> obj entity) *fuel-cell-sg* (new 'static 'vector :w 4915.2)) - (-> s3-1 ppointer) - ) - ) - ) - ) + (set! (-> obj left-eye-cell) + (ppointer->handle (manipy-spawn s4-0 (-> obj entity) *fuel-cell-sg* (new 'static 'vector :w 4915.2) :to obj)) + ) (send-event (handle->process (-> obj left-eye-cell)) 'eval diff --git a/test/decompiler/reference/levels/village_common/villagep-obs_REF.gc b/test/decompiler/reference/levels/village_common/villagep-obs_REF.gc index 538dd07c4f..597b512d3c 100644 --- a/test/decompiler/reference/levels/village_common/villagep-obs_REF.gc +++ b/test/decompiler/reference/levels/village_common/villagep-obs_REF.gc @@ -46,14 +46,10 @@ ;; failed to figure out what this is: (defstate target-warp-in (target) - :event - target-generic-event-handler - :enter - (-> target-warp-out enter) - :exit - (-> target-warp-out exit) - :trans - (behavior () + :event target-generic-event-handler + :enter (-> target-warp-out enter) + :exit (-> target-warp-out exit) + :trans (behavior () (set! (-> self control transv x) (- (-> self control unknown-vector103 x) (-> self control unknown-vector102 x)) ) @@ -66,8 +62,7 @@ ) (none) ) - :code - (behavior ((arg0 vector) (arg1 vector)) + :code (behavior ((arg0 vector) (arg1 vector)) (clear-collide-with-as (-> self control)) (ja-channel-set! 0) (vector-reset! (-> self control transv)) @@ -121,23 +116,20 @@ (target-falling-anim -1 (seconds 0.33)) (none) ) - :post - target-no-move-post + :post target-no-move-post ) ;; failed to figure out what this is: (defstate idle (warp-gate) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hide) (go-virtual hidden) ) ) ) - :code - (behavior () + :code (behavior () (clear-pending-settings-from-process *setting-control* self 'allow-progress) (set! (-> self state-time) (-> *display* base-frame-counter)) (loop @@ -259,16 +251,14 @@ ;; failed to figure out what this is: (defstate active (warp-gate) :virtual #t - :enter - (behavior () + :enter (behavior () (set-setting! *setting-control* self 'allow-progress #f 0.0 0) (copy-settings-from-target! *setting-control*) (sound-play-by-name (static-sound-name "start-options") (new-sound-id) 1024 0 0 1 #t) (set! (-> self state-time) (-> *display* base-frame-counter)) (none) ) - :trans - (behavior () + :trans (behavior () (when (or (and (cpad-pressed? 0 triangle) (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (process-release? *target*) @@ -298,8 +288,7 @@ ) (none) ) - :code - (behavior () + :code (behavior () (local-vars (sv-112 int) (sv-128 int) (sv-144 int)) (let ((gp-0 (get-next-slot-up self (+ (-> self level-slot) -1)))) 0 @@ -441,8 +430,7 @@ ;; failed to figure out what this is: (defstate hidden (warp-gate) :virtual #t - :code - (the-as (function none :behavior warp-gate) anim-loop) + :code (the-as (function none :behavior warp-gate) anim-loop) ) ;; definition for function warp-gate-init-by-other @@ -692,8 +680,7 @@ ;; failed to figure out what this is: (defstate basebutton-up-idle (warp-gate-switch) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('touch 'attack) (when (pressable? self) @@ -709,8 +696,7 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((t9-0 (-> (method-of-type basebutton basebutton-up-idle) enter))) (if t9-0 @@ -719,8 +705,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) self) (set! (-> a1-0 num-params) 0) @@ -815,8 +800,7 @@ ;; failed to figure out what this is: (defstate basebutton-down-idle (warp-gate-switch) :virtual #t - :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('hide) (send-event (handle->process (-> self warp)) arg2) @@ -826,21 +810,9 @@ ) ) ) - :enter - (behavior () + :enter (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((gp-0 (get-process *default-dead-pool* warp-gate #x4000))) - (set! (-> self warp) - (ppointer->handle (when gp-0 - (let ((t9-1 (method-of-type warp-gate activate))) - (t9-1 (the-as warp-gate gp-0) self 'warp-gate (the-as pointer #x70004000)) - ) - (run-now-in-process gp-0 warp-gate-init-by-other (-> self notify-actor extra trans)) - (-> gp-0 ppointer) - ) - ) - ) - ) + (set! (-> self warp) (ppointer->handle (process-spawn warp-gate (-> self notify-actor extra trans) :to self))) (process-entity-status! self (entity-perm-status complete) #t) (let ((t9-4 (-> (method-of-type basebutton basebutton-down-idle) enter))) (if t9-4 @@ -849,8 +821,7 @@ ) (none) ) - :exit - (behavior () + :exit (behavior () (let ((a0-1 (handle->process (-> self warp)))) (if a0-1 (deactivate a0-1) @@ -863,8 +834,7 @@ ) (none) ) - :trans - (behavior () + :trans (behavior () (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 60)) (case (-> self entity extra perm task) (((game-task training-door)) @@ -894,8 +864,7 @@ ;; failed to figure out what this is: (defstate basebutton-going-down (warp-gate-switch) :virtual #t - :code - (behavior () + :code (behavior () (sound-play-by-name (static-sound-name "warpgate-butt") (new-sound-id) 1024 0 0 1 #t) (sound-play-by-name (static-sound-name "warpgate-act") (new-sound-id) 1024 0 0 1 #t) (let ((gp-2 (entity-actor-count (-> self entity) 'trigger-actor))) @@ -984,8 +953,7 @@ ;; failed to figure out what this is: (defstate idle (village-cam) :virtual #t - :code - (behavior () + :code (behavior () (local-vars (v1-18 symbol)) (loop (let ((v1-5 @@ -1110,33 +1078,25 @@ *entity-pool* (game-task none) ) - (let ((s5-0 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-0 - (let ((t9-23 (method-of-type pov-camera activate))) - (t9-23 (the-as pov-camera s5-0) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> self entity extra trans) - *village-cam-sg* - "firecanyon-cam" - 0 - #f - '((0 want-force-vis village1 #t) - (0 alive "money-2669") - (0 alive "money-2670") - (0 alive "money-2671") - (0 alive "money-2672") - (0 alive "money-2673") - (0 alive "money-2674") - (0 alive "money-2675") - (0 alive "money-2677") - (0 alive "money-2678") - ) - ) - (-> s5-0 ppointer) + (process-spawn + pov-camera + (-> self entity extra trans) + *village-cam-sg* + "firecanyon-cam" + 0 + #f + '((0 want-force-vis village1 #t) + (0 alive "money-2669") + (0 alive "money-2670") + (0 alive "money-2671") + (0 alive "money-2672") + (0 alive "money-2673") + (0 alive "money-2674") + (0 alive "money-2675") + (0 alive "money-2677") + (0 alive "money-2678") ) + :to self ) ) ((= v1-84 1) @@ -1147,33 +1107,25 @@ *entity-pool* (game-task none) ) - (let ((s5-1 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-1 - (let ((t9-27 (method-of-type pov-camera activate))) - (t9-27 (the-as pov-camera s5-1) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - s5-1 - pov-camera-init-by-other - (-> self entity extra trans) - *village-cam-sg* - "firecanyon-alt-cam" - 0 - #f - '((0 want-force-vis village1 #t) - (0 alive "money-2669") - (0 alive "money-2670") - (0 alive "money-2671") - (0 alive "money-2672") - (0 alive "money-2673") - (0 alive "money-2674") - (0 alive "money-2675") - (0 alive "money-2677") - (0 alive "money-2678") - ) - ) - (-> s5-1 ppointer) + (process-spawn + pov-camera + (-> self entity extra trans) + *village-cam-sg* + "firecanyon-alt-cam" + 0 + #f + '((0 want-force-vis village1 #t) + (0 alive "money-2669") + (0 alive "money-2670") + (0 alive "money-2671") + (0 alive "money-2672") + (0 alive "money-2673") + (0 alive "money-2674") + (0 alive "money-2675") + (0 alive "money-2677") + (0 alive "money-2678") ) + :to self ) ) ) @@ -1192,24 +1144,7 @@ *entity-pool* (game-task none) ) - (let ((gp-1 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-1 - (let ((t9-33 (method-of-type pov-camera activate))) - (t9-33 (the-as pov-camera gp-1) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-1 - pov-camera-init-by-other - (-> self entity extra trans) - *village-cam-sg* - "vi2-button-cam" - 0 - #f - '() - ) - (-> gp-1 ppointer) - ) - ) + (process-spawn pov-camera (-> self entity extra trans) *village-cam-sg* "vi2-button-cam" 0 #f '() :to self) ) ) ((= v1-79 3) @@ -1221,24 +1156,7 @@ *entity-pool* (game-task none) ) - (let ((gp-2 (get-process *default-dead-pool* pov-camera #x4000))) - (when gp-2 - (let ((t9-38 (method-of-type pov-camera activate))) - (t9-38 (the-as pov-camera gp-2) self 'pov-camera (the-as pointer #x70004000)) - ) - (run-now-in-process - gp-2 - pov-camera-init-by-other - (-> self entity extra trans) - *village-cam-sg* - "vi3-button-cam" - 0 - #f - '() - ) - (-> gp-2 ppointer) - ) - ) + (process-spawn pov-camera (-> self entity extra trans) *village-cam-sg* "vi3-button-cam" 0 #f '() :to self) ) ) ) diff --git a/test/decompiler/test_DataParser.cpp b/test/decompiler/test_DataParser.cpp index 9870bc0e6d..f4bfb31f85 100644 --- a/test/decompiler/test_DataParser.cpp +++ b/test/decompiler/test_DataParser.cpp @@ -210,12 +210,7 @@ TEST_F(DataDecompTest, VifDisasmArray) { auto decomp = decompile_at_label_guess_type(parsed.label("L148"), parsed.labels, {parsed.words}, dts->ts, nullptr); check_forms_equal(decomp.print(), - "(new 'static 'boxed-array :type\n" - " vif-disasm-element\n" - " :length\n" - " 3\n" - " :allocated-length\n" - " 3\n" + "(new 'static 'boxed-array :type vif-disasm-element\n" " (new 'static 'vif-disasm-element :mask #x7f :string1 \"nop\")\n" " (new 'static 'vif-disasm-element :mask #x7f :tag (vif-cmd-32 stcycl) :print " "#x2 :string1 \"stcycl\")\n" @@ -405,4 +400,4 @@ TEST_F(DataDecompTest, ReverseArtExt) { input.offset = 108; result = dts->ts.reverse_field_multi_lookup(input); EXPECT_EQ(result.results.at(0).tokens.at(2).print(), "type"); -} \ No newline at end of file +}